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

当和端口、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)

课程简介:Re:《 Linux 网络管理命令 》  ---------------------------------------内容提要: 01/22)命令 ifconfig:配置或显示网络接口信息02/22)命令 ifup:激活网络接口03/22)命令 ifdown:禁用网络接口04/22)命令 route:显示或管理路由表05/22)命令 arp:管理系统的arp缓存06/22)命令 ip:网络配置工具07/22)命令 netstat:查看网络状态08/22)命令 ss:查看网络状态09/22)命令 ping:测试主机之间网络的连通性10/22)命令 traceroute:追踪数据转发路由状况11/22)命令 arping:发送arp请求12/22)命令 telnet:远程登录主机13/22)命令 nc:多功能网络工具14/22)命令 ssh:协议详解15/22)命令 wget:命令行下载工具16/22)命令 mailq:显示邮件传输队列17/22)命令 mail:发送和接收邮件18/22)命令 nslookup:域名查询工具19/22)命令 dig:域名查询工具20/22)命令 host :域名查询工具21/22)命令 nmap:网络探测工具和安全/端口扫描器22/22)命令 tcpdump:监听网络流量            本人在教学和实战过程中发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作中,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。       对一个士兵来说,枪就是他的武器,对于一个程序员来说,各种library(工具库)就是他的武器;而对于Linux运维人员来说,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。       研磨每一个命令就是擦拭手中的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手中的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功!       本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题中来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。       本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学中就不再赘述!     《参透 VMware 桌面级虚拟化》    《在虚拟机中安装模版机(包括应用软件等)》    《SecureCRT 连接 GNS3/Linux 的安全精密工具》  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值