如何通过 MAC 地址从 Windows telnet 到我的服务器?

Ase*_*loh 0 telnet mac-address

如何通过 MAC 地址从 Windows telnet 到我的服务器?

C:\Users\Asep>telnet D4:CA:6D:46:C9:98 23
Connecting To D4:CA:6D:46:C9:98...Could not open connection to the host, on port 23: Connect failed
Run Code Online (Sandbox Code Playgroud)

bar*_*lop 7

我要在这里冒个险说.. 是的,你可以。与您可以 telnet 到主机名的意义相同。

有些人说你不能,因为有人说“Telnet 是第 3 层网络协议。”我认为这是不正确的,一方面,Telnet 是一个应用层协议,即第 7 层。IP 或 IPX 或其他什么否则,是第 3 层网络层协议。但这甚至无关紧要。

整个层的概念在这里没有用。它用于识别不同的标头,并识别哪些标头被剥离和添加(封装)。

“数据包”,我的意思是全部(不仅仅是第 3 层)。但纵观所有领域。有一个IP地址和一个MAC地址。您必须知道很多事情才能发送数据包。应用层协议(telnet),TCP端口,IP地址。理论上,您可以通过获取 IP 地址来远程登录到给定 MAC 地址的主机。就像您可以 telnet 到给定主机名的主机一样(您可以获取主机名并获取 IP 地址)。就像您可以从主机名获取 IP 一样,您也可以(尽管以不同的方式)获取给定 MAC 地址的 IP。

RARP http://en.wikipedia.org/wiki/Reverse_Address_Resolution_Protocol 虽然我在 Windows 7 上看到了 arp 命令并且毫无疑问仍然使用 ARP,但它现在显然已经过时了(根据该维基百科文章的第一行)。RARP 转为 MAC->IP(从 MAC 地址获取 IP)。与 ARP 的 IP->MAC(从 IP 获取 MAC 地址)相反。就像您拥有 DNS 和 rDNS 一样,它们可以让您在 IP 地址和主机名之间切换。ARP 和 RARP 也可以让您在 IP 地址和 MAC 地址之间切换。因此,正如您可以 telnet 到主机名一样,您可以使用类似的原理,理论上,telnet 到具有 MAC 地址的主机。也许你提到的那个程序(mactelnet)就是这样做的。

添加我在这台机器上没有 telnet 但这是一个带有脚本的示例

C:\blah>mactelnet 01-00-5e-00-00-16
Telnet 224.0.0.22
'Telnet' is not recognized as an internal or external command,
operable program or batch file.

C:\blah>
Run Code Online (Sandbox Code Playgroud)

mactelnet.bat 有一行

@for /f "tokens=1-5" %%f  in ('arp -a') do @IF "%%g"=="%1" Echo Telnet %%f & Tel
net %%f & EXIT /B
Run Code Online (Sandbox Code Playgroud)

正如我对 ramhound 所说的“[ip 和 mac 地址之间] 存在 1-1 关系,请尝试命令 arp -a 唯一的限制是它仅适用于本地。ARP 或 RARP 不会告诉您 IP 地址对于不同子网上的 MAC 地址。如果您想超越本地子网,您需要自己的列表来进行转换。但在本地命令 arp -a 会在 Windows 中告诉您“

OP 还提到了一个程序 http://tulas-tulis.com/blog/detail/mactelnet-from-linux-to-router-mikrotik

  • @Ramhound 有 1-1 的关系,尝试命令 arp -a 唯一的限制是它只能在本地应用。ARP 或 RARP 不会告诉您不同子网上的 MAC 地址的 IP 地址。如果您想超越本地子网,您需要自己的列表来进行转换。但是在本地命令 arp -a 会在 Windows 中告诉你。 (2认同)