Jak otworzyć port?


21

Mam Ubuntu 12.04 i nie jestem w stanie pozwolić na określony port w mojej zaporze ogniowej. Więc w zasadzie powiedziałem, że pozwolę na wszystko, ale wciąż nie działa. Proszę pomóż. nmap na tej maszynie z innej maszyny mówi:

$ 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

a oto nmap z tej samej maszyny

$ 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

Chcę otworzyć port 8000 i oto wyjście z 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  

mmoghimi@titan:~$ 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:

Odpowiedzi:


25

Twój iptableswynik pokazuje, że żaden port nie jest zablokowany.

Pytanie brzmi: czy coś nasłuchuje na porcie 8000? Jeśli nic nie nasłuchuje na porcie, ale port nie jest blokowany przez zaporę nmap, zgłosi to jako closed. Od tutaj :

Zamknięte

Port zamknięty jest dostępny (odbiera i reaguje na pakiety sond Nmap), ale żadna aplikacja nie nasłuchuje. Mogą być pomocne w pokazaniu, że host działa pod adresem IP (wykrywanie hosta lub skanowanie ping) oraz w ramach wykrywania systemu operacyjnego. Ponieważ dostępne są zamknięte porty, warto zeskanować później, na wypadek gdyby niektóre się otworzyły. Administratorzy mogą rozważyć zablokowanie takich portów za pomocą zapory ogniowej. Następnie pojawiałyby się w stanie filtrowanym, co omówiono dalej.

Więc nmapraport: w "996 closed ports"rzeczywistości powiedz, że te porty nie są blokowane przez zaporę ogniową, ale żaden program ich nie nasłuchuje. nmapzgłasza zablokowany port jakofiltered :

przefiltrowany

Nmap nie może ustalić, czy port jest otwarty, ponieważ filtrowanie pakietów uniemożliwia jego próbkom dotarcie do portu. Filtrowanie może pochodzić z dedykowanego urządzenia zapory, reguł routera lub oprogramowania zapory hosta. ...

Więc jeśli umieścisz aplikację w stanie nasłuchiwania na porcie 8000, prawdopodobnie pojawi się na wyjściu nmap. Możesz to zrobić, jeśli po prostu uruchomisz python3 -m http.serverlub python -m SimpleHTTPServerna komputerze, na którym próbujesz otworzyć porty, serwer HTTP nasłuchuje na porcie 8000. Następnie uruchom nmapponownie, aby przeskanować komputer.

AKTUALIZACJA:

Twój netstatwynik ma następującą linię:

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

Oznacza to, że twój program python nasłuchuje tylko na localhost (127.0.0.1), więc jest dostępny tylko z localhost, a nie z zewnątrz. Program musi nasłuchiwać na adresie IP karty sieciowej lub na uniwersalnym adresie IP 0.0.0.0. Problemem jest to, co napisałem powyżej, żaden program nie nasłuchuje na porcie 8000 (ze świata zewnętrznego), więc nmapmówi, że jest zamknięty.


Dodałem nmap z tej samej maszyny. W rzeczywistości jest program słuchający na 8000
Mohammad Moghimi

@MohammadMoghimi Uruchom sudo netstat -tulpnna komputerze, na którym próbujesz otworzyć port, i opublikuj dane wyjściowe.
sokolnik

pastebin.com/xhwc6vMN MYIP to mój adres IP.
Mohammad Moghimi

@MohammadMoghimi Zaktualizowałem moją odpowiedź, program nasłuchuje tylko w locahost, to jest problem, zobacz moją aktualizację.
sokolnik

Falconer ma rację. Zmień program, aby nasłuchiwał na 0.0.0.0 lub adresie IP twojej sieci LAN zamiast 127.0.0.1.
Xavier J

1

Aby włączyć port w Ubuntu

sudo ufw allow <port_nr>

np. aby zezwolić na ssh

sudo ufw allow 22

sudo ufw enable

To jest to


1
Na miłość boską, NIE NALEŻY PISAĆ TO. Będą początkujący, którzy nie będą mogli uzyskać dostępu do swoich serwerów po włączeniu sudo ufw
Vasile
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.