Advertisement
rfmonk

portscan3_added_threading.py

Nov 23rd, 2013
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. #! /usr/bin/env python
  2.  
  3. import optparse
  4. import socket
  5. from socket import *
  6. def connScan(tgtHost, tgtPort):
  7.     try:
  8.         connSkt = socket(AF_INET, SOCK_STREAM)
  9.         connSkt.connect((tgtHost, tgtPort))
  10.         connSkt.send('ViolentPython\r\n')
  11.         results = connSkt.recv(100)
  12.         print '[+]%d/tcp open'% tgtPort
  13.         print '[+] ' + str(results)
  14.         connSkt.close()
  15.     except:
  16.         print '[-]%d/tcp closed'% tgtPort
  17. def portScan(tgtHost, tgtPorts):
  18.     try:
  19.         tgtIP = gethostbyname(tgtHost)
  20.     except:
  21.         print "[-] Cannot resolve '%s' : Unknown host" %tgtHost
  22.         return
  23.     try:
  24.         tgtName = gethostbyaddr(tgtIP)
  25.         print '\n[+] Scan Results for: ' + tgtName[0]
  26.     except:
  27.         print '\n[+] Scan Results for: ' + tgtIP
  28.     setdefaulttimeout(1)
  29. #   for tgtPort in tgtPorts:
  30. #       print 'Scanning port ' + tgtPort
  31. #       connScan(tgtHost, int(tgtPort))
  32. #   This change allows threading
  33.     for tgtPort in tgtPorts:
  34.         t = Thread(target=connScan, args=(tgtHost, int(tgtPort)))
  35.         t.start()
  36. def main():
  37.     parser = optparse.OptionParser("usage%prog "+\
  38.         "-H ,target host> -p <target port>")
  39.     parser.add_option('-H', dest='tgtHost', type='string', \
  40.         help='specify target host')
  41.     parser.add_option('-p', dest='tgtPort', type='string', \
  42.         help='specify target port[s] seperated by comma')
  43.     (options, args) = parser.parse_args()
  44.     tgtHost = options.tgtHost
  45.     tgtPorts = str(options.tgtPort).split(', ')
  46.     if (tgtHost == None) | (tgtPorts[0] == None):
  47.         print '[-] You must specify a target host and port[s].'
  48.         exit(0)
  49.     portScan(tgtHost, tgtPorts)
  50. if __name__ == '__main__':
  51.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement