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)
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)
相关文章推荐
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
- Linux内核总结博客 20135332武西垚
- VMware下配置Linux IP,解决Linux ping不通,但主机能ping 通linux
- Linux性能测试命令系列(3)- ps
- Linux用户空间与内核空间
- thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
- linux下批量解压缩
- linux命令——cat
- svn修改新url地址方法(linux,windows,centos)
- linux中源码安装vim支持python3
- Linux系统负载LoadAverage详解
- CentOS 6.X 安装python3.X
- CentOS 6.X 安装python3.X
- rsync+inotify实现服务器之间文件实时同步
- 关于linux进程间的close-on-exec机制
- linux修改用户目录文件名
- VirtualBox下Kali linux 2016.1安装之后的简单设置
- linux配置jdk环境变量
- linux下yum安装mysql步骤
- linux下递归读取文件