Как я могу видеть, какие порты открыты на моей машине?

94

Я хотел бы видеть, какие порты открыты на моей машине, например. какие порты моей машины прослушиваются. Например. порт 80, если я установил веб-сервер и т. д.

Есть ли какая-нибудь команда для этого?

    
задан Jonas 25.10.2010 в 12:49
источник

7 ответов

78

nmap

Nmap («Network Mapper») - это бесплатная и открытая утилита для проверки сети или аудита безопасности

nmap 192.168.1.33 внутренний Pc или nmap external ip address

Дополнительная информация man nmap

    
ответ дан hhlp 25.10.2010 в 12:55
источник
193

Я всегда использовал это:

netstat -ntlp | grep LISTEN
    
ответ дан SiLeNCeD 03.08.2013 в 18:06
51

Другие хорошие способы узнать, какие порты отправляются и какие правила вашего брандмауэра:

  • <р> sudo netstat -tulpn
  • <р> sudo ufw status
ответ дан nathwill 25.10.2010 в 14:38
22

Этого достаточно, чтобы показать, что есть процесс, прослушивающий IP-адрес 0.0.0.0 (необходимо, чтобы он отвечал на любой запрос) на порт 80 (стандартный номер порта веб-сервера). В моем случае это показывает, что это веб-сервер lighttpd

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

Если вы позже захотите убедиться, что единственное, что вы разрешаете через свой брандмауэр, - это порт 80, я часто использую ShieldsUp с www.grc.com для выполнения теста брандмауэра.

    
ответ дан rstonehouse 05.11.2011 в 20:03
22

Для отображения открытых портов используйте команду netstat .

Например:

    $ 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

В приведенном выше примере три службы привязаны к обратному адресу.

Услуги IPv4, привязанные к кольцевому адресу «127.0.0.1», доступны только на локальном компьютере. Эквивалентный loopback-адрес для IPv6 равен «:: 1». IPv4-адрес «0.0.0.0» означает «любой IP-адрес», что означает, что другие компьютеры могут потенциально подключаться к любому локально настроенному сетевому интерфейсу на конкретном порту.

Другой метод - использовать команду lsof :

    $ 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)

Подробнее см. в man netstat или man lsof .

    
ответ дан inetpro 29.08.2013 в 21:42
11

sudo iptables -L перечислит правила порта для вашего компьютера. Обратите внимание: если вы используете брандмауэры ufw или shorewall, выход может быть затруднен для чтения. В этом случае скорее используйте sudo ufw status , например.

Это не очень полезно само по себе, так как даже если открытому доступу к портам все равно будет отказано, если процесс не прослушивает этот порт.

    
ответ дан Ciaran Liedeman 05.11.2011 в 19:37
3

Если вы ищете непрерывный мониторинг портов для серверных машин или локальных, я думаю, вы также можете использовать графическую версию nmap i.e Zenmap для более подробной версии

Zenmap является официальным графическим интерфейсом пользователя (GUI) для Nmap Security Scanner.

Поддержка доступных (Linux, Windows, Mac OS X, BSD и т. д.)

Посмотрите на этот инструмент:

    

ответ дан V.G 06.12.2016 в 05:57