add example icmp drop script
All checks were successful
Build and Deploy MITM Webserver / traffic_target (push) Successful in 0s
Build and Deploy MITM Webserver / build (push) Successful in 1m40s

This commit is contained in:
2026-04-17 21:36:00 +02:00
parent 794a727dcb
commit d90c5e1650
2 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
netfilterqueue
scapy

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env python3
# drop_icmp_v4.py
# Requirements: NetfilterQueue, scapy
import sys
from netfilterqueue import NetfilterQueue
from scapy.all import IP
def on_packet(pkt):
data = pkt.get_payload()
try:
ip = IP(data)
# IPv4 ICMP protocol number == 1
if ip.proto == 1:
pkt.drop()
return
except Exception:
# parsing error -> accept (conservative choice)
pass
pkt.accept()
def main():
if len(sys.argv) < 2:
print("Usage: drop_icmp_v4.py <QUEUE_NUM>", file=sys.stderr)
sys.exit(1)
qnum = int(sys.argv[1])
nfq = NetfilterQueue()
nfq.bind(qnum, on_packet)
try:
nfq.run()
except KeyboardInterrupt:
pass
finally:
nfq.unbind()
if __name__ == "__main__":
main()