这篇文章主要介绍了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如何编写端口扫描器”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!