Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. import socket, binascii, struct
  2. import time
  3.  
  4. sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x800))
  5. print "Waiting.."
  6. pkt = sock.recv(2048)
  7. print "received"
  8.  
  9. def processEth(data):
  10. #some code to process source mac and dest. mac
  11. return [smac, dmac]
  12.  
  13. def processIP(data):
  14. sip = str(binascii.hexlify(data[1]))
  15. dip = str(binascii.hexlify(data[2]))
  16. return [sip, dip]
  17.  
  18. def processTCP(data):
  19. sport = str(data[0])
  20. dport = str(data[1])
  21. return [sport, dport]
  22.  
  23.  
  24. while len(pkt) > 0 :
  25.  
  26. if(len(pkt)) > 54:
  27. pkt = sock.recv(2048)
  28. ethHeader = pkt[0][0:14]
  29. ipHeader = pkt[0][14:34]
  30. tcpHeader = pkt[0][34:54]
  31.  
  32. ethH = struct.unpack("!6s6s2s",ethHeader)
  33. ethdata = processEth(ethH)
  34.  
  35. ipH = struct.unpack("!12s4s4s",ipHeader)
  36. ipdata = processIP(ipH)
  37.  
  38. tcpH = struct.unpack("!HH16", tcpHeader)
  39. tcpdata = processTCP(tcpH)
  40.  
  41. print "S.mac "+ethdata[0]+" D.mac "+ethdata[1]+" from: "+ipdata[0]+":"+tcpdata[0]+" to: "+ipdata[1]+":"+tcpdata[1]
  42. #time.sleep(1);
  43.  
  44. else:
  45. continue
  46.  
  47. [...]
  48.  
  49. while len(pkt) > 0:
  50.  
  51. print "Waiting.."
  52. pkt = sock.recv(2048)
  53. print "received"
  54.  
  55. if(len(pkt)) > 54:
  56. ethHeader = pkt[0:14]
  57. ipHeader = pkt[14:34]
  58. tcpHeader = pkt[34:38]
  59.  
  60. ethH = struct.unpack("!6s6s2s",ethHeader)
  61. ethdata = processEth(ethH)
  62.  
  63. ipH = struct.unpack("!12s4s4s",ipHeader)
  64. ipdata = processIP(ipH)
  65.  
  66. tcpH = struct.unpack("!HH16", tcpHeader)
  67. tcpdata = processTCP(tcpH)
  68.  
  69. print "S.mac "+ethdata[0]+" D.mac "+ethdata[1]+" from: "+ipdata[0]+":"+tcpdata[0]+" to: "+ipdata[1]+":"+tcpdata[1]
  70. #time.sleep(1);
  71.  
  72. else:
  73. continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement