【问题标题】:How do you create an anonymous Python telnet connection?如何创建匿名 Python telnet 连接?
【发布时间】:2010-10-24 07:39:31
【问题描述】:

我正在尝试在 Windows XP 上使用 Python 远程登录到服务器。我可以通过键入创建匿名连接的“telnet HOST PORT”成功连接。但是 Python 的 telnetlib.Telnet(HOST, PORT) 返回“连接被拒绝”。 Java 中的 Telnet 也失败了。 Spelunking 显示 Python 尝试创建匿名套接字连接。我的管理员说他不允许匿名连接。但是 Python 和 Java 都不允许在创建套接字连接期间传入身份验证参数(我找不到)。当 Python 和 Java 都失败时,为什么 Windows 的命令行 telnet 可以工作?有什么建议吗?

【问题讨论】:

  • 什么是匿名套接字?我从来没有听说过这个术语。
  • 嗯,使用套接字的匿名连接。一个只指定主机和端口;未发送用户名或密码。
  • 我相信您误解了 telnet 协议作为此响应的结果。请阅读 RFC 854,并注意缺少正式的身份验证规范。 (RFC 2841 中指定了身份验证,但我还没有真正看到在 kerberized 环境之外进行现场部署。)
  • 套接字没有任何身份验证功能。更高级别的协议(如 HTTP)确实具有身份验证。然而,套接字只是套接字。

标签: java python windows telnet


【解决方案1】:

首先,消除 telnetlib 作为您的问题:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("remote.host", 23))
如果成功了,说明你对telnetlib的使用有问题,我们需要看一个例子。如果它失败了,那么你有一个基本的网络问题,Lance 提出的拔出 ethereal/wireshark 的建议是你的下一步。

【讨论】:

    【解决方案2】:

    最好使用wireshark 或类似的数据包跟踪工具跟踪两次连接尝试(失败案例和成功案例),以查看协议级别的差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2020-10-03
      • 2011-12-07
      • 2016-02-06
      • 1970-01-01
      • 2017-12-20
      • 2016-10-17
      相关资源
      最近更新 更多