Я пытаюсь использовать pcap для изменения пакета перед отправкой. Например, у меня есть сервер (под управлением Ubuntu), прослушивающий порт 8000. Прежде чем он отправляет SYN-ACK для входящего пакета SYN, я пытаюсь изменить SYN-ACK, используя pcap.

Пока что я могу получить SYN-ACK, сгенерированный ОС, в pcap, изменить и отправить его. Но отправляются два пакета: (1) оригинальный пакет SYN-ACK, сгенерированный ОС, (2) модифицированный пакет pcap.

Я знаю, что это не удивительно, поскольку ОС отправляет копию пакета в pcap для обработки, а исходный пакет отправляется отдельно.

Когда я отбросил исходящий пакет SYN-ACK (сгенерированный ОС) с помощью iptables, я даже не смог получить SYN-ACK в pcap.

У меня такой вопрос: возможно ли отбросить оригинальный пакет SYN-ACK и отправить только модифицированный пакет pcap?

Спасибо!

1 ответ1

0

Допустим, ваш целевой IP 8.8.8.8

На исходном хосте настройте маршрут следующим образом:

route 8.8.8.8 mask 255.255.255.255 gateway 192.168.1.254

Если IP-адрес шлюза находится в локальной сети и не существует (это не фактическая команда, используйте синтаксис, зависящий от используемого вами инструмента маршрутизации).

Затем добавьте запись arp:

arp -s 192.168.1.254 11:22:33:44:55:66

Теперь любые пакеты с хоста, предназначенного для 8.8.8.8, будут отправлены на этот mac-адрес и никуда не денутся.

Теперь вы можете перехватить пакет, внести изменения, но также изменить MAC-адрес назначения, чтобы он был MAC-адресом вашего маршрутизатора, чтобы он корректно выходил из строя. Ответные пакеты будут автоматически отправляться на сервер.

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