Linux网络连接状态检查!
检查linux的网络连接状态其实很简单,利用Linux内置的一些命令和SHELL的几个小技巧就可以完成看似复杂的检查任务,这也是Linux的魅力之一! 最基本的, netstat -atn 该命令的解释是列出基于TCP协议(-t)的所有连接,并将通信双方以IP地址的(-n)的方式显示,而不是主机名!! netstat -atn | cut -b 49-75 | grep -o -P "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b" | sort | uniq -c | sort -n -r -k 1,7 | head -10 这行命令用来分析netstat的输出结果,最后得出的是目前处于连接中的不同的IP地址;这个命令在Ubuntu(cut -b 45-75)上不能实现,这是不同的Linux对于一些基本命令的实现不同(编译的选项和参数不一致),但是ubuntu上可以用下面的命令实现相似的功能, netstat -atn | cut -b 45-75 | cut -d':' -f1 |sort | uniq -c | sort -n -r -k 1,7 | head -10 唯一的缺点是不用正则表达式的情况下title内容行也被放了进来,当然还可以用一些命令去除这些文字行,这里就不展开了! netstat -atn |cut -b 77-90 | sort | uniq -c 是列出每个连接的状态并统计! 对于netstat命令输出的分析其实还有很多方法,这儿就不再列举! time tcpdump -ns 200 -c 100 '(dst port http or dst port https) and tcp[13] & 2!=0' | grep -o -P '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,5}\s\>' | cut -d '.' -f 1-4 | sort | uniq -c | sort -n -r -k 1,7 | head -25 这个命令是对于100个包中有多少个新连接请求的统计!运用了tcpdump抓取100个(-c 100)包,最后列出这些请求的IP地址。 这里只是两个简...