监控服务器连接 - Netstat 格式问题

监控服务器连接 - Netstat 格式问题

我最近在服务器方面遇到了一些问题。所以我只想留下一个窗口来显示连接设备的唯一性和IP。

我一直在使用:

watch -n 5 "netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | sed 's/.*::ffff://' | sort | uniq -c | sort -nr"

这是格式化失败时的输出示例 例子 这是一个未格式化的 Netstat 示例 在此输入图像描述 造成混乱的原因是我awk '{print $5}'只用来打印第五列

我假设它是因为我试图将手表与点数一起使用,但有些东西与另一个不一致。

任何人都可以建议对一个衬垫进行调整,或者任何人都可以建议另一种工具来监视与服务器的活动连接(对本地连接不感兴趣)

答案1

我会尝试

... | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '

它应该过滤端口 80 上的远程 IP。

  • 无需grep | awk | sed!!
  • $5 ~ /:80$/过滤以 80 结尾的第五个字段
  • !u[A[1]]++仅有效一次
  • split()将导致 IP on A[1](和 port on A[2])(至少对于纯 IPV4 )

应付手表之类的

while true
do
  netstat -tn 2>/dev/null | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '
  sleep 5
done

相关内容