用这个命令真正发生了什么?
telnet somehost 25
这是否意味着我在端口23上使用telnet创建了我的主机和某个主机之间的连接,某个主机的telnet将其转发到端口25之后?
谢谢你的帮助!
欢呼声
丹尼尔
答案 0 :(得分:3)
您的示例中没有端口转发。您的示例仅表示与somehost
的端口25建立telnet连接。然后会发生什么取决于正在监听该机器的端口25的内容;从理论上讲,它可以运行一个将连接转发到其他机器的服务器,但这与实际的telnet连接是分开的。 Telnet本身没有任何端口转发功能。如果你想要,请改用ssh。 (实际上,无论如何都要使用ssh,因为telnet不安全。)
答案 1 :(得分:1)
没有端口转发,但直接连接到上述端口。
特别是如果您明确指定telnet端口,telnet
不会使用它在与telnetd通信时使用的telnet协议。
所以你在某个主机上直接连接到端口25(可能是一个SMTP服务器因为它是众所周知的端口)。
这对于测试基于ASCII的协议非常有用,例如SMTP。
答案 2 :(得分:1)
telnet somehost 25
只是意味着您正在打开从本地计算机到端口25上的某个主机的连接。请参阅下面的使用输出中的“[host-name [port]]”。
尝试查看本地telnet man page或内置的telnet命令帮助。在我的系统上,当您输入无效的参数时,会显示构建帮助(正好是帮助):
$ telnet --help
telnet: illegal option -- -
usage: telnet [-4] [-6] [-8] [-E] [-K] [-L] [-N] [-S tos] [-X atype] [-c] [-d]
[-e char] [-k realm] [-l user] [-f/-F] [-n tracefile] [-r] [-s src_addr]
[-u] [-P policy] [host-name [port]]
你也可以运行没有参数的telnet
并输入?或帮助。
答案 3 :(得分:1)
telnet协议和实现(Linux,Windows等)都不支持端口转发。你的问题有两个可能的答案。
1)通常,当人们提到这些天的端口转发时,他们意味着ssh端口转发。 ssh支持转发任一方向(例如,当某人telnet到您的本地计算机,将它们重定向到远程计算机,或者当某人telnet到远程计算机时,将它们重定向到本地计算机。)互联网上有很多关于设置的示例ssh端口转发,但请注意,如果要转发端口23(特权端口),则需要是root用户。
2)您可以从主机A远程登录到主机B,然后从B远程登录到C.这不是严格的端口转发,而是完成相同的任务