Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket, binascii, struct
- import time
- sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x800))
- print "Waiting.."
- pkt = sock.recv(2048)
- print "received"
- def processEth(data):
- #some code to process source mac and dest. mac
- return [smac, dmac]
- def processIP(data):
- sip = str(binascii.hexlify(data[1]))
- dip = str(binascii.hexlify(data[2]))
- return [sip, dip]
- def processTCP(data):
- sport = str(data[0])
- dport = str(data[1])
- return [sport, dport]
- while len(pkt) > 0 :
- if(len(pkt)) > 54:
- pkt = sock.recv(2048)
- ethHeader = pkt[0][0:14]
- ipHeader = pkt[0][14:34]
- tcpHeader = pkt[0][34:54]
- ethH = struct.unpack("!6s6s2s",ethHeader)
- ethdata = processEth(ethH)
- ipH = struct.unpack("!12s4s4s",ipHeader)
- ipdata = processIP(ipH)
- tcpH = struct.unpack("!HH16", tcpHeader)
- tcpdata = processTCP(tcpH)
- print "S.mac "+ethdata[0]+" D.mac "+ethdata[1]+" from: "+ipdata[0]+":"+tcpdata[0]+" to: "+ipdata[1]+":"+tcpdata[1]
- #time.sleep(1);
- else:
- continue
- [...]
- while len(pkt) > 0:
- print "Waiting.."
- pkt = sock.recv(2048)
- print "received"
- if(len(pkt)) > 54:
- ethHeader = pkt[0:14]
- ipHeader = pkt[14:34]
- tcpHeader = pkt[34:38]
- ethH = struct.unpack("!6s6s2s",ethHeader)
- ethdata = processEth(ethH)
- ipH = struct.unpack("!12s4s4s",ipHeader)
- ipdata = processIP(ipH)
- tcpH = struct.unpack("!HH16", tcpHeader)
- tcpdata = processTCP(tcpH)
- print "S.mac "+ethdata[0]+" D.mac "+ethdata[1]+" from: "+ipdata[0]+":"+tcpdata[0]+" to: "+ipdata[1]+":"+tcpdata[1]
- #time.sleep(1);
- else:
- continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement