Зачем связывать pdst с целевым ip-адресом и связывать широковещательный mac-адрес вместо целевого mac-адреса - PullRequest
0 голосов
/ 16 июня 2019

На странице книги 'The Black Hat Python' 53 цель restore_t. Почему мы указываем IP-адрес шлюза, а не указываем его MAC-адрес? Я имею в виду, что если мы собираемся транслировать наш пакет ARP, тогда зачем указывать значение pdst для конкретного IP-адреса вместо широковещательного IP-адреса, такого как hwdst? ?

send(ARP(op=2, psrc=gateway_ip, pdst=target_ip, hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac),count=5)

1 Ответ

1 голос
/ 16 июня 2019

То, что вы отправляете сюда, называется безвозмездный ARP .Это особый вид пакетов, определяемый тем фактом, что Mac назначения ff:ff:ff:ff:ff:ff.

Посмотрите на: https://www.practicalnetworking.net/series/arp/gratuitous-arp/

Разница в том, что это ответный пакет,даже если не было пакета запроса.Это "бесплатно".В вашем случае вы отправляете пакетное сопоставление psrc на hwsrc, отправленное каждому: маршрутизатор сообщает всем свой MAC-адрес.

В этом случае значение pdst не имеет большого значения, но онопо соглашению должен быть установлен на тот же адрес, что и psrc.Я не знаю, почему в вашем примере все было иначе.

...