zoukankan      html  css  js  c++  java
  • 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 ```
  • 相关阅读:
    shiro权限框架-鉴权
    shiro权限框架-入门基础
    linux debian,ubuntu WEB API 测试工具 insomnia
    java spring 用户等级乘阶算法
    pearadmin 开源后台
    一语中的 快速了解ClickHouse
    mysql tree树结构
    MySQL 索引优化 btree hash rtree
    中断与异常详解(五)
    中断与异常(四)
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/13606172.html
Copyright © 2011-2022 走看看