我是使用WSL的linux系统与主机windows系统进行通信。
1.安装telnet
linux:
在终端中运行以下命令:
sudo apt-get install telnet
windows:
在命令行中运行以下命令:
DISM /Online /Enable-Feature /FeatureName:TelnetClient
1.1在windows中还需要手动启用telnet(默认是禁用的)
-
打开控制面板:按下Win + R键,在运行对话框中输入"control",然后按下Enter键,以打开控制面板。
-
选择"程序"(Programs)或"程序和功能"(Programs and Features):在控制面板中,根据您的Windows版本,选择"程序"或"程序和功能"。
-
启用或关闭Windows功能:在"程序"或"程序和功能"窗口中,找到并点击"启用或关闭Windows功能"(Turn Windows features on or off)链接。这将打开Windows功能窗口。
-
启用Telnet客户端:在Windows功能窗口中,找到并勾选"Telnet客户端"(Telnet Client)选项。如果已经勾选,表示Telnet客户端已经启用。然后点击"确定"按钮。
-
安装和启用Telnet客户端:根据您的Windows版本,Windows将自动安装并启用Telnet客户端。这可能需要一些时间来完成安装过程。
2.使用windows主机telnet至linux(因为被连接的主机需要监听23号端口,但windows监听指定端口很麻烦,所以使用linux主机作为被连接的对象)
①linux监听23号端口:ncat -l 23 (需先安装ncat)
②linux使用tcpdump进行抓包以查看数据包(主要看arp):tcpdump -i eth0 arp
③windows发起telnet连接(属于TCP连接):telnet <主机IP>
出现的问题:
1.由于windows主机和WSL虚拟机的ip不在同一网段,无法添加arp缓存项。(此条与telnet无关)
ARP缓存只包含局域网内的主机的IP地址和MAC地址映射。
2.windows无法监听指定端口。