Wie öffne ich einen Hafen?

21

Ich habe Ubuntu 12.04 und kann einen bestimmten Port in meiner Firewall nicht zulassen. Also sagte ich im Grunde, ich werde alles erlauben, aber es funktioniert immer noch nicht. Bitte helfen Sie. nmap auf dieser Maschine von einer anderen Maschine sagt:

$ 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

und hier ist nmap von der gleichen Maschine

$ 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

Ich möchte Port 8000 öffnen und hier ist die Ausgabe von 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:
Mohammad Moghimi
quelle

Antworten:

25

Ihre iptablesAusgabe zeigt, dass kein Port blockiert ist.

Die Frage ist also: Lauscht etwas auf Port 8000? Wenn auf einem Port nichts empfangsbereit ist, der Port jedoch nicht von einer Firewall blockiert wird, nmapwird dies als gemeldet closed. Von hier :

geschlossen

Auf einen geschlossenen Port kann zugegriffen werden (er empfängt und antwortet auf Nmap-Testpakete), es wird jedoch keine Anwendung abgehört. Sie können hilfreich sein, um anzuzeigen, dass ein Host über eine IP-Adresse verfügt (Hosterkennung oder Ping-Scan) und als Teil der Betriebssystemerkennung. Da geschlossene Ports erreichbar sind, lohnt es sich möglicherweise, später zu scannen, falls sich einige öffnen. Administratoren sollten in Betracht ziehen, solche Ports mit einer Firewall zu blockieren. Dann würden sie im gefilterten Zustand erscheinen, der als nächstes erörtert wird.

Also der nmapBericht: "996 closed ports"Eigentlich sagen, dass diese Ports nicht von einer Firewall blockiert werden, aber kein Programm sie abhört. nmapmeldet einen blockierten Port als filtered:

gefiltert

Nmap kann nicht feststellen, ob der Port offen ist, da die Paketfilterung verhindert, dass die Probes den Port erreichen. Die Filterung kann von einem dedizierten Firewall-Gerät, von Router-Regeln oder von einer hostbasierten Firewall-Software stammen. ...

Wenn Sie also eine Anwendung auf Port 8000 abhören, wird sie wahrscheinlich in der Ausgabe von angezeigt nmap. Sie können dies tun, wenn Sie nur die Maschine ausführen python3 -m http.serveroder python -m SimpleHTTPServerauf der Sie versuchen, die Ports zu öffnen. Dadurch wird ein HTTP-Server an Port 8000 empfangsbereit. Führen Sie den Vorgang dann nmaperneut aus, um die Maschine zu scannen.

AKTUALISIEREN:

Ihre netstatAusgabe hat diese Zeile:

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

Das bedeutet, dass Ihr Python-Programm nur localhost (127.0.0.1) abhört und daher nur von localhost und nicht von außen zugänglich ist. Das Programm muss die IP Ihres Netzwerkadapters oder die universelle IP 0.0.0.0 abhören. Das Problem ist, was ich oben geschrieben habe, kein Programm lauscht auf dem 8000-Port (von außen) und nmapsagt, dass er geschlossen ist.

Falkner
quelle
Ich habe nmap von derselben Maschine hinzugefügt.
Derzeit
@MohammadMoghimi Bitte führen Sie sudo netstat -tulpnauf dem Computer, auf dem Sie den Port öffnen möchten , die Ausgabe aus.
Falkner
pastebin.com/xhwc6vMN MYIP ist meine IP - Adresse.
Mohammad Moghimi
@ MohammadMoghimi Ich habe meine Antwort aktualisiert, Ihr Programm hört nur auf locahost, das ist das Problem, siehe mein Update.
Falkner
Falkner hat recht. Ändern Sie Ihr Programm, um 0.0.0.0 oder Ihre LAN-IP-Adresse anstelle von 127.0.0.1 abzuhören.
Xavier J
1

So aktivieren Sie den Port in Ubuntu

sudo ufw allow <port_nr>

zB um ssh zu erlauben

sudo ufw allow 22

sudo ufw enable

Das ist es

Mayur Bhandare
quelle
1
Um Gottes willen, SCHREIBEN SIE DIESES NICHT. Es wird Anfänger geben, die nach sudo ufw enable
Vasile