【Linux/CentOs】netstat -ie与本机网络状态(此命令等同于ifconfig)


在Linux中除了ifconfig,还有netstat -ie可以侦测当前网络状态。这个命令还算好记,因为-后面是微软浏览器的缩写.

以下是参数的意义:

使用 -i 选项打印网络接口信息。
使用 -e或--extend 显示网络其他相关信息。

比如在CentOs7中,连接网络后,敲入netstat -ie是这样的:

[hy@localhost ~]$ netstat -ie
Kernel Interface table
ens33: flags=4163  mtu 1500
        inet 192.168.32.128  netmask 255.255.255.0  broadcast 192.168.32.255
        inet6 fe80::3a1c:e273:b2de:bb84  prefixlen 64  scopeid 0x20
        ether 00:0c:29:5a:16:59  txqueuelen 1000  (Ethernet)
        RX packets 831  bytes 1052198 (1.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 344  bytes 27070 (26.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 19336  bytes 1634680 (1.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19336  bytes 1634680 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a0:4b:c9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我们可以看到信息分三段:ens33、lo和virbr0:

ens33:这个就是centos6时代的eth0,进入7时代后叫ens33了,eth0和ens33都代表网卡。之所以从eth0改叫ens33是因为RedHat/CentOS 7系列采用dmidecode采集命名访问,采用了硬件相关信息,可以实现网卡名字永久唯一化。但这个是centos7的做法,阿里云和virtualbox的做法又不一样。关于这个可以参考:https://www.jianshu.com/p/5fc492060e70

lo:表示本地环回接口,关于这个可以参考:https://blog.csdn.net/huguohu2006/article/details/7261106

virbr0:表示这时虚拟机创建的一个桥接,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能。virbr0 默认分配了一个IP 192.168.122.1,并为连接其上的其他虚拟网卡提供 DHCP 服务。关于这个可以参考:

这里的重点是每段第二行,inet之后的ip地址。明显上面三段的ip都有,它是可以正常与外界连通的。

如果断开网络,再敲入netstat -ie是这样的。

[hy@localhost ~]$ netstat -ie
Kernel Interface table
ens33: flags=4163  mtu 1500
        ether 00:0c:29:5a:16:59  txqueuelen 1000  (Ethernet)
        RX packets 958  bytes 1063166 (1.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 487  bytes 39170 (38.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 19336  bytes 1634680 (1.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19336  bytes 1634680 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a0:4b:c9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

很明显,第一段第二行没有出现inet,这说明对外ip没能建立起来,这种状态下只能玩玩locahost了。

参考资料:

https://blog.csdn.net/u010739551/article/details/80736032

https://www.runoob.com/linux/linux-comm-netstat.html

END

相关