我正在寻求帮助在Linux上编写Shell脚本来监视其他服务器的TCP连接。每小时,此脚本将TCP连接数超过100的服务器的名称列表输出到文本文件中。有什么想法吗?感谢。
答案 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)
转储特定网络接口的包
sudo tcpdump -i eth0 -n -q> / tmp / ccc 2>& 1
按您喜欢的工具过滤它(每小时用cron运行)
cat / tmp / ccc | sed -e' s /。 IP \ // g' -e' s / \&gt ;. // g' | sort | uniq
这是一个非常粗略的概念。在实际中还需要关注许多人认为文件保留和每小时清理/ tmp / ccc