python编写简单端口扫描器
(编辑:jimmy 日期: 2024/11/21 浏览:3 次 )
本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下
直接放代码
此代码只支持扫描域名,要扫描IP请自己修改
from socket import * from threading import Thread import optparse Port = [80,21,23,22,25,110,443,1080,3306,3389,1521,1433] Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server'] def Scan(tghost,tgport,Server): try: s=socket() s.connect((tghost,tgport)) print(tghost+'____>'+str(tgport)+' open',end='||||| ') print(str(tgport)+'---->'+Server) s.close() except: print(str(tgport)+'----> '+'not open') def hostToaddr(host):#将域名转成ip try: return gethostbyname(host) except: return def main(): parser=optparse.OptionParser() parser.add_option('-t', dest='dname') #parser.add_option('-p',dest='pname') (options,args)=parser.parse_args() if(options.dname==None): print('[-] You must specify a target host and port') exit(0) else: tgname=options.dname ip=hostToaddr(tgname) #Scan(ip) for i,j in zip(Port,Server):#用线程提高速度 t=Thread(target=Scan,args=(ip,i,j)) t.start() input()#cmd界面如果快速闪退,请加入这条代码 if __name__=='__main__': main()
运行代码
代码执行结果
因为代码过于简单,这里我就不具体解释了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇:python多线程扫描端口(线程池)