我有一个数字示波器,可以LAN
连接。我想检查是否telnet
在范围上运行(手册没有这么说,但手册没有提供有关 LAN 端口的任何有用信息)。
我尝试使用 netcat 和 telnet 进行连接(并成功)。该telnet
命令确认连接,但我只能看到到 TCP 端口的连接(使用wireshark
)。
根据我对该telnet
协议的了解,从外部看,它看起来像是一个有人值守的 TCP 端口,并且配置协商命令是可选的,因此如果没有回复,发送这些命令就不会令人信服。
编辑:如果有人感兴趣,范围是 Owon SDS7102E。如果您对 LAN 连接感兴趣,请不要购买该示波器。该文档基本上不存在(它说“LAN 与 USB 相同”)。制造商似乎有兴趣提供帮助(至少回答了),但还没有真正的解决方案。
答案1
您可以通过在文件中添加 3 行来调试客户端上的 telnet 连接~/.telnetrc
:
scope
set netdata
set options
其中scope
是作用域的主机名,必须位于第 1 列,其他 2 行必须缩进 1 个空格。
当您运行 telnet 时,它现在应该显示读取和写入的数据以及发送和接收的命令(如果有)。
您可以发送显式 telnet 协商命令来查看您的范围是否回复。请注意,当您将设置更改为遥控器认为已经存在的值时,它将不会回复,因此您可能需要尝试命令及其相反的命令。例如,(键入control-]进入命令模式)发送“你在吗?”:
telnet> send ayt
> 0x0 fff6
< 0x0 74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d
< 0x20 0d0a
td: recv IAC AYT
[scope : yes]
和数据>
线<
是 的结果set netdata
。谈判路线td:
是 的结果set options
。 (如果您没有看到它们,则可能您的 rc 文件被忽略,因此请在命令模式下显式键入它们。)
将 echo 设置为打开,然后关闭并再次打开:
telnet> send do echo
telnet> send dont echo
> 0x0 fffe01
< 0x0 74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420
< 0x20 776f6e74204543484f0d0a
td: recv dont ECHO
td: send wont ECHO
telnet> send do echo
> 0x0 fffd01
< 0x0 74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769
< 0x20 6c6c204543484f0d0a
td: recv do ECHO
td: send will ECHO
答案2
您可以连接到任何telnet 端口,即使其后面没有 telnet 服务器。如果端口期望客户端首先发送某些内容,那么您在连接时将看不到任何内容,而这正是您所遇到的情况。
因此,可能有一个 telnet 服务器正在运行并等待输入,可能还有其他东西正在运行,或者可能是一个防火墙功能,只是假装您可以连接到它。单独来看telnet
很难说清楚。
如果您想找出未知设备上正在运行哪些可能的服务,我建议使用 进行探测nmap
。