netstat命令 – 显示网络状态
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
语法格式:netstat [参数]
常用参数
参考实例
显示详细的网络状况
[root@linuxcool ~]# netstat -a
显示当前户籍UDP连接状况
[root@linuxcool ~]# netstat -nu
显示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 00 0.0.0.0:bootpc0.0.0.0:*4000/dhclient udp 00 localhost:323 0.0.0.0:*3725/chronyd udp6 00 localhost:323 [::]:* 3725/chronyd
显示网卡列表:
[root@linuxcool ~]# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 181864 00 0141278 000 BMRU lo 16436 0 3362 00 03362000 LRU
显示组播组的关系:
[root@linuxcool ~]# netstat -g IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 ALL- eth01 ALL- lo 1 ff02::1 eth01 ff02::1:ff0a:b0c eth01 ff02::1
场景实例
查询端口被哪个进程所占用:
[root@localhost ~]# netstat -anp|grep 22tcp 00 0.0.0.0:22 0.0.0.0:*LISTEN891/sshd tcp 052 10.5.1.230:22 10.5.1.200:4203 ESTABLISHED 1000/sshd: root@pts tcp6 00 :::22 :::*LISTEN891/sshd