免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3094 | 回复: 1
打印 上一主题 下一主题

求助:使用telnetlib登录xp不回显,如何设置回显 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-16 16:28 |只看该作者 |倒序浏览
请教python中telnetlib登录xp不回显的问题

前提是 使用cmd或者crt都能正常登录xp并回显,登录后执行命令都能生效并回显

t.open(host,port)之后
t.read_until能正常读到login和password并输入用户名和密码
之后就没有回显了,到xp上netstat能看到客户端连上了xp的23端口,
但是再通过python发送什么命令都没有作用,不回显,也不在xp上生效,比如新建文件什么的


我抓包发现,使用python的时候
客户端发送了“won't authentication option”和“Don't Echo”等Don't命令
使用其他工具抓包的看到的是“Do Echo”等
所以考虑通过python发送“do echo”的参数

尝试方法1:
t.set_option_negotiation_callback(b'do',b'echo')
报错说给了3个参数,不知道怎么判断成3个了
TypeError: set_option_negotiation_callback() takes exactly 2 positional arguments (3 given)
改成
t.set_option_negotiation_callback(b'do')
又提示字节类型不行
TypeError: 'bytes' object is not callable

set_option_negotiation_callback()参数该怎么填?
比如我想设置do echo,term vt100


尝试方法2:
想模拟cmd里面手工修改参数的方式
cmd里面可以先到telnet界面后按Ctrl+]然后“set localecho”打开本地回显
百度到控制字符“Ctrl+]”对应ascii码16进制是0x1d
t.write(b'0x1d' + b'\n')
之后发现实际发送的就是0x1d字符串,不是发送的功能键
怎么样才能将功能键“Ctrl+]”发送出去呢

请大神帮助

论坛徽章:
0
2 [报告]
发表于 2013-04-08 12:56 |只看该作者
终于找到原因了,原来只是个小小的问题,
偶然百度到 xp和linux的转义字符有区别,xp下'\n'不能识别为回车,要用'\r\n'

试了一下,果然是真的,并不是回显的问题,而是回车没有输入正确。

悲剧的,就这么个简单的脚本,折磨我这么久

# -*- coding: utf-8 -*-

#python3.2

# 配置选项
HOST = b'100.100.100.11' # Telnet服务器IP
USERNAME = b'test'       # 登录用户名
PASSWORD = b'test'       # 登录密码
FINISH = b't>'           # 命令提示符(标识着上一条命令已执行完毕)
COMMD = b'mkdir test01'  # 预设命令

# Telnet登录
tn = telnetlib.Telnet()
tn.open(HOST,23)              # 连接Telnet服务器
a=tn.read_until(b'login:')
#print(b'a: ' +a)
tn.write(USERNAME + b'\r\n')  # 输入登录用户名,服务器是xp必须用b'\r\n'
b=tn.read_until(b'word:')
#print(b'b: ' +b)
tn.write(PASSWORD + b'\r\n')  # 输入登录密码

# 执行命令
c2=tn.read_until(FINISH)
#print(b'c2:')
#print(c2.decode('GB2312'))
tn.write(COMMD + b'\r\n')

# 终止Telnet连接
e=tn.read_until(FINISH)
#print(e.decode('GB2312'))
tn.close()
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP