用 netstat 命令,分析网络连接情况
来源:互联网 发布:java初级学生管理系统 编辑:程序博客网 时间:2024/05/20 19:16
// 用jps命令,显示所有JAVA进程。# jps18374 DesktopServerLauncher14690 Bootstrap23211 Jps//除了jps那行,其余全是JAVA进程。// 用netstat命令,显示进程ID和程序名(p);然后用grep命令找出进程18374;然后用head命令显示前3行。# netstat -antp | grep 18374 | head -3tcp 0 0 :::54104 :::* LISTEN 18374/java tcp 0 0 ::ffff:115.238.54.116:54104 ::ffff:5.127.6.211:33040 ESTABLISHED 18374/java tcp 0 0 ::ffff:120.199.8.215:54104 ::ffff:223.73.28.27:3784 ESTABLISHED 18374/java//最后一列里的18374,就是JAVA程序的端口号。 // 查看端口号为54104的链接数。好多啊。要好好查查了。# netstat -ant | grep ":54104" | wc -l7177// 用netstat命令查看网络链接;用head命令,显示其前3行(参数为-3),便于查看每列是啥意思。// 参数-a表示所有(All)链接;-t表示TCP,-n只显示数字(Number),不转成主机名,这样速度快。# netstat -ant | head -3Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:50222 0.0.0.0:* LISTEN // 我们发现,最后一列(NF)是状态。下面就可以按状态进行统计了。// 用awk命令提取出第6列;然后用sort命令排序;然后用uniq命令统计(c);最后再按数值(n)倒序(r)排列。# netstat -ant | grep ":54104" | awk '{print $NF}' | sort | uniq -c | sort -nr 5248 TIME_WAIT 655 FIN_WAIT1 539 FIN_WAIT2 321 ESTABLISHED 107 CLOSING 64 SYN_RECV 36 LAST_ACK 1 LISTEN 1 CLOSE_WAIT // 然后,还可以用dmesg命令,查看一下LOG;或者查看(cat /var/log/messages)[root@www ~]# dmesg | tail -5possible SYN flooding on port 54104. Sending cookies.possible SYN flooding on port 54104. Sending cookies.possible SYN flooding on port 54104. Sending cookies.possible SYN flooding on port 54104. Sending cookies.possible SYN flooding on port 54104. Sending cookies.// 发现全是洪水攻击(SYN flooding)啊!!!另外的几个示例
// 按本地IP,统计54104端口的连接数,并倒序排列# netstat -ant | grep ":54104" | awk '/^tcp/{++S[$4]} END {for(a in S) print a,S[a]}' | sort -nr -k 2 -t ' '::ffff:115.238.54.116:54104 6240::ffff:120.199.8.215:54104 436::ffff:121.52.229.126:54104 275115.238.54.116:54104 59121.52.229.126:54104 4:::54104 1120.199.8.215:54104 1// 查看54104端口连接数最多的前N个远端IP。$5表示第5列的远端IP;-F:表示按:分割,然后去前面的IP。# netstat -ant | grep ":54104" | awk '{print $5}' | awk -F: '{print $(NF-1)}' | sort | uniq -c | sort -nr | head 79 203.82.85.33 20 202.67.41.51 13 180.214.232.10 12 202.67.40.50 11 85.62.233.162 10 85.62.233.161 8 171.255.157.21 8 112.215.63.47 7 223.255.225.80 7 120.161.1.127//按端口,统计TCP链接数# netstat -ant | awk '/^tcp/{print $4}' | awk -F: '{print $(NF)}' | sort | uniq -c | sort -nr | head 3199 54104 2381 9090 125 8000 22 5432 5 80 3 50222 2 25 2 22 1 8080 1 8009//对最后一行(NF),进行统计Key/Value数组统计;然后,对第二列(k)进行进行数值(n)倒序(r)排列(分割符为空格)# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | sort -nr -k 2 -t ' 'TIME_WAIT 6465FIN_WAIT2 2178ESTABLISHED 1526FIN_WAIT1 892CLOSING 93SYN_RECV 86LAST_ACK 58CLOSE_WAIT 1//对最后一行(NF),进行统计Key/Value数组统计;然后,进行数值(n)倒序(r)排序# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print S[a],a}' | sort -nr5999 TIME_WAIT2041 FIN_WAIT21439 ESTABLISHED837 FIN_WAIT1105 CLOSING96 SYN_RECV47 LAST_ACK1 CLOSE_WAIT//查出哪个IP地址连接最多(IP归属地查询工具nali需要安装)# netstat -ant | awk '{print $5}' | awk -F: '{if($NF>1){print $(NF-1)}}' | sort | uniq -c | sort -nr | head | nali 30 127.0.0.1[本机地址] 15 71.57.157.0[美国 乔治亚州Norcross] 13 203.82.85.33[马来西亚] 11 218.202.4.149[云南省昆明市 移动] 10 211.137.119.10[陕西省 移动] 9 183.224.2.94[中国 移动] 9 180.214.232.10[印度尼西亚] 9 101.254.152.168[中国] 8 85.62.233.162[西班牙] 8 202.67.40.50[印度尼西亚]
0 0
- 用 netstat 命令,分析网络连接情况
- 网络连接的netstat命令
- netstat 查看TCP网络连接情况
- netstat网络接口情况查看命令
- linux netstat网络情况
- netstat查看网络连接
- 结合netstat和awk命令来统计网络连接数
- 结合netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- 网络操作命令:netstat
- Netstat 网络查看命令
- linux网络命令 netstat
- 用C#调外部Ping命令获取网络连接情况
- 用C#调外部Ping命令获取网络连接情况
- netstat命令状态分析
- Linux命令分析:netstat
- xshell界面变透明
- 关于System.out.print();的滥用
- 职场“潜”规则:心法和技法
- Java排序之插入排序
- jbpm工作流之简单请假流程例子(源码)
- 用 netstat 命令,分析网络连接情况
- C#中使用lockbits方法处理图像(译文)
- 矩阵运算 【微软面试100题 第四十五题】
- zabbix自带database monitor
- [JAVA][StringUtils]字符串工具类的常用方
- zoj 2132 求一个数组的主元素
- Spring之PropertyEditor
- Xcode6之后 Error Description not available
- 使用zTree和json构建简单树节点