【发布时间】:2017-08-12 12:18:53
【问题描述】:
我想知道连接的套接字是使用 telnet 还是其他协议。
需要什么才能知道这一点?我需要检查网络流量吗?
还有第三方库可以帮助我吗?
【问题讨论】:
我想知道连接的套接字是使用 telnet 还是其他协议。
需要什么才能知道这一点?我需要检查网络流量吗?
还有第三方库可以帮助我吗?
【问题讨论】:
有趣的问题。用户连接到“Telnet”套接字的第一个提示是端口号,官方端口是 23,但是服务器可以监听任何端口。
检测 Telnet 的最大问题是,并不总是使用严格的“Telnet”协议(尽管存在),因为服务器可以选择不实现它,而只是直接使用普通 ASCII。您实际上是在处理通过普通旧 TCP 连接传输的普通 ASCII 字符和(可选)控制字符。大多数 telnet 服务器都会给出一些重要的提示,但它们会泄露出去,但您需要检查流量以确定。
在网络流量中要寻找的东西是:
流量多为 ASCII 字符,通常混有英文单词或 linux 程序名。
控制字符。不能保证所有 Telnet 服务器(或位于其后面的终端)都实现这些,但几乎总是如此。专门查找CSI control codes,它可以更改终端大小、颜色和光标位置。
确凿证据,Telnet Negotiation。通常 Telnet 服务器在连接时发送这些命令,客户端也可以响应信息。它还处理一些其他功能,例如终端调整大小和字符集,但同样,并非所有服务器都实现了这一点。从这些信息中,您通常可以抓取客户端正在使用的客户端应用程序(例如 Putty)。
在 TCP 连接中检测到任何这些东西都是 Telnet 会话正在发生的一个很大的迹象。
【讨论】: