Насколько я понимаю для IPv4 я должен был бы получить
и для IPv6 мне было бы нужно
Я хочу получить связанный с DHCP трафик с tcpdump или wireshark для более позднего анализа.
Хотя я хочу сделать фильтр максимально конкретным для получения маленького файла получения, я не хочу пропускать некоторые важные пакеты как используемые, чтобы проверить, что 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 вообще не нужен.
Фильтр порт 67 или порт 68
получит сам DHCP-трафик, верно.
Фильтр arp
должен перехватывать arp-трафик в подсети. Он является широковещательным по своей природе, поэтому может быть перехвачен с любого порта подсети.
А ICMP запросы, которые вы уже описали.
Я бы сказал, что у вас есть исчерпывающий список.
Вы хотите отфильтровать весь BOOTP-трафик, так как DHCP использует BOOTP как протокол is is comms. Смотрите: