Я запускаю wireshark и вижу, что отправляю его правильно, но мой маршрутизатор меняет исходный IP-адрес, который я подделал, на публичный IP-адрес, и я не могу найти способ обойти это.
Ваш маршрутизатор с поддержкой NAT делает свою работу здесь.
Если у вашего роутера нет встроенного ПО, такого как DD-WRT или OpenWRT, возможно, с помощью некоторых iptables
команд можно сказать, чтобы ваш роутер не передавал NAT ваш пакет из локальной сети при определенных условиях - особенно, если оборудование маршрутизатора поддерживает VLAN, и вы проходите через проблема в настройке.
Иначе:
Вероятно, проще всего, если вы подключите свой кабельный или DSL-модем напрямую к компьютеру и попробуете это. NAT не может помешать в этом случае.
Если на вашем маршрутизаторе установлена нестандартная микропрограмма Linux, возможно, вы сможете установить инструменты, которые вы используете для создания поддельных пакетов на самом маршрутизаторе и отправки оттуда непосредственно из интерфейса WAN, минуя NAT.
В качестве альтернативы вы можете настроить ПК с двумя сетевыми картами в качестве маршрутизатора на базе Linux и, безусловно, иметь любой необходимый вам инструмент прямо перед интерфейсами WAN или LAN.
Я не уверен, какие механизмы безопасности могут / будут иметь жилые интернет-провайдеры против поддельных IP-дейтаграмм, но если у них будут какие-либо меры, вы отключите их и, возможно, поймаете внимание / создадите проблемы. Вы должны действительно установить это в частной лаборатории с воздушным зазором и проверить там.