Пытаюсь понять пинг

10

Я программирую класс Reachability, который проверяет, является ли IP-адрес действительным и доступным. Я написал модульный тест, чтобы проверить, нормально ли работает мой класс, и тогда это случилось. Я протестировал с IP-адресом 192.168.1.255, который, по моему мнению, был недоступен в моей сети, но я получил IsReachable = true. Ха ... как это возможно?

Хорошо, у меня есть базовый уровень. Я могу использовать приложение ping, которое поставляется с Windows. Вот результат этого теста

# ping 192.168.1.255

Pinging 192.168.1.255 with 32 bytes of data:
Reply from 192.168.1.200: bytes=32 time<1ms TTL=64
Reply from 192.168.1.200: bytes=32 time<1ms TTL=64
Reply from 192.168.1.200: bytes=32 time<1ms TTL=64
Reply from 192.168.1.200: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.1.255:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

Становится еще страннее

# ping 192.168.1.253

Pinging 192.168.1.253 with 32 bytes of data:
Reply from 192.168.1.27: Destination host unreachable.
Reply from 192.168.1.25: Destination host unreachable.
Reply from 137.224.244.1: Destination net unreachable.
Reply from 137.224.244.1: Destination net unreachable.

Ping statistics for 192.168.1.253:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Что здесь происходит? Может кто-нибудь объяснить мне, что означает этот результат?

РЕДАКТИРОВАТЬ ДОБАВЛЕНО IPCONFIG

ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : DESKTOP-CB16LLI
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : wurnet.nl
                                       home

