簡而言之,ping 192.168.1.18
會被重定向到192.168.1.199
(或中的其他一些隨機 IP 位址192.168.1.x
)的可能原因是什麼?
--
這是完整的故事。
我家裡有一台網路印表機、一台NAS、三台電腦。網路設定如下所示:
有一天,其中一台電腦無法連接到印表機。後來我發現從那台計算機執行 ping 操作會產生奇怪的結果:
C:\>ping 192.168.1.8
Pinging 192.168.1.8 with 32 bytes of data:
Reply from 192.168.1.8: bytes=32 time=4ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64
Ping statistics for 192.168.1.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 4ms, Average = 2ms
C:\>ping 192.168.1.18
Pinging 192.168.1.18 with 32 bytes of data:
Reply from 192.168.1.199: Destination host unreachable. <------- why .199 instead of .18 ??
Reply from 192.168.1.199: Destination host unreachable.
Reply from 192.168.1.199: Destination host unreachable.
Reply from 192.168.1.199: Destination host unreachable.
Ping statistics for 192.168.1.18:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), <---- and why received=4 but not lost?
C:\>
該問題似乎與我連接到哪個無線 AP 無關。另外,我在家裡的其他計算機上也沒有看到同樣的問題。
--
這些資訊應該是無關緊要的。我把它放在這裡只是為了以防萬一它給出提示。
- 路由器:華碩 RT-AC88U + 華碩 RT-AC68U
- 印表機:HP Color LaserJet Pro
- 作業系統:Windows 10(家裡其他電腦運行Windows 10和11)
答案1
沒有任何內容被“重定向”,您只是誤解了 ping 命令的輸出。
為什麼是 0.199 而不是 0.18
這是第一個誤解。它說Reply from 192.168.1.199
。通俗地說:響應(“來自192.168.1.199
”)來自執行 ping 操作的設備(如果不涉及路由器,則會發生這種情況,例如,如果目標設備與執行 ping 操作的設備位於同一子網中)或來自路由器”負責」目標的IP/子網路(如果目標設備位於不同的子網路上且必須進行路由)。如果您考慮一下,它不可能是回复,.18
因為該設備無法訪問,因此無法給出回复。
為什麼收到=4但沒有遺失?
這是第二個誤解,Reply from *.*.*.*: Destination host unreachable
不是算lost
而是算received
(畢竟它說的是「Reply from...
」)。輸出Request timed out
將計為lost
.
您可以透過對 LAN 上連接的裝置執行 ping 操作並在執行 ping 操作時拔下目標裝置來進行測試。然後你會得到Request timed out
。如果您清除 ARP 表(arp -d *
在 Windows 中)並再次 ping 設備,您應該會收到該Destination host unreachable
訊息。通俗地說,這是因為清除 ARP 表後,將不再有與 IP 位址關聯的 MAC 位址,因此 ping 「無法發送出去」。
是的,我同意這不是很直觀,考慮到你的期望(也可能是大多數其他用戶的期望),但如果你考慮到它的工作原理(ARP 解析、路由等),它或多或少有意義。