您的位置:首页 > 运维架构 > Linux

Linux性能测试命令系列(4)- netstat

2016-04-27 00:47 621 查看
当和端口、socket连接等相关的时候netstat会很好地辅助解决问题,遇到的使用方法如下所示:

netstat显示和网络相关的统计信息,比如socket、tcp、udp、路由等相关统计信息。

1)列出所有监听端口,即状态为LISTEN状体的端口

#netstat -l

显示信息会有

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

Active Unix domain sockets (only servers)

Proto RefCnt Flags Type State I-Node Path

2)列出所有监听TCP端口

#netstat -tl
注:t表示tcp协议,l表示LISTEN或者LISTENING监听状态

3)列出所有监听UDP端口

#netstat -ul
注:u表示upd协议

4)只列出所有监听Unix端口

#netstat -xl
注:x表示unix

5)统计所有端口的信息

#netstat -s
注:s表示statistics统计

会包含所有协议的统计信息

Ip、Icmp、IcmpMsg、Tcp、Udp、UdpLite、TcpExt、IpExit

6)显示tcp协议端口的统计信息

#netstat -st

7)显示udp协议端口的统计信息

#netstat -us

8)显示tcp协议在端口10050上运行的程序/进程号

#netstat -ntp | grep ":10050"
注:-n表示所有能用数字显示的全部用数字表示,如Local Address、Foreign Address

注:-p 增加"PID/Program name"显示字段在输出信息中

9)显示tcp端口10050上运行的进程数

#netstat -ntp | grep ":10050" | grep -v "grep" | wc -l

注:一定要有n选项、t表示tcp协议、p表示显示字段增加"PID/Program name"可以看到具体的进程或者程序名

10)找出运行在10050端口上的所有程序

#netstat -an | grep ":10050" | grep -v "grep"
注:-a表示把所有的都显示出来

11)找出a.out程序运行的端口号

#netstat -anp | grep "a.out"

12)显示udp端口的使用情况

#netstat -aunp

13)显示tcp端口的使用情况

#netstat -atnp

14)显示所有端口的使用情况

#netstat -anp

15)显示网卡列表

#netstat -i

16)显示组播组的关系

#netstat -g

17)显示所有网络统计信息(所有协议的)

#netstat -s

18)显示监听的套接口

#netstat -l
注:LISTEN或者LISTENING,注:一定不要加a

19)显示所有自己建立的有效连接

#netstat -n
注:不能使用netstat -an,不能使用netstat -l

因为:netstat 默认不显示状态为LISTEN和LISTENING的套接口,所以netstat -n显示的是所有已经建立的有效连接

20)显示路由表

#netstat -r

21)统计服务器中网络连接各个状态个数

#netstat -an | awk '/^tcp/{++S[$NF]} END {for(a in S) print a, S[a]}'

输出:

ESTABLISHED 18

LISTEN
30

TIME_WAIT
19

CLOSE_WAIT
1

22)统计服务器中网络连接各个状态的个数

#netstat -ant | awk '{print $6}' | sort | uniq -c

输出:

18 ESTABLISHED

30 LISTEN

19 TIME_WAIT

1 CLOSE_WAIT

23)查看连接某个服务端口最多的IP地址

#netstat -ant | grep "1.2.3.4:10050" | awk '{print $6}' | awk -F:'{print $4}' | sort | uniq -c | sort -nr | head -20

(END)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: