如何获取Linux网络日志?

ero*_*ppa 18 networking linux java logging socket

我们有一个在 linux 中运行在特定端口上的 java 服务器,它接受成千上万用户的持久连接。最近,我们的客户因超时错误而无法连接。我们怀疑流量太高,但我们的 java 日志实际上显示每秒连接的数量并不多。

我们怀疑是否有太多人同时尝试,并且它们基本上在操作系统级别被丢弃,因此java程序从来没有真正有机会接受连接?linux中是否有某种日志可以显示有人试图打一个套接字?

Jam*_*s L 12

iptables -I INPUT -p tcp --dport some_port -j LOG然后
tail -f /var/log/messages
之后,查看该规则命中了多少数据: iptables -L -n -v
或者您可以运行 tcpdump 并 grep 输出端口。

  • +1。稍作修改可能会更好地捕获新的连接尝试:`iptables -I INPUT -p tcp --dport some_port -m state --state NEW`。请注意,除非您对每次连接尝试的详细信息感兴趣,否则省略 `-j LOG` 可以避免将大量不需要的数据发送到系统日志文件中。 (3认同)