对python使用telnet实现弱密码登录的方法详解


Posted in Python onJanuary 26, 2019

系统环境:

64位win7企业版

python2.7.10

2016.08.16修改内容:

1)read_until()函数是可以设置timeout的,之前不能获取到password之后的返回是因为调用read_some()函数次数不够,没有读取到返回信息

2)如果不设置read_until()函数的timeout值,那么程序将一直建立连接而不会关闭,导致程序永远没有返回,所以设置timeout还是有必要的

3)不同服务器返回的内容是不一样的,例如网络设备radware返回就不是"login:",而是"user:",有的password的p是大写的,所以匹配"assword:"比较好。并且,不同服务器返回到的用户密码错误提示也是不一样的,可以在python控制台先试试再去写代码。

def check_23_port(ip,username,passwd):
 try:
  tn=telnetlib.Telnet()#
  #tn.set_debuglevel(0),设置为2可以看到更多信息
  tn.open(host=ip)
  tn.read_until('login:')#这里设置timeout=10比较好,否则如果不能匹配字符串,这个连接将一直建立,程序不会返回
  tn.write(username+'\r\n')
  tn.read_until('password:')
  tn.write(passwd+'\r\n')
  tn.read_some()#为result准备数据,可能需要多调用几次才能够获取到服务器返回的信息"Login Failed"
  result = tn.read_some()#这里调用两次,不同的操作系统返回的不一样,AIX linux返回的是invalid
  rex = r'Login Failed'
  tmp = re.search(rex,result)
  if tmp == None:
   return True
  else:
   return False 
  tn.write("exit\r\n")
  tn.close()
 except Exception as e:
  pass
  print "connect error:" + str(e)

以上这篇对python使用telnet实现弱密码登录的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python爬虫爬验证码实现功能详解
Apr 14 Python
python 平衡二叉树实现代码示例
Jul 07 Python
python文件写入write()的操作
May 14 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
Python map及filter函数使用方法解析
Aug 06 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
python 用pandas实现数据透视表功能
Dec 21 Python
Python检查ping终端的方法
Jan 26 #Python
使用python Telnet远程登录执行程序的方法
Jan 26 #Python
Python判断telnet通不通的实例
Jan 26 #Python
解决python测试opencv时imread导致的错误问题
Jan 26 #Python
在Python 中实现图片加框和加字的方法
Jan 26 #Python
python opencv判断图像是否为空的实例
Jan 26 #Python
Python 判断图像是否读取成功的方法
Jan 26 #Python
You might like
PHP 存储文本换行实现方法
2010/01/05 PHP
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
JavaScript中的函数式编程详解
2020/08/22 Javascript
Python 初始化多维数组代码
2008/09/06 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Django添加sitemap的方法示例
2018/08/06 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
Python 编程速成(推荐)
2019/04/15 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
大专计算机个人求职的自我评价
2013/10/21 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL