2020-04-08 linux命令之netstat
参照自 https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
又是一个还莫得学完的命令。。。
netstat命令用于显示网络相关信息,如网络连接、接口状态、路由表信息等
一.输出信息描述
➜ ~ netstat 激活Internet连接 (w/o 服务器) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 promote.cache-dns:47548 116.62.84.58:https ESTABLISHED tcp 0 1 promote.cache-dns:60396 tsa03s06-in-f4.1e:https SYN_SENT tcp 0 0 promote.cache-dns:59846 118.31.180.41:https ESTABLISHED tcp 0 1 promote.cache-dns:60398 tsa03s06-in-f4.1e:https SYN_SENT tcp 0 0 promote.cache-dns:54558 server-13-226-113:https TIME_WAIT tcp 0 0 promote.cache-dns:52140 112.25.90.132:https ESTABLISHED tcp 0 1 promote.cache-dns:60412 tsa03s06-in-f4.1e:https SYN_SENT udp 0 0 promote.cache-dns:57844 promote.cache-dn:domain ESTABLISHED 活跃的UNIX域套接字 (w/o 服务器) Proto RefCnt Flags Type State I-Node 路径 unix 2 [ ] 数据报 41194 /run/user/1000/systemd/notify unix 2 [ ] 数据报 233943 /run/wpa_supplicant/wlp3s0 unix 3 [ ] 数据报 15852 /run/systemd/notify unix 3 [ ] SEQPACKET 已连接 44347 @0000e unix 23 [ ] 数据报 15866 /run/systemd/journal/dev-log unix 9 [ ] 数据报 15872 /run/systemd/journal/socket unix 3 [ ] 流 已连接 51004 unix 3 [ ] 流 已连接 44951
netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
二.参数说明:
-a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -i 显示接口信息 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
三.用法示例
1、列出所有端口 #netstat -a
2、列出所有 tcp 端口 #netstat -at
3、列出所有 udp 端口 #netstat -au
4、只显示监听端口 #netstat -l
5、只列出所有监听 tcp 端口 #netstat -lt
6、只列出所有监听 udp 端口 #netstat -lu
7、列出所有监听 UNIX 端口 #netstat -lx
8、显示所有端口的统计信息 #netstat -s
9、显示 TCP 或 UDP 端口的统计信息 #netstat -st 或 -su
10、 输出中显示 PID 和进程名称 #netstat -p