我有手機並且熱點已打開。我透過 Linux 筆記型電腦連接到該熱點。
現在在我的 Linux 電腦上執行命令
$ netstat -r -n
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.43.1 0.0.0.0 UG 0 0 0 wlp3s0
192.168.43.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp3s0
我的IP是192.168.43.193
$ ipconfig -a
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.193 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 2409:4070:2201:c42b:1a38:21df:c868:7fde prefixlen 64 scopeid 0x0<global>
inet6 fe80::25ac:4aff:2683:9be8 prefixlen 64 scopeid 0x20<link>
ether ac:d1:b8:47:a4:47 txqueuelen 1000 (Ethernet)
RX packets 408640 bytes 476371745 (454.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 287073 bytes 40393931 (38.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
現在如何理解 netstat 輸出。
據我的理解:
Any ip with `192.168.43.0/255` does not have a gateway or gateway of `0.0.0.0`
Any ip will have a gateway of `192.168.43.1`
Any ip the gateway is 192.168.43.1
一旦我們說一遍又說一遍就沒有意義了Any ip with 192.168.43.0/255 does not have a gateway or gateway of 0.0.0.0
答案1
任何 ip 與
192.168.43.0/255
「斜線」語法表示網路位數(基於網路遮罩),不是開始-結束範圍。如果將網路遮罩 255.255.255.0 轉換為二進制,您將看到它有 24 個「on」位,因此網路應寫為.192.168.43.0/24
(也就是說,192.168.43.0/255.255.255.0
大多數人也能理解完整的網路遮罩。)
沒有網關或網關
0.0.0.0
是的 – 這是一條沒有網關的路由,這表示位址是「線上」的:可以在 MAC 層直接存取。換句話說,這是您的本地子網路路由。
G
儘管重要的是缺少旗幟;舊工具在網關列中仍然顯示 0.0.0.0 並不重要(它們可以什麼也不顯示)。
任何ip都會有網關
192.168.43.1
對,但是除非此IP首先與192.168.43.0/24路由不符。
它沒有任何意義
確實如此,因為路由是按一定順序檢查的,並且最具體的路線總是獲勝。 (「最具體」基於網路遮罩位,例如/24 路由勝過/16 路由,並且所有路由都勝過0.0.0.0/0 路由。這就是後者被稱為「預設路由」的原因-它經過檢查最後,當沒有其他合適的時候。
因此,當您查看 0.0.0.0/0 時,您可以在心裡添加“任何 IP與任何其他路線都不匹配有一個網關 192.168.43.1」。