From 7ee5db4120f8eb90688b09520e62501b51f1dae7 Mon Sep 17 00:00:00 2001 From: David Westgate Date: Thu, 13 Jun 2024 02:52:53 -0700 Subject: [PATCH] ttl script --- final/scripts/ttl.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/final/scripts/ttl.py b/final/scripts/ttl.py index 0a773a9..46d5c2d 100644 --- a/final/scripts/ttl.py +++ b/final/scripts/ttl.py @@ -1,10 +1,11 @@ import sys -from scapy.all import sniff, send, IP, IPv6 +from scapy.all import sniff, send, IP, IPv6, Packet, Raw, Ether, sendp from datetime import datetime -modifications = 0 -def modify_packet(packet): +def modify_packet(packet: Packet): + global modifications + global seen if packet.haslayer(IP): if packet[IP].ttl != 65: packet[IP].ttl = 65 @@ -13,11 +14,14 @@ def modify_packet(packet): if packet[IPv6].ttl != 65: packet[IPv6].ttl = 65 modifications += 1 + seen += 1 #Can be extented with other protocols which have TTL - send(packet) + sendp(packet, iface=sys.argv[1]) if __name__ == "__main__": + modifications = 0 + seen = 0 if len(sys.argv) != 2: print(f"Usage: {sys.argv[0]} ") sys.exit(1) @@ -27,8 +31,9 @@ if __name__ == "__main__": start_time = datetime.now() print(f"Script started at: {start_time.strftime('%Y-%m-%d %H:%M:%S')}") - packets = sniff(filter="ip or ipv6", iface=interface, timeout=30*1, prn=modify_packet) + packets = sniff(filter="ip or ip6", iface=interface, timeout=2.5*1, prn=modify_packet) end_time = datetime.now() print(f"Script ended at: {end_time.strftime('%Y-%m-%d %H:%M:%S')}") - print(f"{modifications} packets modified") \ No newline at end of file + print(f"{modifications} ip(v6) packets modified") + print(f"{seen} total ip(v6) packets seen") \ No newline at end of file