if not adapters: print("No WinPcap/Npcap adapters found. Install Npcap first.") sys.exit(1)
Enter adapter NAME from above (or press Enter for default): > jumpstart winpcap
# Step 2: Let user pick adapter (optional: use first one) print("Enter adapter NAME from above (or press Enter for default):") chosen = input("> ").strip() iface = chosen if chosen else None # None = Scapy default if not adapters: print("No WinPcap/Npcap adapters found
try: sniff( iface=interface, count=packet_count, timeout=timeout_sec, filter=filter_str, prn=packet_callback, store=False ) except KeyboardInterrupt: print("\nCapture stopped by user.") except PermissionError: print("\nERROR: Run as Administrator to capture packets.") sys.exit(1) except Exception as e: print(f"\nERROR: e") if "No device exists" in str(e): print("Hint: Check adapter name or install Npcap/WinPcap.") sys.exit(1) filters by protocol
--- Starting capture --- Filter: tcp or udp or arp Max packets: 30 | Timeout: 15s
""" Jumpstart WinPcap Feature: Live Packet Monitor & Logger Captures packets, filters by protocol, saves summary to file. """ from scapy.all import sniff, get_windows_if_list from datetime import datetime import sys
# Save to log file with open("packet_log.txt", "a") as log: log.write(log_line) def start_capture(interface=None, packet_count=20, timeout_sec=10, filter_str="tcp or udp or arp"): """ Capture packets with optional filter.