I have в php server running on port 4444 on my Ubuntu 15.04 machine. Now when I execute telnet 127.0.0.1 4444
it works умрите. Now I have connected my machine and в windows 7 machine using mobile hotspot. I got my ip address using ifconfig
which шоу
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)
Now when I execute telnet 192.168.43.115 4444
on my windows machine i get Could not open connection to the host, on port 4444: Connect Failed
. nmap -sU 127.0.0.1 -p 4444
шоу the following
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
And netstat -tulpn
шоу the following
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 :::* -
How хан I fix this? Please help. Thanks in advance
Не рекомендуется использовать telnet, но вместо этого использовать SSH. Причина этого, то, что связь telnet не шифруется и уязвимая для подслушивания.
можно заставить сервер PHP позволить удаленные соединения через SSH путем установки openssh-сервера:
sudo Кв. - получает openssh-сервер установки
, Если бы Вы все еще хотите использовать telnet, затем согласно Вашему выводу, казалось бы, что порт 4444 не открыт на Вас поле Linux. Принятие Вас не имеет, устанавливают брандмауэр на том компьютере, казалось бы, что Ваш сервер не выполняет сервер telnet. Устанавливать тот сервис:
sudo Кв. - получает telnetd
установки, я надеюсь, что это помогает.
В Вашем 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.
Напротив, например, Ваши брови хрома... (PID 1744), слушает на 0.0.0.0
, который является особенным, означая "все интерфейсы" (таким образом, это должно быть достижимо с внешней стороны, например, машина Windows).
Ваш nmap датчик UDP сообщает о порте, "закрытом", потому что php использует протокол TCP.
Я нахожу lsof
полезный для исследования, что слушает, но. Для получения некоторого вывода на моей машине я попрошу порт 22 (SSH) вместо 4 444:
$ 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". Я не знаю ту программу; если Вы не можете изменить его конфигурацию, Вы могли бы всегда использовать ssh
или iptables
передать порт.
/Quigi