netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat
是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
如果计算机有时候接收到的数据报导致出错数据或故障,不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么就应该使用netstat
查一查为什么会出现这些情况了。
1.命令格式
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
Shell
2.命令功能
netstat
用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
3.命令参数
-a
或–all
显示所有连线中的Socket。-A
<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。-c
或–continuous
持续列出网络状态。-C
或–cache
显示路由器配置的快取信息。-e
或–extend
显示网络其他相关信息。-F
或–fib
显示FIB。-g
或–groups
显示多重广播功能群组组员名单。-h
或–help
在线帮助。-i
或–interfaces
显示网络界面信息表单。-l
或–listening
显示监控中的服务器的Socket。-M
或–masquerade
显示伪装的网络连线。-n
或–numeric
直接使用IP地址,而不通过域名服务器。-N
或–netlink
或–symbolic
显示网络硬件外围设备的符号连接名称。-o
或–timers
显示计时器。-p
或–programs
显示正在使用Socket的程序识别码和程序名称。-r
或–route
显示Routing Table。-s
或–statistice
显示网络工作信息统计表。-t
或–tcp
显示TCP传输协议的连线状况。-u
或–udp
显示UDP传输协议的连线状况。-v
或–verbose
显示指令执行过程。-V
或–version
显示版本信息。-w
或–raw
显示RAW传输协议的连线状况。-x
或–unix
此参数的效果和指定”-A unix”参数相同。–ip
或–inet
此参数的效果和指定”-A inet”参数相同。
4.使用实例
实例1:无参数使用
命令:
netstat
Shell
输出:
[yiibai@localhost ~]$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdoma:ssh 192.168.0.5:54835 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 13100 /run/systemd/shutdownd
unix 2 [ ] DGRAM 8385 /run/systemd/notify
unix 2 [ ] DGRAM 8387 /run/systemd/cgroups-agent
unix 5 [ ] DGRAM 8398 /run/systemd/journal/socket
unix 13 [ ] DGRAM 8400 /dev/log
unix 3 [ ] STREAM CONNECTED 19870
unix 3 [ ] STREAM CONNECTED 19850
unix 3 [ ] STREAM CONNECTED 19871
unix 3 [ ] STREAM CONNECTED 19830
unix 3 [ ] STREAM CONNECTED 16422
unix 3 [ ] STREAM CONNECTED 19852
unix 3 [ ] STREAM CONNECTED 16423 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 19873
unix 3 [ ] STREAM CONNECTED 19874
unix 3 [ ] STREAM CONNECTED 15501
unix 3 [ ] STREAM CONNECTED 19847
unix 3 [ ] STREAM CONNECTED 19821
unix 3 [ ] STREAM CONNECTED 19849
unix 3 [ ] STREAM CONNECTED 19844
unix 3 [ ] STREAM CONNECTED 19820
unix 3 [ ] STREAM CONNECTED 19876
unix 3 [ ] STREAM CONNECTED 19833
unix 3 [ ] STREAM CONNECTED 19877
unix 2 [ ] DGRAM 16501
unix 3 [ ] STREAM CONNECTED 16576
unix 3 [ ] STREAM CONNECTED 19879
unix 3 [ ] STREAM CONNECTED 19829
unix 2 [ ] DGRAM 80277
unix 3 [ ] STREAM CONNECTED 19880
unix 3 [ ] STREAM CONNECTED 15803 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19882
unix 3 [ ] STREAM CONNECTED 19263
unix 3 [ ] STREAM CONNECTED 19883
unix 3 [ ] STREAM CONNECTED 19853
unix 2 [ ] DGRAM 16412
unix 3 [ ] STREAM CONNECTED 19855
unix 3 [ ] STREAM CONNECTED 15802
unix 3 [ ] STREAM CONNECTED 19856
unix 3 [ ] STREAM CONNECTED 15502 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 80280
unix 3 [ ] STREAM CONNECTED 19858
unix 3 [ ] STREAM CONNECTED 19859
unix 3 [ ] STREAM CONNECTED 80281
unix 3 [ ] STREAM CONNECTED 19861
unix 3 [ ] STREAM CONNECTED 19843
unix 3 [ ] STREAM CONNECTED 19862
unix 3 [ ] STREAM CONNECTED 15457
unix 3 [ ] STREAM CONNECTED 19864
unix 3 [ ] STREAM CONNECTED 15613 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 19865
unix 3 [ ] STREAM CONNECTED 19846
unix 2 [ ] DGRAM 80112
unix 3 [ ] STREAM CONNECTED 19867
unix 3 [ ] STREAM CONNECTED 16577 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 19868
unix 2 [ ] DGRAM 15509
unix 3 [ ] STREAM CONNECTED 19264 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 16129 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 13393
unix 3 [ ] STREAM CONNECTED 19837
unix 2 [ ] DGRAM 13285
unix 3 [ ] STREAM CONNECTED 13530 /run/systemd/journal/stdout
unix 2 [ ] DGRAM 19784
unix 3 [ ] STREAM CONNECTED 16379 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 16160
unix 3 [ ] STREAM CONNECTED 13796 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 15732 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 15611
unix 3 [ ] STREAM CONNECTED 13777
unix 2 [ ] DGRAM 20011
unix 3 [ ] STREAM CONNECTED 16106 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19840
......
Shell
说明:
从整体上看,netstat
的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
套接口类型:
-t
:TCP-u
:UDP-raw