对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中用startswith()函数判断字符串开头的教程
Apr 07 Python
Python中decorator使用实例
Apr 14 Python
python操作ie登陆土豆网的方法
May 09 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
Python编程深度学习计算库之numpy
Dec 28 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Python编写单元测试代码实例
Sep 10 Python
Python try except else使用详解
Jan 12 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
Pandas之groupby( )用法笔记小结
2019/07/23 Python
python线程的几种创建方式详解
2019/08/29 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
什么是python类属性
2020/06/10 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
python实现控制台输出颜色
2021/03/02 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
洗发露广告词
2014/03/14 职场文书
农村党员对照检查材料
2014/09/24 职场文书
热情服务标语
2014/10/07 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
Redis高并发缓存架构性能优化
2022/05/15 Redis