netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信)
语法格式
netstat [参数]
常用参数:
bash
-a 显示所有连线中的Socket
-p 显示正在使用Socket的程序识别码和程序名称
-u 显示UDP传输协议的连线状况
-i 显示网络界面信息表单
-n 直接使用IP地址,不通过域名服务器
参考实例
显示详细的网络状况:
bash
$ 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:ssh 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.30:ssh 192.168.0.65:49910 ESTABLISHED
tcp 0 0 192.168.0.30:47594 mirrors.ustc.edu.c:http TIME_WAIT
tcp6 0 0 [::]:ssh [::]:* LISTEN
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 3 [ ] STREAM CONNECTED 16527
unix 3 [ ] STREAM CONNECTED 22920
unix 3 [ ] STREAM CONNECTED 24609
unix 3 [ ] STREAM CONNECTED 657
unix 2 [ ACC ] STREAM LISTENING 17468 /run/systemd/userdb/io.systemd.Machine
unix 2 [ ] DGRAM 56369 /run/user/1000/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 56372 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 56380 /run/user/1000/bus
...
显示当前户籍UDP连接状况:
bash
$ netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
显示UDP端口号的使用情况:
bash
$ netstat -apu
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:bootpc 0.0.0.0:* -
显示网卡列表:
bash
$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno1 1500 13350720 0 150 0 12031533 0 0 0 BMRU
lo 65536 9 0 0 0 9 0 0 0 LRU
macvtap0 1500 643491 0 0 0 60633 0 0 0 BMRU
macvtap1 1500 4513330 1482 1482 0 2977659 0 0 0 BMRU
显示组播组的关系:
bash
$ netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eno1 1 all-systems.mcast.net
macvtap0 1 all-systems.mcast.net
macvtap1 1 all-systems.mcast.net
lo 1 ip6-allnodes