Comment ouvrir un port?

21

J'ai Ubuntu 12.04 et je ne peux pas autoriser certains ports dans mon pare-feu. J'ai donc essentiellement dit que je permettrai tout, mais cela ne fonctionne toujours pas. Veuillez aider. nmap sur cette machine à partir d'une autre machine dit:

$ 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

et voici nmap de la même machine

$ 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

Je veux ouvrir le port 8000 et voici la sortie d'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
la source

Réponses:

25

Votre iptablessortie montre qu'aucun port n'est bloqué.

La question est donc: est-ce que quelque chose écoute sur le port 8000? Si rien n'écoute sur un port mais que le port n'est pas bloqué par un pare-feu nmaple signalera comme closed. D' ici :

fermé

Un port fermé est accessible (il reçoit et répond aux paquets de sonde Nmap), mais aucune application ne l'écoute. Ils peuvent être utiles pour montrer qu'un hôte utilise une adresse IP (détection d'hôte ou analyse ping) et dans le cadre de la détection du système d'exploitation. Étant donné que les ports fermés sont accessibles, il peut être utile d'analyser plus tard au cas où certains s'ouvriraient. Les administrateurs peuvent envisager de bloquer ces ports avec un pare-feu. Ensuite, ils apparaissent dans l'état filtré, discuté ensuite.

Donc le nmaprapport: "996 closed ports"dis en fait que ces ports ne sont pas bloqués par un pare-feu mais qu'aucun programme ne les écoute. nmapsignale un port bloqué comme filtered:

filtré

Nmap ne peut pas déterminer si le port est ouvert car le filtrage de paquets empêche ses sondes d'atteindre le port. Le filtrage peut provenir d'un périphérique de pare-feu dédié, de règles de routeur ou d'un logiciel de pare-feu basé sur l'hôte. ...

Donc, si vous mettez une application en état d'écoute sur le port 8000, elle apparaîtra probablement dans la sortie de nmap. Vous pouvez le faire si vous venez d'exécuter python3 -m http.serverou python -m SimpleHTTPServersur la machine sur laquelle vous essayez d'ouvrir les ports, cela mettra un serveur HTTP à l'écoute sur le port 8000. Ensuite, exécutez à nmapnouveau pour analyser la machine.

MISE À JOUR:

Votre netstatsortie a cette ligne:

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

Cela signifie que votre programme python n'écoute que sur localhost (127.0.0.1), il n'est donc accessible que depuis localhost, pas depuis l'extérieur. Le programme doit écouter sur l'IP de votre carte réseau ou sur l'IP 0.0.0.0 universel. Le problème est ce que j'ai écrit ci-dessus, aucun programme n'écoute sur le port 8000 (du monde extérieur) donc nmapdit qu'il est fermé.

fauconnier
la source
J'ai ajouté nmap à partir de la même machine. Il y a en fait une émission à écouter sur 8000
Mohammad Moghimi
@MohammadMoghimi Veuillez exécuter sudo netstat -tulpnsur la machine sur laquelle vous essayez d'ouvrir le port et publier la sortie.
fauconnier
pastebin.com/xhwc6vMN MYIP est mon adresse IP.
Mohammad Moghimi
@MohammadMoghimi J'ai mis à jour ma réponse, votre programme n'écoute que sur locahost, c'est le problème, voir ma mise à jour.
fauconnier
Le droit du fauconnier. Changez votre programme pour écouter sur 0.0.0.0 ou votre adresse IP LAN au lieu de 127.0.0.1.
Xavier J
1

Pour activer le port dans Ubuntu

sudo ufw allow <port_nr>

par exemple pour autoriser ssh

sudo ufw allow 22

sudo ufw enable

C'est ça

Mayur Bhandare
la source
1
Pour l'amour de Dieu, NE PAS ÉCRIRE CECI. Il y aura des débutants qui ne pourront pas accéder à leurs serveurs après l'activation de sudo ufw
Vasile