zoukankan      html  css  js  c++  java
  • python【telnet】使用

    
    def open_telnet_connection(ip_address, port=3000):
        socket.setdefaulttimeout(3)
        try:
            session = telnetlib.Telnet(ip_address, int(port))
        except (ConnectionRefusedError,
                socket.timeout):
            pass
        else:
            return session
    
    
    def telnet_command(session, command, UntilContent='
    ', timeout=10):
        _write(session,command)
        return read_buff(session,UntilContent, timeout)
    
    
    def _write(session, command):
        if session:
            session.write(command.encode() + "
    ".encode())
    
    
    def read_buff(session,UntilContent, timeout=30):
        if session:
            response = session.read_until((UntilContent).encode(), timeout)
            response = response.decode()
            return response
    
    
    def telnet_close(session):
        session.close()
    
    
    def get_alive_topyang(alive_host_ip, port=1):
        topyang_alive_ip = []
        for host in alive_host_ip:
            try:
                session = open_telnet_connection(host, 3000)
                if session is None: raise ConnectionRefusedError
                response = telnet_command(session, "READ:%s" % port).split(":")[2].strip("
    ")
                telnet_close(session)
    
            except (ConnectionRefusedError, # 端口没开
                    ):
                print(host,': ','telnet failed !')
                continue
            else:
                topyang_alive_ip.append((host,response))
        return topyang_alive_ip
    
    
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/amize/p/15251051.html
Copyright © 2011-2022 走看看