广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现Telnet自动连接检测密码的示例
  • 488
分享到

Python实现Telnet自动连接检测密码的示例

2024-04-02 19:04:59 488人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

最近在学习python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止。 Python内置了

最近在学习python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止。

Python内置了telnetlib模块,支持telnet远程操作,只要直接import就可以。

代码如下:


# encoding=utf-8
import telnetlib
import time
import sys
import os


def do_telnet(Host, Port, username, passWord, finish):
    # 连接Telnet服务器
    tn = telnetlib.Telnet(Host, Port, timeout=1)
    tn.set_debuglevel(3)

    # 输入登录用户名
    tn.read_until("login: ")
    tn.write(str(username) + '\n')

    # 输入登录密码
    tn.read_until("Password: ")
    tn.write(str(password) + '\n')

    # 判断密码错误提示,如果没有这个提示说明登录成功
    if tn.read_until(finish):
        print("****** login incorrect!\n")
    tn.close()


if __name__ == '__main__':
    Host = input("IP:")  # Telnet服务器IP
    Port = input("Port:")  # Telnet服务器端口
    username = 'root'  # 登录用户名
    finish = 'incorrect'  # 密码错误提示
    pw_file = open('.\\pw.txt', 'r+')  # 密码文件
    Index = 0
    print(time.asctime(), ":   ****** begin", "\n")
    while True:
        password = pw_file.readline()
        Index += 1
        print(Index, time.asctime(), ":   ****** try", "", username, ":", password, "")
        if len(password) == 0:
            break
        do_telnet(Host, Port, username, password, finish)
    pw_file.close()

密码本pw.txt,内容例如:


root  
admin  
12345  
888888 

输出如下:

注:我这边测试的目标主机是嵌入式linux系统,用户名是root,密码错误返回的是incorrect提示。你可能要根据目标系统不同修改用户名和错误提示。

telnetlib提供好多方法可以得到数据,象read_until()是当结果中存在想要的信息时返回,read_some()是只要有结果就返回,read_very_lazy()是返回缓冲区中的数据。经过看代码,telnetlib采用缓冲的处理方式,因此数据并不是一下子就返回的,而是先放在了缓冲区中。许多的读取处理都是围绕着这个缓冲区来的。而缓冲区的信息何时到达就不说不清楚了,也许很快,也许很慢,也许分别到达,也许一下子就收到了。因此,对于数据不一定到齐的这种情况,就采用了象read_until()来判断缓冲区中的数据是否有想要的内容,如果没有就等待,除非到达了超时时间。再有可以使用expect方法,与read_until差不多,但是它可以支持正则表达式,功能要强大得多。

在网上还有一个叫 Pexpect 它好象功能强大,它支持多种协议,它的主页就建议使用 Pexpect 来下载它的文档。不过因为网络不太好就没有下来,不知道支不支持 Telnet 协议。

上面的程序再配以 ftplib 的功能就可以做一个远程更新的维护程序。只不过如何判断后台返回的信息,我没有找到好的方法,是使用read_lazy()还是read_eager()呢?还是什么别的方法。最主要的问题是,返回的数据不一定完整。好象没有提供一个read_line()的方法。

其中port和timeout是可选的参数,而timeout的只是在初始化Socket连接时起作用,而一旦连接成功后如果出现等待那就不会起作用了,比如使用read_until方式获取内容时返回的内容与指定的内容没有吻合,那么就会造成提示等待的情况,这时timeout是不会起作用的,而这个socket连接会一直保持着,永生不死。

那么如何解决这个问题呢,其实还有一种比较原始的方法,就是使用sleep方法来代替read_until方法,这样就不会出现种情况,因为到点就会自己输入,最多也就是最后得不到想要的结果,但是这个方式很不稳定,兼容性也不好;另一种方法是使用线程来启动这个函数,然后对子线程进行超时设置,这样就可以达到间接控制这个telnet连接的目的了。


import threading  

th1 = threading.Thread(target=do_telnet, args=(host.encode('utf-8'), user.encode('utf-8'), passwd.encode('utf-8'), finish.encode('utf-8'), commands))  
th1.start()  
th1.join(20)  ##20秒超时时间 

遇到的问题:

传递给Telnet方法的字符串都会被解一次码,所以如果你传递过去需要write的字符串是已经解码的unicode的话,那么就会报错的,所以在传递发送的字符串之前还是先编成utf-8为妥,用ascii编码也可以。

以上就是Python实现Telnet自动连接检测密码的示例的详细内容,更多关于python Telnet自动连接检测密码的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python实现Telnet自动连接检测密码的示例

