Python3多线程版TCP端口扫描器
本文实例为大家分享了Python3多线程版TCP端口扫描器的具体代码,供大家参考,具体内容如下
使用命令
pythonBannerDemo.py-H192.168.200.101-p22,3306
代码如下
importoptparse importsocket fromsocketimport* fromthreadingimport* screenLock=Semaphore(value=1) defconnScan(tgtHost,tgtPort): try: connSkt=socket(AF_INET,SOCK_STREAM) connSkt.connect((tgtHost,tgtPort)) connSkt.send('ViolentPython\r\n'.encode('utf-8')) result=connSkt.recv(1024) screenLock.acquire() print("[+]%d/tcpopen"%tgtPort) print("[+]"+str(result)) exceptExceptionase: screenLock.acquire() print(e) finally: screenLock.release() connSkt.close() defportScan(tgtHost,tgtPorts): try: tgtIp=gethostbyname(tgtHost) except: print("[-]Cannotreslove'%s':Unknownhost"%tgtHost) return try: tgtName=gethostbyaddr(tgtIp) print("\n[+]ScanResultfor:"+tgtName[0]) except: print("\n[+]ScanResultfor:"+tgtIp) setdefaulttimeout(1) fortgtPortintgtPorts: print("Scanningport"+tgtPort) t=Thread(target=connScan,args=(tgtHost,int(tgtPort))) t.start() defmain(): parser=optparse.OptionParser("usage%prog-H-p ") parser.add_option('-H',dest='tgtHost',type='string',help='specifytargethost') parser.add_option('-p',dest='tgtPort',type='string',help='specifytargetport[s]separatedbycomma') options,args=parser.parse_args() tgtHost=options.tgtHost tgtPorts=str(options.tgtPort).split(',') if(tgtHost==NoneortgtPorts[0]==None): print("[-]Youmustspecifyatargethostandport[s]") exit(0) portScan(tgtHost,tgtPorts) if__name__=='__main__': main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。