Ощущение у меня, что оно сначала идет в какой нибудь там WINS и там пытается резолвить, или еще как-то. Попробуйте варешарком протрейсить ВСЮ работу сети, и посмотреть что происходит между запросом и посылкой первого запроса на DNS.
Стрейсом вы ничего не поймаете.
Проблема с reverse DNS запросами на клиенте
-
- Уже с Приветом
- Posts: 38016
- Joined: 14 Dec 2006 20:13
- Location: USA
-
- Новичок
- Posts: 82
- Joined: 18 Feb 2007 20:50
- Location: Moscow
Re: Проблема с reverse DNS запросами на клиенте
Между вводом команды ping -a и посылкой первого запроса на DNS - никакой задержки нет (если быть предельно точным, то это сложно замерить, тут субъективный фактор вмешивается. Я замерял так - запускал WireShark, переключался в другое окно, запускал ping -a. Судя по тому, что запрос к DNS был на 2.13 секунде - вот эти 2 секунды можно списать на переключение между окнами. При запросе на уровне приложения с другого сервера тоже видно, что идет установка соединения, потом сразу же DNS запрос, потом задержка, и начинают посылаться данные)StrangerR wrote: 17 Apr 2018 06:46 Ощущение у меня, что оно сначала идет в какой нибудь там WINS и там пытается резолвить, или еще как-то. Попробуйте варешарком протрейсить ВСЮ работу сети, и посмотреть что происходит между запросом и посылкой первого запроса на DNS.
Задержка возникает после получения DNS ответа и и между отправкой первого ICMP запроса.
На скриншоте на предыдущей странице видно, что
на 2.13 секунде идет запрос к DNS типа PTR
на 2.13 секунде идет ответ от DNS сервера (ip-адрес разрешен в имя)
на 6.89 секунде идет посылка первого ICMP запроса.
-
- Новичок
- Posts: 82
- Joined: 18 Feb 2007 20:50
- Location: Moscow
Re: Проблема с reverse DNS запросами на клиенте
Тогда этот вариант пока отпадает, к сожалению...Palych wrote: 17 Apr 2018 01:34 Ping должен быть не виндовский, а построенный в cigwin
Сам cygwin все-таки надо будет поставить
-
- Уже с Приветом
- Posts: 13722
- Joined: 16 Jan 2001 10:01
Re: Проблема с reverse DNS запросами на клиенте
Там инсталлятор весьма гибкий, можно поставить в домашний каталог.
Но он качает всё с тырнета (не помню можно ли это поменять)...
Идея в том чтобы посмотреть где ping замирает и попробовать догадаться чего он ждёт.
-
- Уже с Приветом
- Posts: 19935
- Joined: 30 Aug 2000 09:01
- Location: WA
Re: Проблема с reverse DNS запросами на клиенте
Надо еще посмотреть логи на сервере - может быть там что-то интересное.
Так же, посмотрите на предмет фаревола - может он блокирует порт 53 и до приложения ответ никогда не доходит? (Wireshark использует raw socket)
Так же, посмотрите на предмет фаревола - может он блокирует порт 53 и до приложения ответ никогда не доходит? (Wireshark использует raw socket)
-
- Новичок
- Posts: 82
- Joined: 18 Feb 2007 20:50
- Location: Moscow
Re: Проблема с reverse DNS запросами на клиенте
В логах windows - ничего относящегося к DNS, разрешению имени, ошибок - не видно.uncle_Pasha wrote: 17 Apr 2018 15:27 Надо еще посмотреть логи на сервере - может быть там что-то интересное.
Так же, посмотрите на предмет фаревола - может он блокирует порт 53 и до приложения ответ никогда не доходит? (Wireshark использует raw socket)
Firewall - отключен.
-
- Новичок
- Posts: 82
- Joined: 18 Feb 2007 20:50
- Location: Moscow
Re: Проблема с reverse DNS запросами на клиенте
Проблема решилась присвоением значения 1 параметру:
В реестре:
Объяснение возможно следующее: согласно идее, DNS запрос посылается на всех интерфейсах, и первый пришедший ответ должен транслироваться приложению.
Но в силу реализации, DNS клиент ожидает ответа на всех интерфейсах (или timeout'a), и лишь после этого транслирует ответ приложению.
Этот параметр отключает это поведение и возвращает предыдущее поведение системы (запрос посылается с соответствующего интерфейса)
Code: Select all
DisableSmartNameResolution
Code: Select all
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
Но в силу реализации, DNS клиент ожидает ответа на всех интерфейсах (или timeout'a), и лишь после этого транслирует ответ приложению.
Этот параметр отключает это поведение и возвращает предыдущее поведение системы (запрос посылается с соответствующего интерфейса)