Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Особенность утилиты ping (http://forum.oszone.net/showthread.php?t=327395)

The_Immortal 07-06-2017 11:07 2742634

Особенность утилиты ping
 
Здравствуйте!

Господа, давно хотел узнать почему виндовый ping (ну может не только виндовый - не проверял) при постоянном обращении к определенному хосту по доменному имени показывает некорректный IP, в случае если хост периодически меняет IP?

У меня настроен пинг на постоянной основе по постоянному доменному имени, который периодически меняет IP. Т.е. запустил я пинг по доменному имени - вижу корректyый резолвинг IP. Прошло, скажем, половина дня - IP на хосте поменялся... Пинг дальше идет и получает ответ от предыдущего IP-адреса. Получает он его до тех пор, пока ты команду не перезапустишь. Как только выполняется рестарт пинга - IP определяется корректно.

Поясните, пожалуйста, почему так? И можно ли это как-то исправить?

Petya V4sechkin 07-06-2017 11:16 2742638

The_Immortal, можно вместо опции -t использовать опцию -n число в цикле, например:
Код:

@Echo Off
:Loop
Ping -n 10 google.com
GoTo :Loop


The_Immortal 07-06-2017 11:27 2742641

Petya V4sechkin, а это число ограничено? Мне по сути нужно бесконечно пинговать с интервалом в 1 сек. Это ж какое число тогда там ставить? :)

Petya V4sechkin 07-06-2017 11:29 2742642

The_Immortal, а вы вставьте эти четыре строчки в CMD-файл, запустите и увидите, как это работает.

The_Immortal 07-06-2017 12:31 2742665

Petya V4sechkin, упс, а бесконечный цикл я и не увидел :) Проблема в том, что я для пинга использую Ping Tester, а там, к сожалению, такой настройки нет :(

А всё же
Цитата:

Цитата The_Immortal
Поясните, пожалуйста, почему так? »

Почему пинг не очухивается, что IP изменился в одном бесконечном цикле?

Petya V4sechkin 07-06-2017 12:45 2742670

Цитата:

Цитата The_Immortal
Почему пинг не очухивается, что IP изменился

Это называется "By design". То есть, программист так написал код утилиты Ping, что адрес определяется один раз в начале (обычно этого достаточно).

Казбек 07-06-2017 12:56 2742673

Цитата:

Цитата The_Immortal
И можно ли это как-то исправить? »

Можно предложить вам другие варианты решения (если, конечно, они вас интересуют, а вопрос не сводится к праздному "почему?"). Вот только бы знать, какую конечную цель вы преследуете, пингуя этот домен?

Iska 07-06-2017 13:38 2742682

Цитата:

Цитата Казбек
Вот только бы знать, какую конечную цель вы преследуете, пингуя этот домен? »

Наличие соединения с «ентим вашим ентернетом» ;)?!

The_Immortal 07-06-2017 14:03 2742684

Казбек,
Цитата:

Цитата Казбек
Вот только бы знать, какую конечную цель вы преследуете, пингуя этот домен? »

На самом деле всё банально и уважаемый Iska правильно предположил. Есть проблемы с провайдером, а именно со стабильностью интернета. Интернет поступает по волокну на девайс Hauwei HG8120H, а оттуда раздается на роутер TL-WR841N. Мне необходимо детектировать разрывы связи. К сожалению, ни HG8120H, ни TL-WR841N в логах разрывы не указывают. Точнее последний указывает, но он указывает на разрывы с его "родителем", что несет бессмысленную информацию.

IP-адрес провайдер выдает динамический, но меняет его то через 12 часов, то через 24, то через 26 - нестабильно. Поэтому я прикрутил DDNS и пингую его извне (при этом еще параллельно пингуется всегда доступный ресурс, дабы знать что со стороны клиента (откуда идет пинг) всё в порядке). В качестве выхода мне нужно получать отчет в любой момент времени, где видна история всего пинга по дате и времени, средний пинг, максимальный, кол-во потерянных пакетов. Все это позволяет сделать вышеназванное ПО, которое в любой момент времени делает экспорт в CSV-файл, где можно через разделитель всё аккуратенько раскидать по отдельным столбцам и анализировать. Но только вот это ПО долбит, как оказывается, "по дизайну". Я, конечно, напишу разработчику по поводу постоянно пинга доменных имен с динамическим IP - понятно, что это проблема утилиты, но с другой стороны это же их ПО и оно показывает некорректную работу :)

