据我所知,对于IPv4我需要捕获
和IPv6我需要
我想用tcpdump或wireshark捕获与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作为通信协议。 看到这个: