Jak mohu zjistit, jaké porty jsou otevřené na mém počítači?

113

Chtěl bych zjistit, jaké porty jsou na mém počítači otevřené, např. jaké porty můj přístroj naslouchá. Např. port 80, pokud jsem nainstaloval webový server a tak dále.

Existuje nějaký příkaz?

    
dané Jonas 25.10.2010 14:49

7 odpovědí

92

nmap

Nmap ("Network Mapper") je bezplatný a open source nástroj pro průzkum sítě nebo audit zabezpečení

nmap 192.168.1.33 interního počítače nebonmap external ip address

více informacíman nmap

    
odpověděl hhlp 25.10.2010 14:55
219

Používám vždy toto:

sudo netstat -ntlp | grep LISTEN
    
odpověděl SiLeNCeD 03.08.2013 20:06
53

Další dobré způsoby, jak zjistit, jaké porty jsou obsaženy a jaké jsou pravidla brány firewall:

  • sudo netstat -tulpn

  • sudo ufw status

odpověděl nathwill 25.10.2010 16:38
22

To stačí k tomu, aby se ukázalo, že na portu 80 (standardní číslo portu webového serveru) existuje proces, který poslouchá na adrese IP0.0.0.0 (potřebuje odpověď na libovolnou žádost). V mém případě to ukazuje, že je to webový serverlighttpd

$ sudo netstat -ntlp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          2495/lighttpd

Pokud se později chcete ujistit, že jediná věc, kterou povolíte prostřednictvím brány firewall, je port 80. Používám ShieldsUp z www.grc.com k provedení testu firewall.

    
odpověděl rstonehouse 05.11.2011 21:03
22

Pro seznam otevřených portů použijte příkaznetstat.

Například:

    $ sudo netstat -tulpn | grep LISTEN
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      5452/dnsmasq    
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1037/cupsd      
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1037/cupsd

Ve výše uvedeném příkladu jsou tři služby navázány na adresu zpětné smyčky.

Služby protokolu IPv4 vázané na adresu zpětné vazby "127.0.0.1" jsou k dispozici pouze na místním počítači. Rovnocenná adresa zpětné volby pro protokol IPv6 je ":: 1". Adresu IPv4 "0.0.0.0" znamená "jakoukoli IP adresu", což znamená, že další stroje se mohou potenciálně připojit k libovolnému místně konfigurovanému síťovému rozhraní na daném portu.

Další metodou je použití příkazulsof:

    $ sudo lsof -nP -i | grep LISTEN
    cupsd     1037   root    9u  IPv6  11276      0t0  TCP [::1]:631 (LISTEN)
    cupsd     1037   root   10u  IPv4  11277      0t0  TCP 127.0.0.1:631 (LISTEN)
    dnsmasq   5452 nobody    5u  IPv4 212707      0t0  TCP 127.0.0.1:53 (LISTEN)

Další podrobnosti naleznete na adreseman netstat neboman lsof.

    
odpověděl inetpro 29.08.2013 23:42
11

sudo iptables -L uvede pravidla portů pro váš počítač. Všimněte si, že pokud používáte firewally ufw nebo shorewall, výstup může být těžko čitelný. V tomto případě spíše použijtesudo ufw status.

To není příliš užitečné samo o sobě, protože i když je otevřený přístup portu, bude stále odmítnut, pokud na tomto portu není žádný poslech.

    
odpověděl Ciaran Liedeman 05.11.2011 20:37
3

Pokud hledáte nepřetržité sledování portů pro serverové počítače nebo lokální, myslím, že můžete použít i grafickou verzi nmapu, např. Zenmap pro podrobnější verzi

Zenmap je oficiální grafické uživatelské rozhraní (GUI) pro Nmap Security Scanner.

Dostupné podpory (Linux, Windows, Mac OS X, BSD atd.)

Podívejte se na toto zobrazení nástroje:

    
odpověděl Vishal G 06.12.2016 06:57