Ethernet adapter Ethernet 3:

   Connection-specific DNS Suffix  . : wurnet.nl
   Description . . . . . . . . . . . : NCP Secure Client Virtual NDIS6 Adapter
   Physical Address. . . . . . . . . : 02-00-AD-4F-70-18
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 137.224.245.97(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : vrijdag 30 maart 2018 08:20:26
   Lease Expires . . . . . . . . . . : donderdag 17 mei 2018 21:25:51
   Default Gateway . . . . . . . . . :
   DHCP Server . . . . . . . . . . . : 137.224.245.98
   DNS Servers . . . . . . . . . . . : 10.90.3.31
                                       10.91.3.31
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet 1:

   Connection-specific DNS Suffix  . : home
   Description . . . . . . . . . . . : Surface Ethernet Adapter
   Physical Address. . . . . . . . . : C4-9D-ED-E8-5D-1E
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.27(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : vrijdag 30 maart 2018 08:12:39
   Lease Expires . . . . . . . . . . : zaterdag 31 maart 2018 08:12:50
   Default Gateway . . . . . . . . . : 192.168.1.254
   DHCP Server . . . . . . . . . . . : 192.168.1.254
   DNS Servers . . . . . . . . . . . : 192.168.1.254
   NetBIOS over Tcpip. . . . . . . . : Enabled

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
   Physical Address. . . . . . . . . : BE-83-85-E7-C5-48
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
   Physical Address. . . . . . . . . : BC-83-85-E7-C4-4A
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : home
   Description . . . . . . . . . . . : Marvell AVASTAR Wireless-AC Network Controller
   Physical Address. . . . . . . . . : BC-83-85-E7-C4-49
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::49ca:6fd:8fa4:a099%3(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.25(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : vrijdag 30 maart 2018 08:12:49
   Lease Expires . . . . . . . . . . : zaterdag 31 maart 2018 08:13:08
   Default Gateway . . . . . . . . . : 192.168.1.254
   DHCP Server . . . . . . . . . . . : 192.168.1.254
   DHCPv6 IAID . . . . . . . . . . . : 79463301
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-4C-14-89-C4-9D-ED-E8-5D-1E
   DNS Servers . . . . . . . . . . . : fe80::2aff:3eff:fe3d:f5%3
                                       192.168.1.254
   NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter Local Area Connection* 11:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Teredo Tunneling Adapter
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

РЕДАКТИРОВАТЬ Выше пинги были с открытым VPN-соединением. Ниже с закрытым VPN-соединением

ping 192.168.1.253

Pinging 192.168.1.253 with 32 bytes of data:
Reply from 192.168.1.27: Destination host unreachable.
Reply from 192.168.1.27: Destination host unreachable.
Reply from 192.168.1.27: Destination host unreachable.
Reply from 192.168.1.27: Destination host unreachable.
Пол Синнема
источник
Обратите внимание, что у вас есть два интерфейса (Ethernet 1 и Wi-Fi) в одной сети, что обычно является хорошим способом решения многих странных проблем. Я рекомендую вам подключаться только вкл.
jcaron
1
@jcaron Я считаю, что гораздо лучше научить ОП работать с несколькими интерфейсами. Класс должен научить его чему-то правильному? Вы не можете зайти в серверную стойку и выключить все интерфейсы, кроме одного, для проверки доступности ... учитывая, что вы можете войти с одного и вам нужно протестировать другой; или если у вас есть виртуальные интерфейсы (например, какой-нибудь контейнер докеров и т. д.), они могут иногда кусаться. Таким образом, ваше «исправление» работает только в тривиальных ситуациях, когда тестирование достижимости не является проблемой.
Бакуриу
Трудно ответить однозначно, не видя таблицу маршрутизации, тем более что у вас есть два адаптера в одной подсети.
Ex Umbris

Ответы:

10

0и 255не являются действительными адресами для компьютера в сети подсети 255.255.255.0.

255 - это «широковещательный» адрес, а 0 - «сетевой адрес».

Связанное чтение Почему IP-адреса не могут начинаться с 0 или 255? , Ответ относится к широкому регистру широких IP-адресов, но правило применяется и к адресам подсетей, поэтому для подсети 255.255.255.0 первый и последний IP-адреса зарезервированы.


Что касается пинга .253... в вашем первом пинге, по сути, он спрашивает у каждого сетевого адаптера, есть ли у него маршрут к хосту.

В двух случаях они ответили, Destination host unreachable.что, по сути, гласит: «Если бы это было здесь, то мы бы дали вам знать, но это по какой-то причине недоступно»

Более странным является шлюз VPN-сети, который вместо этого говорит, что Destination net unreachable.в данном случае он говорит, что из-за подсетей и других факторов у него нет абсолютно никакой возможности общаться с любой машиной в этой сети.

Ваш последний пинг выглядит так, как я ожидал увидеть. Ваш локальный сетевой адаптер просто сообщает вам, что адрес недоступен.

Мокубай
источник
Хорошо, спасибо. Не знал этого. Как сказал «парик», любой хозяин может ответить и даже солгать звонящему. Это то, что происходит с 253 в адресе?
Пол Синнема
У вас есть несколько сетевых интерфейсов на этом компьютере? Даже виртуальные? Ping может запрашивать все шлюзы, которые он знает, и получает недостижимые ответы.
Мокубай
Добавлен вывод ipconfig / all. 1 Адрес близок, но не совсем совпадает (137.224.245.97)
Пол Синнема
Другие 2 192.168.1.25 и 27 определенно доступны на 80-м порту моей сети (IIS)
Пол Синнема
Очевидно, что самый странный ответ заключается в 137.224.244.1том, что я могу приписать только неправильно настроенный шлюз, который пропускает пакет 192.168.xx в WAN.
парик
1

Протокол ICMP работает непосредственно поверх IPv4 (в данном случае). У него другие правила маршрутизации, чем у одноадресного UDP или TCP. В основном любой хост, который видел ICMP-пакет, может ответить (и даже лгать).

Так что это не просто ответы по месту назначения, которые вы видите в количестве полученных пакетов.

wigy
источник
Хорошо, ICMP - это вид трансляции, который могут видеть все хосты? Поэтому, когда я хочу быть уверенным, я должен проверить ответ и сравнить IP-адреса?
Пол Синнема
Адрес 192.168.1.255действительно передавался всем машинам за вашим маршрутизатором. Все 0 и все 1 в подсети являются специальными, и их обработка определяется в протоколе IPv4. В этом случае все хозяева чувствуют себя решенными.
парик
1
@PaulSinnema: ICMP - это не широковещательная рассылка, а адрес, который вы использовали (именно поэтому он не является действительным адресом для отдельных устройств). Этот ответ отчасти запутывает два понятия.
Гонки
Здесь нет "разных правил маршрутизации". TCP не разрешается использовать широковещательные адреса (это не имеет смысла, так как он должен устанавливать соединения точка-точка), но UDP, безусловно, есть.
Barmar