我需要通过telnet连接到远程服务器。要向服务器进行身份验证,我必须回答100个问题。因此,我尝试使用telnetlib在python中自动执行此任务,但提示在没有返回任何消息的情况下停止。在
这是我所做的
import telnetlib
port = 2002
host = "23.23.190.204"
tn = telnetlib.Telnet(host, port)
tn.read_until("""
Welcome to EULER!
=================
Answer 100 simple questions to authenticate yourself
""")
print tn.read_all()
tn.close()
在命令行提示符下,我得到了这个消息
^{pr2}$然后我被问到一个问题如果答案是正确的我会得到下一个问题直到我完成100题。但是在python程序中,我既没有得到消息也没有得到问题!怎么办?在
编辑:
在为telnet设置了调试级别之后,我得到了服务器的答案。你能解释一下为什么吗?在
tn.set_debuglevel(9)
这是一个使用netcat(
ncat
来自Nmap)的假telnet服务器:在端口9000上列出并传递一个名为
msg.txt
(问题)的文件并将输入记录到log.txt
(答案)中,它应该模拟您的服务器。在文件
^{pr2}$msg.txt
内容:以十六进制表示的文件内容(使用
^{3}$hexdump msg.txt
):注意新行字符,它是}(它也可以是})。在
\x0A
或{\x0D\x0A
或{客户:
现在让我们在客户端测试它:
在服务器端,转储日志文件内容:
把它放在一起,你应该会明白的。在
相关问题 更多 >
编程相关推荐