以下為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的運行結果