繁体   English   中英

tcpdump过滤ssl数据包

[英]tcpdump to filter ssl packets

我需要使用tcpdump过滤掉所有SSL数据包。 我知道只有第一个数据包可以被识别为ssl。 是否有可能与第一个数据包匹配,然后过滤掉其余的SSL流?

您也可以在tcpdump中过滤tcp流,此站点说明了如何以这种方式使用tcpdump,希望对您有所帮助: tcpdump.org/tcpdump_man.html

您将不得不对其进行一些调整,但是它应该可以工作。

另外,还有一个专用的SSL_DUMP实用程序

是的你可以。 您可以按照以下命令过滤SSL流量的第一个数据包,

方法1

[root@arif]# tcpdump -i eth0 src host 192.168.0.2 and dst host 40.113.200.201 and dst port 443 -c 1

哪里,

  • -i :提接口
  • src host :是您本地src host的IP
  • dst host :是目标主机的IP
  • dst port :是提供SSL服务的目标端口。 您可以根据您的配置更改默认(443)端口。
  • -c :用于在接收到计数包后退出tcpdump

-c标志是过滤的主要组成部分,因为此标志告诉tcpdump在特定数据包计数后退出。 在这里,我只捕获了一个(第一个)数据包后就使用1退出tcpdump

方法2

上述解决方案仅在每次启动tcpdump时才起作用。 如果您想过滤出每个SSL流的唯一第一个数据包,请按照下面的命令,

[root@arif]# tcpdump -li eth0 src host 192.168.0.2 and dst host 40.113.200.201 and port 443 and tcp[13] == 2

哪里,

  • l :“使标准输出行缓冲。如果要在捕获数据时查看数据,则很有用。” 这将帮助您grep/tee/awk输出。

  • src host dst host :如果您不想指定源IP和目标IP,则可以忽略这些过滤。

  • tcp[13] == 2TCP报头八进制数。 13是用于设置标志的八进制数。 要设置SYN0 0 0 0 0 0 1 0 ,请使用十进制2组合(请看下面的图表)。 因此,这将帮助您仅过滤SYN数据包,它是SSL流的第一个数据包。

 |C|E|U|A|P|R|S|F|
 |---------------|
 |0 0 0 0 0 0 1 0|
 |---------------|

因此,以上配置适用于大多数场景。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM