天天看点

Linux网络监控工具--netstat及网络连接分析

netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况

    -a     (all)显示所有选项,默认不显示LISTEN相关

    -t     (tcp)仅显示tcp相关选项

    -u     (udp)仅显示udp相关选项

    -n     拒绝显示别名,能显示数字的全部转化成数字

    -l     仅列出有在 Listen (监听) 的服務状态

    -p     显示建立相关链接的程序名

    -r     显示路由信息,路由表

    -e     显示扩展信息,例如uid等

    -s     按各个协议进行统计

    -c     每隔一个固定时间,执行该netstat命令

常用:netstat -lnpt

    netstat -an

1.查看TCP连接状态

netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn

netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ 

netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}'

netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn

netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]‘ | sort | uniq -c

2.查找请求数请20个IP(常用于查找攻来源)

netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20

3.用tcpdump嗅探80端口的访问数最高的ip

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -10

4.查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n10

5.找查较多的SYN连接

netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

6.根据端口列进程

netstat -ntlp | grep 80 | awk ‘{print $7}’ | cut -d/ -f1

本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1886248 ,如需转载请自行联系原作者