我在课堂上学到,当我们用 rj45 电缆连接两台计算机时(我认为它适用于直通电缆和交叉电缆),我们可以访问其中一台计算机,准确地说是命令行,使用它的 IP 地址和另一台计算机中的 telnet 命令,当然它有相同的 IP 地址网络(我希望这足够清楚)
现在我想在家里尝试一下,但不是在两台计算机之间,而是在我的计算机和接收器之间(它是 MoreSat 系列的 vision HD-600,它有一个名为 nu 的固件,我想,它是一个基于 Linux 的固件),我真的找不到关于这种接收器如何工作的信息,但由于它可以与互联网一起使用,并且您可以为它设置 IP 地址,我认为它很好,它就像一台计算机一样工作。
因此,我为两个设备设置了一个静态 IP 地址(接收器为 172.16.1.2/24,我的计算机为 172.16.1.1/24),然后我使用直通电缆将它们连接起来,并在计算机的 cmd 上运行 ping 172.16.1.2,它成功了,我得到了接收器的响应。但是 telnet 172.16.1.2 没有成功,它给了我一个错误:连接到主机时出错 - 无法在端口 23 上打开与主机的连接
那么我应该怎么做,首先我所做的事情是否可行(我的意思是将我的电脑连接到我的接收器:D),如果是这样那么我做错了什么?
我很抱歉写了这么长的文章,但我想尽可能地解释清楚,以便你能理解我的情况。
答案1
不幸的是,声明“我在课堂上学到,当我们用 rj45 电缆连接两台计算机时(我认为它适用于直通电缆和交叉电缆),我们可以访问其中一台计算机,准确地说是命令行,使用它的 IP 地址和另一台计算机中的 telnet 命令,当然它有相同的 IP 地址网络“是错误的,或者充其量是过于简单化以至于毫无意义,并导致误解。不幸的是,如果您不理解您的帖子中没有出现的一些关键基础知识,您将一事无成。
首先让我澄清几件事 - 这仍然非常简单,但至少在技术上是正确的,足以解释你所遇到的问题 -
典型的互联网连接(如您在计算机或电视接收器中看到的)是分层构建的。这些层包括 -
物理连接 - 在本例中是以太网,但也可以是 WIFI 或其他连接。
一个简单的软件系统,允许计算机通过该媒介相互通信。
TCP/IP 堆栈 - 这是 Internet 运行所必需的,而您声明的 IP 地址意味着您正在使用 TCP/IP 协议,这是迄今为止最常见的协议。
然后应用程序通过 TCP 进行通信。
当您使用 RJ45 电缆将 2 台计算机连接在一起时,您几乎肯定是指使用以太网电缆和以太网端口将 2 台计算机连接在一起(但存在其他可能性)。这符合我上面帖子中第一层连接的标准,但没有提到中间层。如果两个设备都相当现代,您可以使用“直通电缆”,设备会弄清楚。非常旧的设备可能需要交叉电缆或交换机。有时,您可以通过在插入设备时查看以太网插孔两侧的绿色和黄色指示灯来判断此层是否正确连接(但并非所有设备都有这些指示灯)
然后您跳转到 IP 寻址 - 并且看起来您的答案相当正确。
这时您就会谈到端口 23。这是您可能被误导的另一个地方 - 正确的理解如下:IPv4(通用互联网协议)将允许 1 个服务器(计算机)运行多个程序。每个程序至少与 1 个端口号相关联。当客户端(另一台计算机)尝试与服务器通信时,它会使用该端口与相应的程序进行通信。
如果没有与端口(在本例中为 23)关联的程序,或者有防火墙阻止它,则端口 23 上的通信将失败。 这是由设备制造商决定的。
端口 23 通常与“Telnet”相关联,它是最古老和最简单的 Internet 协议之一 - 通常(但不是唯一)用于在简单的文本环境中输入命令和获取响应。它也非常非常不安全。这使得它可用于控制简单的设备而无需 Web 界面 - 但也应该受到非常严格的控制 - 如果它存在的话 - 因为它存在巨大的安全风险。
因此,很可能事情无法正常工作,只是因为电视接收器上的端口 23 没有与 Telnet(或其他)程序关联 - 但是还有很多其他可能的解释(包括电缆故障、IP 堆栈配置问题、防火墙)。如果是这种情况,你没有做错任何事 -路由器根本没有设计允许您连接到端口 23。
答案2
因此,如果您正确理解了您的帖子,那么您的问题基本上可以归结为:
- 您通过
- 您收到了 ping 响应
- 但 Telnet 无法正常工作,您想知道原因
那么,在这种情况下,答案是显而易见的:您的接收器没有运行 Telnet 服务器应用程序。为什么会这样?Telnet 对接收器的操作完全是多余的。我还没有见过一个接收器这样做。