Я люблю использовать Scapy, любые изменения, которые я получаю. Находясь в Python, он имеет довольно низкую кривую обучения. Вы можете изменить любую часть пакета (Eth, IP, TCP / UDP, Payload). Любой слой ниже полезной нагрузки Scapy поставляется с опцией размытия любых полей. У вас есть возможность пересчитать поля контрольной суммы / длины. Вы можете загружать трафик с PCAP и использовать пакеты оттуда. Scapy не будет жаловаться, если вы сделаете действительно странный пакет; например
from scapy.all import *
packet = IP()/ICMP()/ICMP()
packet.show()
Я использовал его для создания MITM-атаки на виртуальные маршрутизаторы, использующие RIP. Он обходит правила iptables, поэтому его сопряжение с правилами может многое сделать. Он может использоваться в качестве сервера, если вы отбрасываете пакеты RST. Его можно использовать даже для изменения входящего и исходящего трафика с использованием nfqueue.
В целом, Scapy дает вам массу гибкости и простоты использования.