Advertisement
infodox

synscanner.py

Nov 15th, 2011
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #Original author: DiabloHorn http://diablohorn.wordpress.com
  3. #Being screwed with by infodox
  4.  
  5. import sys
  6. from scapy import *
  7. #uncomment the line below and comment he one above if the script errors out
  8. #from scapy.all import *
  9.  
  10. def txthelp():
  11.     print
  12.     print "Source Port Scanner"
  13.     print "Usage: " + sys.argv[0] + " target"
  14.     print "Does a simple enough port scan..."
  15.    
  16. def flags2human(flagbits):
  17.     flags = {0:"FIN",1:"SYN",2:"RST",3:"PUSH",4:"ACK",5:"URG",6:"ECN-Echo",7:"CWR"}
  18.     output = []
  19.  
  20.     for x in range(0,8):
  21.         if (flagbits >> x) & 1:
  22.             output.append(flags[x])  
  23.  
  24.     return str(output)
  25.    
  26. if __name__ == "__main__":
  27.     if len(sys.argv) <= 1:
  28.         txthelp()
  29.         sys.exit(1)
  30.        
  31.     ip = IP(dst=sys.argv[1])
  32.     resultscan = []
  33.    
  34.     tcp = TCP(dport=[(1,65535)],sport=[20,53,67,88],flags="S")
  35.     ans,unans = sr(ip/tcp,timeout=2)
  36.     for sent,rcvd in ans:
  37.         if rcvd.haslayer(TCP):
  38.             co = "%d,%d,%d,%s" % (rcvd.dport, sent.dport, rcvd.getlayer(TCP).flags, flags2human(rcvd.getlayer(TCP).flags))
  39.             resultscan.append(co)
  40.     print "srcport, dstport, flags, humanflags"
  41.     for x in resultscan:
  42.         print x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement