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



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

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

以下是它捕获的内容:

  • 从另一台计算机与服务器之间的任何连接
  • 在盒子上运行,它将记录到端口 22 的 telnet

这是它没有的:

  • 如果我运行 ssh 本地主机
  • 任何时候,计算机上的任何服务器(或大多数进程)都同步到同一台计算机上的侦听端口

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

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

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

本地主机上的连接将通过lo接口进行。尝试使用 -i any 选项使其侦听所有网络接口。

您可以通过以下方式排除自己的 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'

希望对您有所帮助。

最新更新