netstat命令来自英文词组network statistics的缩写,其功能是显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等。

netstat命令不仅应用于Linux系统,而且Windows XP、Windows 7、Windows 10及Windows 11均已默认支持,并且可用参数也相同,有经验的运维人员可以直接上‍手。

语法格式:netstat 参数

常用参数:

-a显示所有连接中的接口信息  -n直接使用IP地址,而不是域名
-A设置网络连接类型 -N显示网络硬件外围设备的符号链接名称
-c持续显示网络状态 -o显示计时器数据信息
-C显示路由配置信息 -p显示正在使用接口的程序识别码和名称
-F显示路由缓存信息 -r显示路由表信息
-g显示多重广播功能群组成员名单 -s显示网络工作信息统计表信息
-h显示帮助信息 -t显示TCP传输协议的连线状态
-i显示网络界面信息表单 -u显示UDP传输协议的连线状态
-l仅显示正在监听的服务状态-V显示版本信息

参考示例

显示系统网络状态中的所有连接信息:

[root@linuxcool ~]# netstat -a 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address          Foreign Address          State 
Tcp        0      0 0.0.0.0:http           0.0.0.0:*                LISTEN 
tcp        0      0 0.0.0.0:https          0.0.0.0:*                LISTEN 
tcp        0      0 0.0.0.0:ms-wbt-server  0.0.0.0:*                LISTEN 
  

显示系统网络状态中的UDP连接信息:

[root@linuxcool ~]# netstat -nu 
Active Internet connections (w/o servers) 
Proto Recv-Q Send-Q Local Address          Foreign Address       State 
udp        0      0 192.168.10.10:68       192.168.10.20:67      ESTABLISHED 

显示系统网络状态中的UDP连接端口号使用信息:

[root@linuxcool ~]# netstat -apu 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address Foreign Address       State   PID/Program name 
udp        0      0 linuxcool:bootpc _gateway:bootps ESTABLISHED 1024/NetworkManager 
udp        0      0 localhost:323         0.0.0.0:*             875/chronyd 
udp6       0      0 localhost:323         [::]:*                875/chronyd

显示网卡当前状态信息:

[root@linuxcool ~]# netstat -i 
Kernel Interface table 
Iface          MTU   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg 
eth0          1500   31945      0      0 0        39499      0      0      0 BMRU 
lo           65536       0      0      0 0            0      0      0      0 LRU 

显示网络路由表状态信息:

[root@linuxcool ~]# netstat -r 
Kernel IP routing table 
Destination     Gateway    Genmask       Flags   MSS Window irtt Iface 
default         _gateway   0.0.0.0       UG        0 0         0 eth0 
192.168.10.0    0.0.0.0    255.255.240.0 U         0 0         0 eth0

找到某个服务所对应的连接信息:

[root@linuxcool ~]# netstat -ap | grep ssh 
unix 2 	[ ] 		STREAM 	CONNECTED 	89121805	203890/sshd: root [ 
unix 3 	[ ] 		STREAM 	CONNECTED 	27396 	1754/sshd 
unix 3 	[ ] 		STREAM 	CONNECTED 	89120965	203890/sshd: root [ 
unix 2 	[ ] 		STREAM 	CONNECTED 	89116510 	203903/sshd: root@p 
unix 2 	[ ] 		STREAM 	CONNECTED 	89121803 	203890/sshd: root [ 
unix 2 	[ ] 		STREAM 	CONNECTED 	29959 	1754/sshd 
unix 2 	[ ] 		DGRAM 				89111175 	203890/sshd: root [ 
unix 3 	[ ]		STREAM 	CONNECTED 	89120964 	203903/sshd: root@p
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。