检查 Web 服务器端口 80 和 443 的连接数

检查 Web 服务器端口 80 和 443 的连接数

正如标题所说,如何检查端口 80 上的 Web 服务器的打开连接数443?

我目前正在使用这条命令来获取端口 80 上每个 ipaddress 的打开连接数:

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

如何将端口号 443 添加到此查询?我尝试了以下方法:

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

但最终没有得到任何结果,我做错了什么吗?

答案1

尝试

netstat -ant | egrep '(:80|:443) .*:.*ESTABLISHED' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c

或者

netstat -nt | awk '$4 ~ /:(143|993)$/ && $6 ~ /ESTABLISHED/ {print $5}' | cut -d: -f1 | sort | uniq -c
  • netstat -nt列出不包含 IP 地址 DNS 查找的 TCP 连接
  • egrep ':(80|443) .*:.*ESTABLISHED'选择端口 80 上已建立的连接,限制为本地地址
  • 'awk {print $5}'分隔远程地址和端口
  • cut -d: -f1远程端口
  • sort | uniq -c统计唯一 IP

  • awk '$4 ~ /:(80|443)$/ && $6 ~ /ESTABLISHED/ {print $5}'选择远程 IP 与本地端口 80 和 443 建立连接

编辑:

如果您想按 IP 统计连接数,您可以{print $4, $5}在打印语句中使用。

您可以通过改变的匹配来匹配不同或多个状态$6,例如/(ESTAB|SYN)/其中将包括打开连接。

答案2

- grep ':80/|:443'
+ egrep ':80|:443'

相关内容