网络编程
位置:首页>> 网络编程>> Python编程>> Python3多线程版TCP端口扫描器

Python3多线程版TCP端口扫描器

作者:刺青LOVELESS  发布时间:2021-07-13 21:25:45 

标签:python3,TCP,端口扫描器

本文实例为大家分享了Python3多线程版TCP端口扫描器的具体代码,供大家参考,具体内容如下

使用命令


python BannerDemo.py -H 192.168.200.101 -p 22,3306

代码如下


import optparse
import socket
from socket import *
from threading import *

screenLock = Semaphore(value=1)

def connScan(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/tcp open"%tgtPort)
   print("[+]"+str(result))
 except Exception as e:
   screenLock.acquire()
   print(e)
 finally:
   screenLock.release()
   connSkt.close()

def portScan(tgtHost,tgtPorts):
 try:
   tgtIp = gethostbyname(tgtHost)
 except:
   print("[-] Cannot reslove '%s' : Unknown host" % tgtHost)
   return

try:
   tgtName = gethostbyaddr(tgtIp)
   print("\n [+] Scan Result for: " + tgtName[0])
 except:
   print("\n [+] Scan Result for: " + tgtIp)

setdefaulttimeout(1)
 for tgtPort in tgtPorts:
   print("Scanning port "+ tgtPort)
   t = Thread(target=connScan,args=(tgtHost,int(tgtPort)))
   t.start()

def main():
 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='string',help='specify target port[s] separated by comma')
 options,args = parser.parse_args()
 tgtHost = options.tgtHost
 tgtPorts = str(options.tgtPort).split(',')
 if(tgtHost == None or tgtPorts[0] == None):
   print("[-] You must specify a target host and port[s]")
   exit(0)
 portScan(tgtHost,tgtPorts)

if __name__ == '__main__':
 main()

来源:https://blog.csdn.net/ciqingloveless/article/details/84994330

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com