Як відкрити порт?


21

У мене є 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  

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:

Відповіді:


25

Ваш iptablesвихід показує , що не блокується ні один порт.

Отже, питання: чи слухає щось на порту 8000? Якщо на портах нічого не прослуховується, але порт не блокується брандмауером, nmapвін повідомить про це як closed. Від сюди :

зачинено

Закритий порт доступний (він отримує і відповідає на пакети зондів Nmap), але на ньому немає прослуховування додатків. Вони можуть бути корисними для того, щоб показати, що хост працює над IP-адресою (виявлення хосту або сканування пінг) та як частина виявлення ОС. Оскільки закриті порти доступні, можливо, варто сканувати пізніше, якщо вони відкриються. Адміністратори, можливо, захочуть блокувати такі порти брандмауером. Потім вони з'являться у відфільтрованому стані, обговорювались далі.

Отже, nmapзвіт: "996 closed ports"насправді кажуть, що ті порти не блокуються брандмауером, але жодна програма не слухає їх. nmapповідомляє про заблокований порт як filtered:

фільтрують

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

Отже, якщо ви помістите додаток у стан прослуховування на порт 8000, воно, швидше за все, з’явиться на виході nmap. Це можна зробити, якщо ви просто запустите python3 -m http.serverабо python -m SimpleHTTPServerна машині, на якій ви намагаєтесь відкрити порти, це дозволить серверу HTTP прослухати порт 8000. Потім запустіть nmapще раз, щоб сканувати машину.

ОНОВЛЕННЯ:

Ваш 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вона закрита.


Я додав nmap з тієї ж машини. Насправді програма слухає 8000
Мохаммед Могімі

@MohammadMoghimi Будь ласка, запустіть sudo netstat -tulpnмашину, на якій ви намагаєтесь відкрити порт, та опублікуйте вихід.
сокола


@MohammadMoghimi Я оновив свою відповідь, ви програму слухаєте лише у lochost, ось проблема, дивіться моє оновлення.
сокольниця

Право Соколера. Змініть програму на прослуховування на 0.0.0.0 або вашу ip-адресу локальної мережі замість 127.0.0.1.
Xavier J

1

Щоб увімкнути порт в Ubuntu

sudo ufw allow <port_nr>

наприклад, щоб дозволити ssh

sudo ufw allow 22

sudo ufw enable

Це воно


1
Заради Бога, НЕ ПИСЬМО ЦЕ. Будуть початківці, які не зможуть отримати доступ до своїх серверів після включення sudo ufw
Vasile
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.