python 实现端口扫描工具
#简单的端口扫描工具 #作者:Charles #公众号:Charles的皮卡丘 importtime importsocket importthreading #判断是否为正确的IP地址。 defisIP(ip): ip_addr=ip.split('.') iflen(ip_addr)!=4: returnFalse foripnuminip_addr: ifnot(0<=int(ipnum)<255): returnFalse else: returnTrue #端口扫描工具 classscanThread(threading.Thread): def__init__(self,ip,port_min=0,port_max=65535): #初始化。 threading.Thread.__init__(self) self.port_max=port_max self.port_min=port_min self.ip=ip #assertisinstance(int,self.port_min)andisinstance(int,self.port_max) #重写run defrun(self): returnself.__checker() #检测 def__checker(self): forportinrange(self.port_min,self.port_max): self.__connect(port) #连接 def__connect(self,port): socket.setdefaulttimeout(1) self.sock=socket.socket() try: start_time=time.time() self.sock.connect((self.ip,port)) end_time=time.time() connect_time=int(start_time-end_time) info='Find-->[IP]:%s,[PORT]:%s,[ConnectTime]:%d'%(self.ip,port,connect_time) print(info) self.__save(info) self.sock.close() except: #print('出错误了') self.sock.close() def__save(self,info): try: withopen('results.txt','a')asf: f.write(info+'\n') except: print('写文件出现了问题') time.sleep(0.1) if__name__=='__main__': #输入IP地址。 ip=input('InputIP(example):\n') print(isIP(ip)) whilenotisIP(ip): ip=input('请输入正确的IP地址:\n') #输入最小端口、 port_min=input('需要扫描的最小端口为:') whilenot(0<=int(port_min)<65535): port_min=input('请输入正确的需要扫描的最小端口:') port_max=input('需要扫描的最大端口为(65535):') whilenot(0<=int(port_min) 以上就是python实现端口扫描工具的详细内容,更多关于python端口扫描工具的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。