计算某个端口的传入连接数 - Linux

计算某个端口的传入连接数 - Linux

我们有一个监听端口 X 的服务器。该服务器有大量客户端,有时进程会挂起,我在日志中看到 SYN 泛洪消息。我一直在尝试调整相关的 tcp 配置参数。

我想要一种方法来使用 tcpdump 或其他命令来计算该特定端口的传入连接数。

答案1

Iptables 可以记录连接,或者如果您愿意,您可以使用选项--tcp-flags SYN来匹配 syn 数据包。

iptables -A INPUT -p tcp -m tcp --dport <listenPort> \
    -m state --state NEW -j LOG --log-prefix 'PORTMON'

grep 'PORTMON' /var/log/messages

netstat可以显示活动连接(管道用于wc -l计数):

netstat -punta | grep <yourPort>

或者仅使用 tcpdump 来检查流量。

man tcpdump

答案2

您是否考虑过使用网络监控解决方案?

它不只是获取该端口的连接数,如果值太高,还会执行某些操作:例如设置 iptables 规则来禁止 IP,或者向手机发送警报。如这个问题,您可以使用 IPTraf 插件潘多拉FMS获取该指标,然后使用 Pandora FMS 的警报和报告功能来采取措施。

相关内容