python3 端口扫描实例

import optparse
parser=optparse.OptionParser('usage %prog -H'+'<target host> -p <target port>')
parser.add_option('-H',dest='tgtHost',type='string',help='specify target host')
parser.add_option('-p',dest='tgtPort',type='str',help='specify target port')
(options,args)=parser.parse_args()
tgtHost=options.tgtHost
tgtPort=options.tgtPort
if (tgtHost == None) | (tgtPort==None):
    print (parser.usage)

from socket import *
def connScan(tgtHost,tgtPort):
    try:
        connSkt=socket(AF_INET,SOCK_STREAM)
        connSkt.connect((tgtHost,tgtPort))
        print('[+]%d/tcp open'%tgtPort)
    except:
        print('[-]%d/tcp closed'%tgtPort)

def portScan(tgtHost,tgtPorts):
    try:
        tgtIP=gethostbyname(tgtHost)
    except:
        print("[-] Cannot resolve'%s:unknow host"%tgtHost)
        return
    try:
        tgtName=gethostbyaddr(tgtIP)
        print('\n[+] scan results for:' + tgtName[0])
    except:
        print('\n[+] scan results for:' + tgtIP)
    setdefaulttimeout(1)
    for tgtPort in tgtPorts:
        print('scanning port'+tgtPort)
        connScan(tgtHost,int(tgtPort))
posted @ 2017-09-15 20:42  AbyssCE  阅读(129)  评论(0编辑  收藏  举报