Я не уверен, существует ли такой инструмент, но я хочу динамически изменять определенные пакеты, отправляемые через мою беспроводную сеть. В частности, я хочу изменить пакеты, отправленные с нескольких машин (включая телефоны), и, возможно, ввести дополнительные пакеты. Первое, что пришло в голову - это какой-то прокси. Я поискал в сети жизнеспособные варианты, и единственное, что мне пришло в голову, это прокси-сервер Squid. Однако у меня не было документации о том, как это сделать с помощью Squid. Любая помощь будет оценена :)
В какой-то степени scapy может это сделать. Например, вы можете изменить порт src dst или ips, принудительно пересчитать контрольную сумму и т. д. Я фактически сделал это частично с намерением изменить пакеты http. В моем случае модификация означала вставку дополнительных данных (заголовков), что также делает недействительными порядковые номера TCP. Однако ранее упомянутые изменения могут быть сделаны.
Некоторый код Python, который я использовал с scapy
использовать scapy для обнюхивания и изменения пакетов
Обратите внимание, что при сниффинге scapy генерирует копию исходного пакета, который вы изменяете и отправляете, в то время как вам нужно использовать что-то вроде таблиц IP для блокировки исходного пакета.
Если код вас не интересует, интерфейс командной строки scapy делает то же самое.