在我正在进行的一个工作项目中,我需要telnet <ip address> <port>
在运行我的应用程序之前确保我们可以访问连接的服务。在运行该 telnet 命令之前,我无法连接到其他服务(例如,无法访问其他服务的 API 端点)。
我搜索了 telnet 是什么,它是一种用于通过 TCP/IP 网络连接到远程系统的网络协议。这是否意味着当我运行 telnet 时,我会在本地工作站和这些应用程序所在的服务器之间建立连接,以便我的应用程序能够通过该连接连接到其他服务?
我很感激您能确认或澄清!谢谢。
答案1
否,Telnet在其自己的除了您正在 telnet 连接的系统之外,它实际上不允许您访问任何其他内容。Telnet 连接与 SSH 或 RDP 连接没有什么不同 - 它允许您与远程 CLI 对话,仅此而已。(尽管客户端telnet
也常用于任何其他类型的基于文本的 TCP 连接,但并不总是用于 Telnet。)
但是,那远程系统您正在通过 telnet 连接的服务器可能配置为运行一个脚本,该脚本会在您登录时(甚至在您连接时)将客户端的 IP 地址添加到防火墙。例如,使用典型的 Telnet 服务器将您带到登录 shell,只需在 /etc/profile 中编写 2-3 行 shell 脚本即可实现此操作。(OpenBSD 甚至附带一个精心设计的开箱即用的“authpf”系统。)
或者,防火墙(无论是在系统本身还是在任何地方)也可能配置了一条规则,只要规则与数据包匹配,就会将您的 IP 地址添加到列表中。这通常用于“端口敲击”。例如,在 Linux nftables 中,可能会有这样的规则:
tcp dport 23 update @allowed_clients_v4 { ip saddr }
ip saddr @allowed_clients_v4 accept
...它通过将客户端添加到“允许的 IP”列表并自动授予该客户端对所有端口的临时访问权限来对入站 Telnet 连接(端口 23)做出反应。