代码改变世界

【Python】Telnet模块常用函数及实例

2013-03-10 11:29  12月  阅读(14692)  评论(0编辑  收藏  举报

以下为PYTHON的TELNET模块的一个小实例,此实例只是基本操作,里面还有一部份函数需自己到网上找一下,方法类同。
注意:
这个问题将我纠结了好一阵子,最后跟踪调试发送命令字符串
发现在windows操作系统中发送命令时一定要"\r\n",不然无法识别命令

# -*- coding: gbk -*-
  import sys
  import telnetlib
  import time; 
  
  HOST ="192.168.1.103"
  USER = b"administrator"
  PASS = b"1"
  cmd=b" dir rn" #此处也可以为ipconfig
  tn = telnetlib.Telnet(HOST)
  tn.set_debuglevel(0);
  print("正在加载文件,请稍等……");
  #休眠5秒,不然第二次读取也可能读不出来
  time.sleep(5)
  #当匹配到login时代表已成功连接到HOST主机,这儿为输入帐号提示
  tn.read_until(b"login:")
  #向主机发送登陆帐号,模拟键盘输入 
  tn.write(USER+b"rn")
  #print("login success");
  #向主机发送登陆密码,模拟键盘输入 
  tn.read_until(b"password:")
  tn.write(PASS+b"rn")
  #print("password success");
  #判断是否成功登陆主机
  tn.read_until(b"Microsoft Telnet Server")
  #向主机发送相应的DOS命令行
  tn.write(cmd+b"rn")
  #print("cmd success");
  tn.write(b"exitrn")
  #读取所匹配到的数据
  ra=tn.read_all()
  #print(type(ra));
  print(ra.decode('gbk'));
  tn.close()
  print("获取结束……");
  
  下面为运行结果:
  

  下面此图为:ipconfig的运行结果