Python实战开发-年轻人的第一款端口扫描器

论坛 期权论坛 期权     
广航知库   2019-7-20 20:06   2210   0
渗透的关键环节就是信息的收集,信息收集的效率也是决定我们业务能力的关键,那么要快速准确地找到目标的弱点,脆弱部分就成了我们的关键。(纯属凑字数),上一期我们将了如何用python进行子域名的收集,这一次我们来对可能存在漏洞的关键端口进行扫描。要使用python端口扫描可以使用socket或者telnetlib这两个库来实现,这里使用telnetlib这个库来实现判断端口是否存在,并且讲解一下简单telnet库的使用方法。
使用python自带的telnetlib库来判断端口是否存在:                          





实现方法





1.telnetlib模块使用的基本方法:
   连接:tn=telnetlib.Telnet(IP, port=端口, timeout=超时)
           tn.set_debuglevel(2)
  读取标志符:
      tn.read_until('login: ') #读取到login:就写入用户名
          tn.write(username + '\n')  
   密码同上
    command=“echo welcome!”
   finish = ':~$ '
    tn.read_until(finish)#读取到':~$ ' 说明结束
      tn.write('%s\n' % command)  #写入一个shell命令看看当然上面都与本次主题无关,权当学习一下。。。。。。。判断端口是否存在:    tn.open(IP,端口)
关闭telnet
    tn.close()



实现判断端口存在的基本代码



  • def IPPort(self,port):  
  •         tn = telnetlib.Telnet()  
  •         try:  
  •             tn.open(ip,int(port))  
  •             sys.stdout.write('\033[5;32m'+ip+'\t'+'['+port+']'+'['+'Open'+']'+"\n")  
  •             with open(filename) as file:  
  •                 if port not in file.read():  
  •                     f = open(filename,'a+')  
  •                     f.write(port+"\n")  
  •                     f.close()     
  •         except Exception as e:  
  •             sys.stdout.write('\033[31m'+ip+'\t'+'['+port+']'+'['+'Close'+']'+"\n")   
  •         finally:  
  •             tn.close()  



完整源码


源码点击查看原文获取


实现效果




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP