无法从 Windows 7 telnet 进入 ubuntu

无法从 Windows 7 telnet 进入 ubuntu

我的 Ubuntu 15.04 机器上的 4444 端口上运行着一个 php 服务器。现在我执行它时,telnet 127.0.0.1 4444它工作正常。现在我已使用移动热点连接了我的机器和一台 Windows 7 机器。我使用ifconfig显示

wlan0     Link encap:Ethernet  HWaddr b4:b6:76:b2:18:b7  
      inet addr:192.168.43.115  Bcast:192.168.43.255  Mask:255.255.255.0
      inet6 addr: fe80::b6b6:76ff:feb2:18b7/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:23468 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21537 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:15077925 (15.0 MB)  TX bytes:3582649 (3.5 MB)

现在,当我telnet 192.168.43.115 4444在 Windows 机器上执行时,我得到Could not open connection to the host, on port 4444: Connect Failednmap -sU 127.0.0.1 -p 4444显示以下内容

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-22 23:03 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00015s latency).
PORT     STATE  SERVICE
4444/udp closed krb524

netstat -tulpn显示以下内容

Proto Recv-Q Send-Q Local Address           Foreign Address       State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:4444          0.0.0.0:*               LISTEN      1611/php        
tcp6       0      0 :::80                   :::*                    LISTEN      -               
tcp6       0      0 :::21                   :::*                    LISTEN      -               
tcp6       0      0 ::1:631                 :::*                    LISTEN      -               
udp        0      0 127.0.1.1:53            0.0.0.0:*                           -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
udp        0      0 0.0.0.0:21107           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:631             0.0.0.0:*                           -               
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1744/chromium-brows
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -               
udp        0      0 0.0.0.0:34051           0.0.0.0:*                           -               
udp6       0      0 :::56100                :::*                                -               
udp6       0      0 :::25246                :::*                                -               
udp6       0      0 :::5353                 :::*                                -               

我该如何解决这个问题?请帮忙。提前致谢

答案1

不建议使用 telnet,而应使用 SSH。原因是 telnet 通信未加密,容易被窃听。

您可以通过安装 openssh-server 使您的 PHP 服务器允许通过 SSH 进行远程连接:

sudo apt-get 安装 openssh-server

如果您仍想使用 telnet,那么根据您的输出,似乎您的 Linux 机器上的端口 4444 未打开。假设您没有在该计算机上设置防火墙,则似乎您的服务器未运行 telnet 服务器。要安装该服务:

sudo apt-get 安装 telnetd

我希望这有帮助。

答案2

在您的netstat输出中,该行

tcp 0 0 127.0.0.1:4444 0.0.0.0:* LISTEN 1611/php

表示 php(进程号 1611)正在监听TCP端口 4444内部的地址 127.0.0.1。该地址位于环回接口上,只能从本地主机(即您的 Ubuntu 计算机)访问,而不能从 Windows 计算机访问。

相比之下,例如,您的 chromium-brows...(PID 1744)监听0.0.0.0,它很特殊,意味着“所有接口”(因此它应该可以从外部访问,例如 Windows 机器)。

您的 nmap UDP 探测报告端口“已关闭”,因为 php 使用 TCP 协议。

我发现lsof调查正在监听的内容很有用,但是。为了在我的计算机上获取一些输出,我将请求端口 22(SSH)而不是 4444:

$ sudo lsof -P -i :22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 2152 root 5u IPv4 10192 0t0 TCP *:22 (LISTEN) sshd 2152 root 6u IPv6 10194 0t0 TCP *:22 (LISTEN)

您会看到它监听“*”(所有接口)。与您的情况一样,UDP 扫描不会发现它已打开:

$ sudo nmap -sU 127.0.0.1 -p 22 Starting Nmap 6.40 ( http://nmap.org ) at 2015-12-22 13:53 EST Nmap scan report for localhost (127.0.0.1) Host is up (0.000048s latency). PORT STATE SERVICE 22/udp closed ssh
Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

以上就是对您所看到内容的解释。要修复此问题,您应该指示 PHP 服务器监听 0.0.0.0 或 *,而不是 127.0.0.1 或“localhost”。我不知道该程序;如果您无法更改其配置,您可以随时使用sshiptables转发端口。

/奎吉

相关内容