我有手机,热点已开启。我通过 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
“斜线”语法表示网络位数(基于网络掩码),而不是开始-结束范围。如果您将网络掩码 255.255.255.0 转换为二进制,您会看到它有 24 个“on”位,因此网络应该写为.
192.168.43.0/24
(也就是说,
192.168.43.0/255.255.255.0
大多数人也会理解完整的网络掩码。)是的——这是一条没有网关的路由,这意味着地址是“on-link”的:可以在 MAC 层直接访问。换句话说,这是您的本地子网路由。
尽管重要的是缺少
G
标志;旧工具在网关列中仍然显示 0.0.0.0 并不重要(它们可以什么都不显示)。是的——但前提是该 IP 不首先匹配 192.168.43.0/24 路由。
确实如此,因为路线是按特定顺序检查的,并且最具体的路线总是获胜。(“最具体”基于网络掩码位,例如 /24 路由胜过 /16 路由,并且所有路由都胜过 0.0.0.0/0 路由。这就是为什么后者被称为“默认路由” - 它已检查最后,当没有其他合适的时候。)
因此,当查看 0.0.0.0/0 时,您可以在脑海中添加“任何与任何其他路由不匹配的 IP都有一个网关 192.168.43.1”。