如何在 Linux 服务器中捕获 SYN tcpdump 数据包?

How do I capture SYN tcpdump packets within a Linux server?

我正在尝试使用 python 使用 tcpdump 处理所有服务器连接,并且使用此命令运行良好:

tcpdump -tttt -nn 'tcp[tcpflags] & tcp-syn == tcp-syn'

这是它捕获的内容:

这是它没有的地方:

所以我从外到内获取所有流量,但机器没有发生任何事情。

我想我弄错了一些标志,但我不确定是什么。有任何想法吗?我只是想监视机器内部的服务器连接 activity,但只有在外部时才获取日志。

localhost 上的连接将通过 lo 接口。尝试使用 -i any 选项让它监听所有网络接口。

使用-i any捕获所有接口的数据,包括loopback("localhost to localhost")

您可以通过

排除您自己的IP(ssh客户端IP)
    tcpdump -tttt -nn 'tcp[tcpflags] & tcp-syn == tcp-syn && ! host <ssh-client-ip>'

例如,如果您从 10.2.3.4 ssh,那么命令应该是

    tcpdump -tttt -nn 'tcp[tcpflags] & tcp-syn == tcp-syn && ! host 10.2.3.4'

希望对您有所帮助。