Всё вышеобозначенное можно сделать самостоятельно и я даже как-то задавался подобным (раз и два), но довести до ума стало лень и я забросил. По сути нужен аналог Ping Tester'а (ибо он делает то, что надо), а на создание подобного дофига времени уйдет...

Казбек 07-06-2017 15:18 2742705

The_Immortal,

А такая штука вам не пойдёт??

BoBaH 13 07-06-2017 23:59 2742845

Цитата:

Цитата The_Immortal
Интернет поступает по волокну на девайс HG8120H, а оттуда раздается на роутер TL-WR841N. »

А если проверить отдельно 841-й отдельно?
Цитата:

Цитата The_Immortal
HG8120H »

Он стоит ранее как свитч?

The_Immortal 08-06-2017 02:32 2742855

Казбек, несовсем то, что надо. Минимальный интервал проверки составляет 10 минут. Для установки более частого надо писать разработчику... Да и не в этом проблема. Программа задумана мерить скорость, а это лишняя нагрузка - ни к чему. У меня первична доступность канала, а не его пропускная способность.

BoBaH 13,
Цитата:

Цитата BoBaH 13
Он стоит ранее как свитч? »

Угу.
Цитата:

Цитата BoBaH 13
А если проверить отдельно 841-й отдельно? »

Цитата:

Цитата The_Immortal
К сожалению, ни HG8120H, ни TL-WR841N в логах разрывы не указывают. Точнее последний указывает, но он указывает на разрывы с его "родителем", что несет бессмысленную информацию. »

Вот пример лога с HG8120H:
Скрытый текст
Код:

