Как открыть порт?

16

У меня есть ubuntu 12.04, и я не могу разрешить определенный порт в моем брандмауэре. Поэтому я в основном сказал, что я разрешу все, но он все еще не работает. Пожалуйста помоги. nmap на этой машине с другой машины говорит:

$ nmap host_name
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds

и здесь nmap с той же машины

$ nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-21 11:14 PST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000080s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql
8000/tcp open  http-alt

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Я хочу открыть порт 8000, и вот вывод iptables.

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0  

[email protected]:~$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      14842/mysqld    
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      982/smbd        
tcp        0      0 127.0.0.1:39346         0.0.0.0:*               LISTEN      3405/GoogleTalkPlug
tcp        0      0 127.0.0.1:50995         0.0.0.0:*               LISTEN      3405/GoogleTalkPlug
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN      2412/teamviewerd
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2429/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      985/sshd        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1267/cupsd      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1748/exim4      
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2885/dropbox    
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      982/smbd        
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python    
tcp6       0      0 :::139                  :::*                    LISTEN      982/smbd        
tcp6       0      0 :::80                   :::*                    LISTEN      1832/apache2    
tcp6       0      0 :::22                   :::*                    LISTEN      985/sshd        
tcp6       0      0 ::1:631                 :::*                    LISTEN      1267/cupsd      
tcp6       0      0 ::1:25                  :::*                    LISTEN      1748/exim4      
tcp6       0      0 :::445                  :::*                    LISTEN      982/smbd        
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2429/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2403/dhclient  
udp        0      0 128.54.44.214:123       0.0.0.0:*                           3430/ntpd      
udp        0      0 MYIP:123                0.0.0.0:*                           3430/ntpd      
udp        0      0 127.0.0.1:123           0.0.0.0:*                           3430/ntpd      
udp        0      0 0.0.0.0:123             0.0.0.0:*                           3430/ntpd      
udp        0      0 137.110.255.255:137     0.0.0.0:*                           2602/nmbd      
udp        0      0 MYIP:137                0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.47.255:137       0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.44.214:137       0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:137             0.0.0.0:*                           2602/nmbd      
udp        0      0 137.110.255.255:138     0.0.0.0:*                           2602/nmbd      
udp        0      0 MYIP:138                0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.47.255:138       0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.44.214:138       0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:138             0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2885/dropbox    
udp        0      0 0.0.0.0:36889           0.0.0.0:*                           1356/avahi-daemon:
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1356/avahi-daemon:
udp6       0      0 ::1:123                 :::*                                3430/ntpd      
udp6       0      0 fe80::fab1:56ff:fe9:123 :::*                                3430/ntpd      
udp6       0      0 fe80::3e77:e6ff:fe6:123 :::*                                3430/ntpd      
udp6       0      0 :::123                  :::*                                3430/ntpd      
udp6       0      0 :::33792                :::*                                1356/avahi-daemon:
udp6       0      0 :::5353                 :::*                                1356/avahi-daemon:
    
задан Mohammad Moghimi 21.01.2014 в 03:05
источник

1 ответ

22

Результат iptables показывает, что порт не заблокирован.

Итак, вопрос: что-нибудь слушает на порту 8000? Если ничто не слушает порт, но порт не блокируется брандмауэром, nmap сообщит об этом как closed . Из здесь :

  

закрыт      

Доступен закрытый порт (он принимает и отвечает на пакеты Nmap-зондов), но на нем нет приложения. Они могут быть полезны при показе того, что хост находится на IP-адресе (обнаружение хоста или сканирование ping) и как часть обнаружения ОС. Поскольку закрытые порты достижимы, может потребоваться сканирование позже, если они будут открыты. Администраторы могут захотеть заблокировать такие порты с помощью брандмауэра. Затем они появятся в отфильтрованном состоянии, обсужденном ниже.

Итак, отчет nmap : "996 closed ports" фактически говорят, что эти порты не блокируются брандмауэром, но программа не прослушивает их. nmap сообщает заблокированный порт как filtered :

  

фильтруется      

Nmap не может определить, открыт ли порт, потому что фильтрация пакетов не позволяет его датчикам добраться до порта. Фильтрация может осуществляться с помощью специального устройства брандмауэра, правил маршрутизатора или программного обеспечения брандмауэра на базе хоста. ...

Итак, если вы поместите приложение в состояние прослушивания на порт 8000, оно, скорее всего, появится в выходе nmap . Вы можете сделать это, если вы просто запустите python3 -m http.server или python -m SimpleHTTPServer на машине, на которой вы пытаетесь открыть порты, это приведет к тому, что HTTP-сервер будет прослушивать порт 8000. Затем снова запустите nmap , чтобы проверить машину.

UPDATE:

Ваш выход netstat имеет следующую строку:

tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python  

Это означает, что ваша программа python только прослушивает localhost (127.0.0.1), поэтому она доступна только из localhost, а не извне. Программа должна прослушивать IP-адрес вашего сетевого адаптера или универсального 0.0.0.0 IP. Проблема в том, что я написал выше, ни одна программа не прослушивает порт 8000 (из внешнего мира), поэтому nmap говорит, что он закрыт.     

ответ дан falconer 21.01.2014 в 12:20
источник