Advertisement
rfmonk

portscanner_Works.py

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