如何创建匿名的Python Telnet连接?

1 投票
2 回答
1723 浏览
提问于 2025-04-15 11:26

我想在Windows XP上用Python连接一个服务器,使用的是telnet。通过输入'telnet HOST PORT'可以成功连接,这种方式是匿名连接。但是,当我用Python的telnetlib.Telnet(HOST, PORT)时,却出现了'Connection refused'的错误。用Java进行telnet连接也失败了。经过一番查找,我发现Python试图创建一个匿名的socket连接。我的管理员说不允许匿名连接。不过,我找不到Python或Java在创建socket连接时可以传递身份验证参数的方法。为什么Windows命令行的telnet可以工作,而Python和Java却不行呢?有没有什么建议?

2 个回答

1

首先,先排除掉telnetlib是不是问题所在:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("remote.host", 23))
如果这个步骤成功了,那说明你在使用telnetlib的时候出了问题,我们需要看看具体的例子。如果这个步骤失败了,那就说明你有基本的网络问题,Lance建议你使用ethereal/wireshark来进一步排查,这是你接下来的步骤。

1

wireshark或者类似的抓包工具来记录一下连接尝试的过程是个好主意。这样可以看看在协议层面上,失败的情况和成功的情况有什么不同。

撰写回答