对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获取远程图片大小和尺寸的方法
Mar 26 Python
Python编写电话薄实现增删改查功能
May 07 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
浅谈Python NLP入门教程
Dec 25 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
对Python3 goto 语句的使用方法详解
Feb 16 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
pandas DataFrame运算的实现
Jun 14 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 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
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
我就是这样学习Python中的列表
2019/06/02 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python入门之井字棋小游戏
2020/03/05 Python
PageFactory设计模式基于python实现
2020/04/14 Python
高考考python编程是真的吗
2020/07/20 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
流动人口婚育证明范本
2014/09/26 职场文书
JS实现简单九宫格抽奖
2022/06/28 Javascript
mysql序号rownum行号实现方式
2022/12/24 MySQL