Используя минимальный дистрибутив Fedora 14, предоставленный в PlanetLab, я подделываю пакеты через Scapy и отправляю их с помощью tcpreplay .

Я думал, что установил все необходимые пакеты для запуска scapy и tcpreplay , но по какой-то причине scapy не может получить доступ к mac-адресу машины.

Например, если я отправляю пакет через Scapy , я всегда получаю:

"WARNING: Mac address to reach destination not found. Using broadcast."

Также, если я добавлю уровень Ethernet к существующему IP-пакету, результирующее назначение всегда будет ff:ff:ff:ff:ff:ff .

Что мне здесь не хватает?

1 ответ1

0

Итак, я понял, что происходит:

  • На PlanetLab вы не можете отправлять запросы ARP , даже если вы являетесь пользователем root. Вы можете только прочитать таблицу ARP, которая предоставлена вам
  • Когда Scapy создает уровень Ethernet без входного адреса назначения, он делает запрос ARP, чтобы заполнить это поле заголовка Ethernet.

=> Решение: мне пришлось самостоятельно искать таблицу ARP и указывать MAC-адрес шлюза в каждом пакете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .