对于移动端的简单热点,如何理解 netstat 结果

对于移动端的简单热点,如何理解 netstat 结果

我有一部手机,并且热点已打开。我通过 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 个“开”位,因此网络应写为。192.168.43.0/24

(也就是说,192.168.43.0/255.255.255.0大多数人也能理解完整的网络掩码。)

没有网关或网关0.0.0.0

是的 - 这是一条没有网关的路由,这意味着地址是“on-link”的:在 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”。

相关内容