From 6b62de7d35ddf054fd1ba078160e331992f4a8bc Mon Sep 17 00:00:00 2001 From: David Westgate Date: Thu, 13 Jun 2024 01:38:10 -0700 Subject: [PATCH] update script --- .gitignore | 3 ++- final/capture.py | 24 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 6fa605e..8e366bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ _*/ -*bin \ No newline at end of file +*bin +*pcap \ No newline at end of file diff --git a/final/capture.py b/final/capture.py index 5838f5e..370556a 100644 --- a/final/capture.py +++ b/final/capture.py @@ -11,7 +11,7 @@ def signal_handler(sig, frame): global stop_event stop_event.set() -def capture_traffic(interface, ip, port): +def capture_traffic(interface, ip='192.168.0.56', port=5000): global stop_event stop_event = Event() @@ -20,7 +20,7 @@ def capture_traffic(interface, ip, port): def create_filename(interface): now = datetime.now() - return f"{now.strftime('%Y%m%d_%H%M')}_{interface}_{int(time.time())}.pcap" + return f"captures/{now.strftime('%Y%m%d_%H%M')}_{interface}_{int(time.time())}.pcap" def save_packets(packets, filename): wrpcap(filename, packets) @@ -40,16 +40,24 @@ def capture_traffic(interface, ip, port): print(f"Sent {filename} to {ip}:{port}") while not stop_event.is_set(): + start_time = time.time() filename = create_filename(interface) - packets = sniff(iface=interface, timeout=5*60, stop_filter=lambda x: stop_event.is_set()) + packets = sniff(iface=interface, timeout=30*1, stop_filter=lambda x: stop_event.is_set()) save_packets(packets, filename) if __name__ == "__main__": - if len(sys.argv) != 4: - print(f"Usage: {sys.argv[0]} ") + if len(sys.argv) < 2 or len(sys.argv) > 4: + print(f"Usage: {sys.argv[0]} [ip] [port]") sys.exit(1) interface = sys.argv[1] - ip = sys.argv[2] - port = int(sys.argv[3]) - capture_traffic(interface, ip, port) \ No newline at end of file + ip = sys.argv[2] if len(sys.argv) > 2 else '192.168.0.56' + port = int(sys.argv[3]) if len(sys.argv) > 3 else 5000 + + start_time = datetime.now() + print(f"Script started at: {start_time.strftime('%Y-%m-%d %H:%M:%S')}") + + capture_traffic(interface, ip, port) + + end_time = datetime.now() + print(f"Script ended at: {end_time.strftime('%Y-%m-%d %H:%M:%S')}")