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

时间:2016-02-17 21:46:09

标签: python linux sockets tcp tcpdump

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

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

以下是它捕获的内容:

  • 与其他计算机的服务器之间的任何连接
  • 在框中运行,它会将telnet登录到端口22

这不是:

  • 如果我运行ssh localhost
  • 任何时候机器上的任何服务器(或大多数进程)同步到同一台机器上的监听端口

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

我认为我的旗帜错了,但我不确定是什么。有任何想法吗?我只是试图监视一台机器内的服务器连接活动,但只是在外部时获取一个日志。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以通过

排除自己的IP(ssh客户端IP)
nouns

例如,如果从10.2.3.4开始ssh,那么命令应为

    tcpdump -tttt -nn 'tcp[tcpflags] & tcp-syn == tcp-syn && ! host <ssh-client-ip>'

希望它有所帮助。