• python telnetlib 模块实现功能端口扫描


    # python telnetlib 模块
    ## 实现功能端口扫描
    - 功能1 将开放的端口和失败的端口写入到各自的文件中
    - 功能2 先删除创建的文件

     1 ```
     2 #!/usr/bin/env python
     3 #-*- coding: utf-8 -*-
     4 
     5 import telnetlib
     6 import threading
     7 
     8 def get_ip_status(key,value):
     9 server = telnetlib.Telnet()
    10 
    11 try:
    12 server.open(key,value,timeout=0.1)
    13 print('{0} port {1} is open'.format(key,value))
    14 with open('/root/chech_ip_open.txt','a+') as f_open:
    15 f_open.write('{0} {1}'.format(key,'
    '))
    16 except Exception as err:
    17 print('{0}'.format(key,value))
    18 with open('/root/chech_ip_fial.txt','a+') as f_fial:
    19 f_fial.write('{0} {1}'.format(key,'
    '))
    20 finally:
    21 server.close()
    22 
    23 
    24 def check_open():
    25 #ip = q.get_nowait()
    26 # 这里模拟多IP地址的情况,也可以从文件中读取IP??list,改成json格式
    27 hosts = []
    28 with open('/root/iplist', "rb") as f:
    29 for file_name in f:
    30 if file_name.startswith(b'#'):
    31 pass
    32 elif file_name == b'':
    33 pass
    34 else:
    35 ips = file_name.strip().decode()
    36 ipt = ips.split('|')[0]
    37 port = ips.split('|')[1]
    38 # hosts.append(file_name.strip('|').decode())
    39 D = {ipt: port}
    40 hosts.append(D)
    41 print(hosts)
    42 for ip in hosts:
    43 # print("2222",ip)
    44 for key,value in ip.items():
    45 keys=key.encode('utf8')
    46 values=value.encode('utf8')
    47 #print("sdsd",key,value)
    48 get_ip_status(keys,values)
    49 
    50  
    51 
    52 if __name__ == '__main__':
    53 
    54 import os 
    55 if os.path.exists("/root/chech_ip_open.txt"):
    56 os.remove('/root/chech_ip_open.txt')
    57 if os.path.exists('/root/chech_ip_fial.txt'):
    58 os.remove('/root/chech_ip_fial.txt')
    59 threads = []
    60 for i in range(1):
    61 t = threading.Thread(target=check_open)
    62 t.start()
    63 threads.append(t)
    64 
    65 for t in threads:
    66 t.join()
    67 
    68 ```
  • 相关阅读:
    mysql-proxy使用中的问题
    iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
    Django连接MySQL出错
    前后端分离
    django 安装指定版本
    问题
    算法面试
    记录docker for windows 时候的错误
    Django项目部署
    git 上传至github
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/13606172.html
Copyright © 2020-2023  润新知