PCAPfilter如何捕获所有与DHCP相关的stream量?

据我所知,对于IPv4我需要捕获

  • UDP端口67和68,
  • ARP,
  • ICMP回应请求和回复,

和IPv6我需要

  • UDP端口546和547,
  • 所有与DHCP相关的组播地址,
  • ICMPv6邻居发现。

我想用tcpdumpwireshark捕获与DHCP相关的stream量,以供日后分析。

尽pipe我希望尽可能使滤波器尽可能具体,以获得一个小的捕获文件,但我不想错过一些重要的数据包,比如那些用来validationIP地址还没有被使用的数据包。

我错过了什么吗?

我用下面的PCAPfilter解决了问题:

( udp and ( port 67 or port 68 ) ) or arp or ( icmp and (icmp[icmptype] == 8 or icmp[icmptype] == 0 ) ) or ( udp and ( port 546 or port 547 ) ) or ( icmp6 and ( ip6[40] == 135 or ip6[40] == 136 ) ) or dst net ff02:0:0:0:0:1:ff00::/104 or dst host ff01::1 or dst host ff02::1 or dst host ff02::1:2 or ( icmp6 and ( ip6[40] == 128 or ip6[40] == 129 ) ) 

前三行捕获DHCPv4,ARP(重复地址检测)和PING。

第四行捕获DHCPv6,第五行到第八行为IPv6复制地址检测。 第九行为DHCPv6代理多播,最后一行是PING6。

当然这会捕获许多与DHCPstream量无关的数据包。 这些必须在之后进行整理。

也许PING和PING6stream量根本就不需要。

filterport 67 or port 68将自己获得DHCP会话,这是正确的。

filter arp应该捕获子网上的ARPstream量。 这是自然的广播,所以可以从子网上的任何端口被捕获。

ICMP请求已经列出。

我会说你有全面的名单。

您希望过滤所有BOOTPstream量,因为DHCP使用BOOTP作为通信协议。 看到这个:

https://wiki.wireshark.org/DHCP