使用netstat命令查看连接到服务器特定端口的所有IP地址

本文介绍了如何在Linux中使用netstat命令结合管道操作,查看连接到服务器80端口的所有IP地址,并进行统计分析。通过netstat-tn2>/dev/null过滤输出,grep筛选80端口,awk获取第五列IP地址,cut按冒号切分取IP,再用sort、uniq-c和sort-nr进行排序和计数,最后用head展示前10个IP。这种方法适用于监控服务器端口连接情况。
摘要由CSDN通过智能技术生成

0 Linux查看连接到服务器特定端口的所有IP地址

我们以80端口为例,执行过程中,由于列表过长,可能存在一段时间等待。如果要查看其它端口,替换即可。

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

最终输出如下:

     97 114.198.236.100
     56 67.166.157.194
     44 170.248.43.76
     38 141.0.9.20
     37 49.248.0.2
     37 153.100.131.12
     31 223.62.169.73
     30 65.248.100.253
     29 203.112.82.128
     29 182.19.66.187

接着我们分解来看这条命令

1. netstat -tn 2>/dev/null

我们使用netstat[1]命令列出所有服务和客户端的连接。

  • -n 将最终的外部连接以数字形式展示(ip地址),而不是通过主机名或域名形式展示
  • -t 仅展示tcp连接

未指定-n外部连接以主机名形式展示

Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 set-bf-hit-dsp-qua:9511 set-bf-eat-dsp-tri:37273 ESTABLISHED

指定-n后以ip地址形式展示

Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 10.54.191.131:9511          10.54.167.143:37273         ESTABLISHED

2>/dev/null
将标准错误输出重定向到/dev/null

2. grep :80

仅筛选出连接80端口的ip,这里可以替换为我们想要检查的端口。

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

3. awk ‘{print $5}’

因为netstat命令第5列列出了连接到本服务外部地址信息。所以要筛选出第5列数据。

114.198.236.100:12763  
175.136.226.244:51950
175.136.226.244:51951
149.238.193.121:65268
114.198.236.100:44088
175.136.226.244:51952

4. cut -d: -f1

由于要统计IP的数量,我们将筛选的结果按冒号(:)切分,并筛选出切分后第一列数据。

  1. -d 指定切分符号
  2. -f 指定了要展示切分后的哪列数据,这个是和-d配合使用。
114.198.236.100
175.136.226.244
175.136.226.244
149.238.193.121
114.198.236.100
175.136.226.244

5. sort | uniq -c | sort -nr

接着对第4步的结果进行排序,随后统计每个IP的数量,最终对统计的结果按降序排序输出

sort后得到如下结果:


114.198.236.100
114.198.236.100
149.238.193.121
175.136.226.244
175.136.226.244
175.136.226.244

uniq -c –分组统计数量

2 114.198.236.100
1 149.238.193.121
3 175.136.226.244

sort -nr 对结果按降序排序

3 175.136.226.244
2 114.198.236.100
1 149.238.193.121

6. head

最后我们通过head命令展示前10行数据

参考

[1]netstat命令详解,https://www.howtogeek.com/513003/how-to-use-netstat-on-linux/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值