Telnetlib允许我通过telnet进入Windows pc,但是库使用的命令结构与Windows telnet如此不同,以至于我无法运行所需的命令。
我没有花几个小时,而是花了几天的时间在互联网上搜寻运气,但是没有运气。我发现的几乎所有内容都与Linux主机有关,例如“ Expect”等。我所发现的几乎没有什么指向我使用VB和POWERSHELL的,我对学习它们并不感兴趣。我确实发现了一篇非常古老的文章,它解释了Windows telnet并不是“真正的telnet”,因为它使用ansi操纵屏幕上的光标以及其他一些大的区别,但是程序员放弃了解决方案。
在使用Wireshark进行TCP流之后,我看到Windows telnet逐个回显每个字符,并且包含我经验不足以识别的额外“内容”。使用Telnetlib启动会话,我看到它传递短语而不是单个字符,并且丢失了很多“东西”。 另外,我从没有看到“ 欢迎使用telnet ”,但是无论如何我都可以登录。我可以“ cd ..”,甚至可以将CD插入目录,但无法运行命令“ systeminfo >> S:\ thissysteminfo.txt”。
导入系统
导入telnetlib
HOST_IP =“ x.x.x.x”
PORT = 23
超时= 10
TELNET_USER =“用户”
TELNET_PASSWORD =“密码”
NEWLINE =“ cd C:\ Windows \ System32”
t = telnetlib.Telnet(HOST_IP,PORT)
t.read_until(b“登录名:”,5)
t.write(TELNET_USER.encode(“ ascii”)+ b“ \ r \ n”)
如果TELNET_PASSWORD:
t.read_until(b“密码:”)
t.write(TELNET_PASSWORD.encode(“ ascii”)+ b“ \ r \ n”)
t.read_until(b“>”)
t.write(NEWLINE.encode('ascii')+ b“ \ n”)
NEWLINE =“ systeminfo >> S:\\ thissysteminfo.txt”
t.write(NEWLINE.encode('ascii')+ b“ \ n”)
t.write(b“ exit \ n”)
预计将找到S:\ thissysteminfo.txt。一无所获。
wireshark说:
...........'..............'......用户
用户
密码:密码
********
.......................................
C:\ Users \ kingbird> ... cd C:\ Windows \ System32
systeminfo >> S:\ thissysteminfo.txt
退出
cd C:\ Windows \ System32
systeminfo >> S:\ thissys .................................... teminfo.txt
退出
本机Telnet服务器已关闭连接