как модифицировать пакеты используя winpcap - PullRequest
0 голосов
/ 08 марта 2012

Я хочу изменить данные пакетов, используя winpcap, и отправить измененные пакеты по IP-адресу назначения вместо исходных пакетов. как я могу это понять? Кто-нибудь может дать несколько идей? например какой API может это реализовать? если возможно, несколько шагов или другие документы более ценны. Большое спасибо!

Ответы [ 2 ]

1 голос
/ 06 сентября 2012

С помощью Winpcap вы можете изменить содержимое пакета на packet[i]= любое шестнадцатеричное значение (например, 0xFF).

Не забудьте использовать i>13 для изменения данных, например:

  • packet[0 -> 5] is MAC-адрес назначения
  • packet[6 -> 11] is исходный MAC
  • packet[12 -> 13] - Тип Ethernet
  • frompacket[14 -> onwards] - байт данных

Помните MAX Ethernet PACKET длина 1500 bytes.

0 голосов
/ 08 марта 2012

Я думаю, вам нужно TUN / TAP вместо WinPcap, чтобы выполнить задачу, описанную в вашем вопросе. Пожалуйста, посмотрите на этот документ:

К сожалению, его не так просто использовать, как WinPcap. Так что, возможно, вы захотите использовать другой подход. Не могли бы вы более точно указать ваши потребности, чтобы мы могли предложить более простые альтернативы, например. писать шлюз TCP в Python? Эта небольшая утилита может быть подсказкой для вас, если вам не нужно настраивать кадры Ethernet:

...