为了账号安全,请及时绑定邮箱和手机立即绑定

centos7 netstat命令使用场景 杂记

标签:
Html5

查看tcp连接数状态

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

统计8080端口上有多少个TCP连接,命令:

netstat –nat | grep 8080 | wc –l


TCP连接中有多少个连接状态是ESTABLISHED,命令:

netstat –nat | grep 8080 | grep ESTABLISHED| wc -l



TCP连接中有多少个连接状态是CLOSE_WAIT

netstat –nat | grep 8080 | grep CLOSE_WAIT| wc -l



TCP连接中有多少个连接状态是TIME_WAIT

netstat –nat | grep 8080 | grep TIME_WAIT| wc -l



使用awk来完成统计信息,命令如下

netstat –nat | grep 8080 | awk ‘{++S[$NF]} END {for (a in S) print a, S[a]}’

列出所有连接到你服务器的ip

下列是一个Unix命令,用来列出所有连接到主机80端口的IP地址。

netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

输出 - 全部按IP连接数从高到低排列

97 114.198.236.10056 67.166.157.19444 170.248.43.7638 141.0.9.2037 49.248.0.237 153.100.131.1231 223.62.169.7330 65.248.100.25329 203.112.82.12829 182.19.66.187

注:
This command is useful to detect if your server is under attack, and null route those IPs. Read this null route attacker IP story.

下面来把这个有点长的命令打散:

1. netstat -tn 2>/dev/null

用 netstat 列出所有网络连接,包括进和出。

  1. -n -只显示数字(IP地址和端口),不解析成名字。

  2. -t -只显示TCP连接。

输出

#Examples - 7 connectionstcp        0      0 64.91.*.*:80            114.198.236.100:12763       TIME_WAITtcp        0      0 64.91.*.*:80            175.136.226.244:51950       TIME_WAITtcp        0      0 64.91.*.*:80            175.136.226.244:51951       TIME_WAITtcp        0      0 64.91.*.*:23            202.127.210.2:14517         TIME_WAITtcp        0      0 64.91.*.*:80            149.238.193.121:65268       TIME_WAITtcp        0      0 64.91.*.*:80            114.198.236.100:44088       ESTABLISHEDtcp        0      0 64.91.*.*:80            175.136.226.244:51952       TIME_WAIT

2>/dev/null
重定位所有不必要的输出流到/dev/null——一个专门用来获取并清空所有输出流的地方。(译注:2是标准错误输出,这段命令用来隐藏所有错误信息。)

2. grep :80

只显示连接到主机80端口的IP地址。

tcp        0      0 64.91.*.*:80            114.198.236.100:12763       TIME_WAITtcp        0      0 64.91.*.*:80            175.136.226.244:51950       TIME_WAITtcp        0      0 64.91.*.*:80            175.136.226.244:51951       TIME_WAITtcp        0      0 64.91.*.*:80            149.238.193.121:65268       TIME_WAITtcp        0      0 64.91.*.*:80            114.198.236.100:44088       ESTABLISHEDtcp        0      0 64.91.*.*:80            175.136.226.244:51952       TIME_WAIT

3. awk ‘{print $5}’

使用 awk 来只显示第5列的内容。

语言方法
625344U2RuHcLP
A19nM脚本
79252006-10-01 02:57:52
114.198.236.100:12763175.136.226.244:51950175.136.226.244:51951149.238.193.121:65268114.198.236.100:44088175.136.226.244:51952

4. cut -d: -f1

使用 cut 来抽取内容。

  1. -d – 在-d选项后面紧挨着的文字将作为分隔符,默认是tab。

  2. -f – 指定显示用分隔符进行分割后的列

114.198.236.100175.136.226.244175.136.226.244149.238.193.121114.198.236.100175.136.226.244

5. sort | uniq -c | sort -nr

对列表进行排序,分组然后再次倒序排序。

sort

114.198.236.100114.198.236.100149.238.193.121175.136.226.244175.136.226.244175.136.226.244

uniq -c – 分组。

2 114.198.236.1001 149.238.193.1213 175.136.226.244

sort -nr – 按数字倒序排列(大数在前)。

3 175.136.226.2442 114.198.236.1001 149.238.193.121

完成。

6. head

这是个可选项,用来显示前10个结果。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消