Advertisement
rfmonk

portscan3.py

Nov 23rd, 2013
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 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. def main():
  33.     parser = optparse.OptionParser("usage%prog "+\
  34.         "-H ,target host> -p <target port>")
  35.     parser.add_option('-H', dest='tgtHost', type='string', \
  36.         help='specify target host')
  37.     parser.add_option('-p', dest='tgtPort', type='string', \
  38.         help='specify target port[s] seperated by comma')
  39.     (options, args) = parser.parse_args()
  40.     tgtHost = options.tgtHost
  41.     tgtPorts = str(options.tgtPort).split(', ')
  42.     if (tgtHost == None) | (tgtPorts[0] == None):
  43.         print '[-] You must specify a target host and port[s].'
  44.         exit(0)
  45.     portScan(tgtHost, tgtPorts)
  46. if __name__ == '__main__':
  47.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement