Я программирую класс Reachability, который проверяет, является ли IP-адрес допустимым и доступным. Я написал Unit Test, чтобы проверить, работает ли мой класс нормально или нет, и затем это произошло. Я протестировал с 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
EDIT Выше пинги были при открытом 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.
решение1
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.
в данном случае он говорит, что из-за подсетей и других факторов у него нет абсолютно никакой возможности связаться слюбоймашина в этой сети.
Ваш окончательный пинг выглядит так, как я и ожидал увидеть. Ваш локальный сетевой адаптер просто сообщает вам, что адрес недоступен.
решение2
Протокол ICMP работает непосредственно поверх IPv4 (в данном случае). Он имеет другие правила маршрутизации, чем unicast UDP или TCP. По сути, любой хост, который видел пакет ICMP, может ответить (и даже солгать).
Таким образом, в количестве полученных пакетов вы видите не только ответы от пункта назначения.