列出所有端口 (包括监听和未监听的) netstat -a #列出所有端口 netstat -at #列出所有tcp端口 netstat -au #列出所有udp端口 列出所有处于监听状态的 Sockets netstat -l #只显示监听端口 netstat -lt #只列出所有监听 tcp 端口 netstat -lu #只列出所有监听 udp 端口 netstat -lx #只列出所有监听 UNIX 端口 显示每个协议的统计信息 netstat -s 显示所有端口的统计信息 netstat -st 显示TCP端口的统计信息 netstat -su 显示UDP端口的统计信息 在netstat输出中显示 PID 和进程名称 netstat -pt netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。 在netstat输出中不显示主机,端口和用户名(host, port or user) 当你不想让主机,端口和用户名显示,使用netstat -n。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。 netstat -an 如果只是不想让这三个名称中的一个被显示,使用以下命令: netsat -a --numeric-ports netsat -a --numeric-hosts netsat -a --numeric-users 持续输出netstat信息 netstat -c #每隔一秒输出网络信息 查看某个端口的连接数: 比如查看 18180 端口 可以显示详细的端口连接信息: lsof -i:18180 直接显示连接的数量: netstat -an |grep \'ESTABLISHED\' |grep -i \'18180\' |wc -l 统计 TCP连接数 命令: netstat -an |grep \'ESTABLISHED\' |grep \'tcp\' |wc -l 打印tcp连接最多的前10个ip地址 netstat -ntu | grep tcp | awk \'{print $5}\' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10 查看连接某服务端口最多的的IP地址: netstat -ntu | grep :80 | awk \'{print $5}\' | cut -d: -f1 | awk \'{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}\' | sort -nr 查看服务器的TCP连接状态并汇总 netstat -an|awk \'/^tcp/{++S[$NF]}END{for (a in S)print a,S[a]}\' 参数说明: CLOSED:没有连接活动或正在进行的; LISTEN:服务器正在等待的进入呼叫; SYN_RECV:一个连接请求已经到达,等待确认; SYN_SENT:应用已经开始,打开一个连接; ESTABLISHED:正常数据传输状态,也可以近似的理解为当前服务器的并发数; FIN_WAIT1:应用已经完成; FIN_WAIT2:另一边同意释放; ITMED_WAIT:等待所有分组死掉; CLOSING:两边同时尝试关闭; TIME_WAIT:另一边已初始化一个释放; LAST_ACK:等待所有分组死掉;
参考:https://blog.csdn.net/hunhun1122/article/details/79390715