如何配置 wireshark 远程捕获?

如何配置 wireshark 远程捕获?

我有两台机器 M1 和 M2,分别运行 Debian 8.0,位于两个远程网络 N1 和 N2

  • M1 在 N1 中连续捕获数据包,并且具有已知的静态 IP。

  • M2 通过连接到 M1 从 N2 远程访问捕获。

    进行远程捕获和实现该系统的最常见方式是什么?

    我现在唯一的解决方案是使用一个简单的 dumpcap 管道 openssl然后netcat

  • 在 M1 上

      tshark -w - | openssl enc -des3 | nc -l 1234
    
  • 在 M2

       nc <M1 IP> 1234 | openssl enc -d -des3 > capture.pcap
    

我还是不知道该如何使用ssh

答案1

我通常用来tcpdump捕获数据包:

 tcpdump -s0 -w </path/to/save/file>.pcap "<PCAP FILTER>"

您的查询在哪里<PCAP_FILTER>,例如host 192.168.86.1捕获发往/来自 的数据包192.168.86.1。所有相关参数都可以通过搜索找到,或者查看使用 获取的手册页man pcap-filter

它将捕获所有数据包,而不仅仅是带有的标头-s0。因此,不要将此参数用于长时间运行的捕获,因为文件会变得很大。

答案2

假设 tcpdump 安装在 M1 上,你可以通过 ssh 连接user到 M1,并且M1user允许。然后你可以这样做sudo

ssh user@M1 'sudo /usr/sbin/tcpdump "PCAP FILTER"'  
# will give you text output
ssh user@M1 'sudo /usr/sbin/tcpdump -w - "PCAP FILTER"' > /path/to/file.pcap  
# will save binary output to .pcap file

您应该制作“PCAP FILTER”,以便将 M2 排除在转储之外;否则,M2->M1 的连接也会被记录下来。系统会要求您在 M1 上输入用户密码,或者您可以通过公钥进行身份验证,这取决于 M1 的 ssh 配置。

或者,按照您的要求使用 tshark:

ssh user@M1 'sudo /path/to/tshark -R <filter> -w -' > capture.pcap

对于“过滤器”,与上述相同。

相关内容