Назад | Перейти на главную страницу

Как будет выглядеть фильтр PCAP для захвата всего трафика, связанного с DHCP?

Насколько я понимаю, для IPv4 мне нужно было бы захватывать

а для IPv6 мне понадобится

Я хочу захватить трафик, связанный с DHCP, с помощью tcpdump или wirehark для последующего анализа.

Хотя я хочу сделать фильтр как можно более конкретным, чтобы получить небольшой файл захвата, я не хочу пропустить некоторые важные пакеты, подобные тем, которые используются для проверки того, что IP-адрес еще не занят.

Я что-то упускаю?

Я остановился на следующем фильтре PCAP:

( 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.

Конечно, это перехватит много пакетов, не связанных с трафиком DHCP. Впоследствии с ними нужно разобраться.

Возможно, трафик PING и PING6 вообще не нужен.

Фильтр port 67 or port 68 даст вам сам диалог DHCP, это правильно.

Фильтр arp должен захватывать трафик arp в подсети. Это широковещательный характер, поэтому его можно перехватить с любого порта подсети.

И запросы ICMP, которые вы уже обрисовали.

Я бы сказал, что у вас есть исчерпывающий список.

Вы хотите отфильтровать весь трафик BOOTP, поскольку DHCP использует протокол BOOTP как протокол связи. Посмотри это:

https://wiki.wireshark.org/DHCP