本文链接: https://www.lsjlt.com/news/123705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现Telnet自动连接检测密码的示例
    最近在学习Python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止。 Python内置了...
    99+
    2022-11-12
  • 怎么在Python中利用Telnet实现自动连接检测密码
    这篇文章给大家介绍怎么在Python中利用Telnet实现自动连接检测密码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。# encoding=utf-8import telnetlibimport&...
    99+
    2023-06-14
  • Python接口测试自动化的示例代码
    本篇内容主要讲解“Python接口测试自动化的示例代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python接口测试自动化的示例代码”吧!1、接口请求python 特别是 python 3....
    99+
    2023-06-16
  • python+appium实现自动化测试的示例代码
    目录1.什么是Appium2.启动一个app自动化程序的步骤3.appium服务介绍4. appium客户端使用5.adb的使用 6.Appium启动过程分析1....
    99+
    2022-11-12
  • uniapp中实现App自动检测版本升级的示例代码
    目录前言思路开发初始化获取本地版本号获取服务端最新版本号比较版本号提示更新更新安装包下载进度提示页面中调用完整代码前言 目前手里接到个项目需要用到uniapp来开发一款平板应用,既然...
    99+
    2023-01-03
    uniapp App自动检测 uniapp App版本升级
  • Python实现异常检测LOF算法的示例代码
    目录背景LOF 算法1. k邻近距离2. k距离领域3. 可达距离4. 局部可达密度5. 局部异常因子LOF算法流程LOF优缺点Python 实现 LOFPyODSklearn大家好...
    99+
    2022-11-13
  • Python与Appium实现手机APP自动化测试的示例代码
    目录1.什么是Appium2.启动一个app自动化程序的步骤3.appium服务介绍4. appium客户端使用5.adb的使用6.Appium启动过程分析1.什么是Appium a...
    99+
    2022-11-13
  • python自制简易mysql连接池的实现示例
    目录连接池是什么? 为什么需要连接池? 连接池的原理是什么? 使用python语言自制简易mysql连接池 开始使用 自定义配置文件名 & 配置标签 ...
    99+
    2022-11-12
  • python+requests+pytest接口自动化的实现示例
    目录1、发送get请求2、发送post请求3、发送https请求4、文件上传5、文件下载6、timeout超时7、鉴权 7.1、auth参数鉴权7.2、session操作7.3、to...
    99+
    2022-11-12
  • Python实现视频自动打码的示例代码
    目录序言准备工作实现原理模块素材工具代码解析完整代码序言 我们在观看视频的时候,有时候会出现一些奇怪的马赛克,影响我们的观影体验,那么这些马赛克是如何精确的加上去的呢? 本次我们就...
    99+
    2022-11-10
  • Pytest+Yaml+Excel 接口自动化测试框架的实现示例
    目录一、框架架构二、项目目录结构三、框架功能说明四、核心逻辑说明配置文件输出目录请求工具类代码编写case程序主入口执行记录一、框架架构 二、项目目录结构 三、框架功能说明 解决...
    99+
    2022-11-13
  • Python实现自动整理文件的示例代码
    目录一、前言二、遍历文件三、移动文件四、自动整理文件1、将图片集中存放2、同步整理文件3、获取文件属性一、前言 今天我们就带大家来实现一下文件自动整理的操作。在我们日常生活中,文件总...
    99+
    2022-11-11
  • python实现自动抢课脚本的示例代码
    目录自动抢课脚本使用手册1.准备工作2.配合使用py脚本和xlsx文件3.auto_get_lesson_pic_recognize功能介绍4.坐标版本(不建议使用)5.代码自动抢课...
    99+
    2022-11-12
  • Python实现自动整理表格的示例代码
    目录前言原理目标实现运行效果前言 今天,在工作的时候,我的美女同事问我有没有办法自动生成一个这样的表格: 第一列是院校+科目,第二列是年份,第三列是数量。 这张表格是基于这一文件夹...
    99+
    2023-03-02
    Python自动整理表格 Python整理表格 Python表格
  • Python实现自动化整理文件的示例代码
    目录自动化整理计算机文件1. 文件的自动分类2. 文件和文件夹的快速查找3. 自动清理重复文件4. 批量转换图片格式5. 按拍摄日期自动分类图片自动化整理计算机文件 通过Python...
    99+
    2022-11-11
  • 干货丨Python接口测试自动化实战及代码示例:含get、post等方法
    引言:年初参与到一个后台系统开发的项目中,里面涉及了很多接口,我做为项目组测试人员,需要对这些接口进行测试,一开始使用 postman 工具测试,很是方便。但随着接口数量的增加,不光要执行手动点击测试,而且,一旦接口参数变动,都重新更改接口...
    99+
    2023-06-04
  • python+pywinauto+lackey实现PC端exe自动化的示例代码
    欢迎阅读 最近一年多一直在从事PC端exe的测试,也是趁着闲余时间,调研了下exe的自动化。 核心框架为python+pywinauto+lackey这样的一个组合方式 本文以大家...
    99+
    2022-11-12
  • Python实现树莓派WiFi断线自动重连的实例代码
    实现 WiFi 断线自动重连。原理是用 Python 监测网络是否断线,如果断线则重启网络服务。 1.Python 代码 autowifi.py,放在 /home/pi 目录下: #!/usr/bin/...
    99+
    2022-06-04
    断线 实例 代码
  • Python实现自动添加脚本头信息的示例代码
    前言 每个人写脚本时的格式都会有所不同,有的会注明脚本本身的一些信息,有的则开门见山,这在小团队里其实没什么,基本别人做什么你也都知道,但如果放到大的团队就比较麻烦了,因为随着人数的增多,脚本成指数增长,如...
    99+
    2022-06-04
    示例 脚本 代码
  • Python实现自动回复QQ消息功能的示例代码
    目录1、需要安装的模块2、整体逻辑3、代码实现最近在看测试相关的内容,发现自动化测试很好玩,就决定做一个自动回复QQ消息的脚本(我很菜) 1、需要安装的模块 这个自动化脚本需要用到3...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作