如何编写Shell脚本来监视其他服务器的TCP连接

时间:2014-03-03 14:29:42

标签: linux shell tcp automation monitoring

我正在寻求帮助在Linux上编写Shell脚本来监视其他服务器的TCP连接。每小时,此脚本将TCP连接数超过100的服务器的名称列表输出到文本文件中。有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:1)

Each hour:
(can be done by a cron job)
  Log in on each server and:
  (can be done by ssh with pre-installed keys)
    list all TCP connections
    (can be done by netstat or cat /proc/net/tcp or similar)
    count them
    (can be done by wc)

电子。 G:

for host in $(cat hostnames)
do
  n=$(ssh "$host" 'cat /proc/net/tcp | wc -l')
  [ "$n" -gt 100 ] && echo "$host: $n connections"
done >> logfile.txt

答案 1 :(得分:0)

  1. 转储特定网络接口的包

    sudo tcpdump -i eth0 -n -q> / tmp / ccc 2>& 1

  2. 按您喜欢的工具过滤它(每小时用cron运行)

    cat / tmp / ccc | sed -e' s /。 IP \ // g' -e' s / \&gt ;. // g' | sort | uniq

  3. 这是一个非常粗略的概念。在实际中还需要关注许多人认为文件保留和每小时清理/ tmp / ccc