1970-01-01 00:00:19 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:56 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset by the software, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:08:49 [Error][Alarm-Log] AlarmID:404524,AlarmLevel:Error,DHCP OPTION43 changes the ACS URL: http://acs.nwtelecom.ru:7547
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:16 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:16:00 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
1970-01-01 00:18:31 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
1970-01-01 00:19:48 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
1970-01-01 00:00:17 [Error][Alarm-Log] AlarmID:104001,AlarmLevel:Error,Device reset. Cause: ONU reset after being powered on, Terminal:OTHER
2017-06-06 02:09:01 [Error][Alarm-Log] AlarmID:104032,AlarmLevel:Error,Administrator exceeded maximum number of attempted logins.Terminal:WEB
2017-06-06 02:10:01 [Error][Alarm-Log] AlarmID:104519,AlarmLevel:Error,[WEB]unlocked!
2017-06-06 02:10:26 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 02:12:05 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,DMZ:1.1.1,DMZEnable:0,DMZHostIPAddress:192.168.100.2
2017-06-06 02:12:48 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,PortTrigger:1.1.1,Enable:1,TriggerPort:5900,TriggerPortEnd:5900,TriggerProtocol:TCP,OpenPort:5900,OpenPortEnd:5900,OpenProtocol:TCP
2017-06-06 02:14:25 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Delete,DMZ:1.1.1
2017-06-06 02:14:41 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Delete,PortTrigger:1.1.1.1
2017-06-06 02:16:19 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,PortMapping:1.1.1,PortMappingEnabled:1,PortMappingDescription:VNC,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 02:16:19 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,Portlist:1.1.1.1,Protocol:TCP,InternalPort:5900:5900,ExternalPort:5900:5900
2017-06-06 02:18:33 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,PortMapping:1.1.1.1,PortMappingEnabled:1,PortMappingDescription:VNC,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 02:18:33 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,Portlist:1.1.1.1.1,Protocol:TCP,InternalPort:5990:5990,ExternalPort:5990:5990,ExternalSrcPort:
2017-06-06 02:21:07 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 03:05:05 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 03:08:42 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 03:21:57 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 03:25:17 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,DHCPStaticAddress:1,Yiaddr:192.168.100.2,Chaddr:c4:6e:1f:65:72:b9,Enable:1
2017-06-06 03:28:08 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 03:45:23 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 03:54:54 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 04:38:34 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 04:39:09 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,PortMapping:1.1.1,PortMappingEnabled:1,PortMappingDescription:,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 04:39:09 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,Portlist:1.1.1.2,Protocol:TCP,InternalPort:80:80,ExternalPort:80:80
2017-06-06 04:40:30 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 04:47:45 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 04:48:34 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,PortMapping:1.1.1,PortMappingEnabled:1,PortMappingDescription:WoL,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 04:48:34 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,Portlist:1.1.1.3,Protocol:UDP,InternalPort:9:9,ExternalPort:9:9
2017-06-06 04:48:50 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,PortMapping:1.1.1.2,PortMappingEnabled:1,PortMappingDescription:HTTP,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 04:50:01 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-06 04:56:51 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-06 04:57:32 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,PortMapping:1.1.1.3,PortMappingEnabled:1,PortMappingDescription:WoL,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 04:57:32 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,Portlist:1.1.1.3.1,Protocol:TCP/UDP,InternalPort:9:9,ExternalPort:9:9,ExternalSrcPort:
2017-06-06 05:00:45 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,PortMapping:1.1.1.1,PortMappingEnabled:0,PortMappingDescription:VNC,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 05:02:45 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,PortMapping:1.1.1.1,PortMappingEnabled:1,PortMappingDescription:VNC,InternalClient:192.168.100.2,RemoteHost:,X_HW_RemoteHostRange:
2017-06-06 05:03:07 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-07 10:35:03 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root
2017-06-07 10:42:46 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Add,DDNSConfiguration:1.1.1,DDNSCfgEnabled:1,DDNSProvider:dyndns,DDNSUsername:immick,DDNSPassword:-,ServicePort:80,...
2017-06-07 10:44:54 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Set,DDNSConfiguration:1.1.1.1,DDNSCfgEnabled:1,DDNSProvider:dyndns,DDNSUsername:immick,ServicePort:80,DDNSDomainName:imm.dlinkddns.com,...
2017-06-07 10:51:29 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Logout,Username:root
2017-06-08 03:29:38 [Critical][Config-Log] Terminal:WEB(192.168.100.2),Result:Success,Type:Login,Username:root

Как видите, там ни слово про коннекты/дисконнекты. А TL-WR841N про Интернет, грубо говоря, вообще ничего не знает.

BoBaH 13 08-06-2017 08:03 2742870

Цитата:

Цитата The_Immortal
А TL-WR841N про Интернет, грубо говоря, вообще ничего не знает »

Поставь на него Ultra Lite. После прошивки будет ~680кб свободно что для этого роутера достаточно хорошо.
Возможностей логирования больше родного.
Скрытый текст

The_Immortal 08-06-2017 15:55 2742955

BoBaH 13, спасибо за информацию, но Вы, видимо, меня не поняли или я плохо пояснил. TL-WR841N не может знать ни про какое PPPoE-соединение (с Интернетом), т.к. это соединение поднимается на HG8120H. TL-WR841N с HG8120H соединен посресдтвом IPoE.

Или если поставить указанную Вами прошивку, то TL-WR841N будет видеть и PPPoE-сессию каким-то чудом?

BoBaH 13 08-06-2017 16:58 2742969

The_Immortal,
HG8120H снять и оставить только TL-WR841N. Что бы 841-й и с провайдером коннектился и свитчем был.

The_Immortal 08-06-2017 18:17 2742992

BoBaH 13,
Цитата:

Цитата BoBaH 13
HG8120H снять и оставить только TL-WR841N »

Так на HG8120H приходит оптика, т.к. это оптический терминал. Как я вместо него поставлю TL-WR841N? :)

ivan_krasnoyarov@vk 08-06-2017 21:44 2743031

А что если сделать так: написать в Блокноте
Код:

ping google.com -t
и потом сохранить текстовый файл как CMD?

Iska 08-06-2017 22:46 2743040

ivan_krasnoyarov@vk, с этого всё и начиналось ;).


Время: 00:26.

Время: 00:26.
© OSzone.net 2001-