Skip to content

Instantly share code, notes, and snippets.

@mwollenweber
Created April 7, 2011 00:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mwollenweber/906793 to your computer and use it in GitHub Desktop.
Save mwollenweber/906793 to your computer and use it in GitHub Desktop.
A stub scapy script
#!/usr/bin/python
#Matthew Wollenweber
#mjw@cyberwart.com
from scapy.all import *
import sys, os, socket, traceback, getopt
default_bpf = "tcp"
default_iface = "en0"
default_max = 10000
def process_tcp(t):
print "processing tcp"
def process_udp(u):
print "processing udp"
def default_handler(frame):
try:
if frame.haslayer(IP) == True:
pkt = frame[IP]
src = pkt.src
dst = pkt.dst
else:
return None
if pkt.haslayer(TCP) == True:
tcp = pkt[TCP]
process_tcp(tcp)
elif pkt.haslayer(UDP) == True:
udp = pkt[UDP]
process_udp(udp)
else:
print "unknown layer4"
except:
print "something is broken. Continuing"
traceback.print_exc(file=sys.stdout)
def start_sniffing(handler = default_handler, ifc = default_iface, max_packets = default_max):
print "starting sniffer"
s = sniff(prn = handler, iface = ifc, count = max_packets, store = 0 )
return s
def main():
print "main"
start_sniffing()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment