Ответы:
Nmap («Network Mapper») - бесплатная утилита с открытым исходным кодом для исследования сети или аудита безопасности.
nmap 192.168.1.33
внутренний ПК или nmap external ip address
больше информации man nmap
nmap localhost
и nmap 192.168.0.3
(или каким IP-адресом у вас машины)
netstat -ln
. Вы сразу увидите все открытые порты.
nmap localhost
не нашел сервисы, которые были связаны только с localhost. Например, я бегу influxd
с bind-address:localhost:8086
. Это не показывалось в sudo nmap localhost
, но действительно показывалось в sudo netstat -tulpn
.
Я всегда использовал это:
sudo netstat -ntlp | grep LISTEN
sudo netstat -ntlp | grep LISTEN
... использовать sudo
иначе ... pid не будет напечатан.
-l
уже фильтры для прослушивания. grep LISTEN
не поможет не скрыть 2 строки информации заголовка.
-t
: tcp -l
,: сокет прослушивания,: -p
показать pid и имя программы,: -n
печатать 127.0.0.1:80
вместо localhost:http
. Ссылка: linux.die.net/man/8/netstat
netstat
сsudo apt-get install net-tools
sudo netstat --tcp --listening --programs --numeric
. Нет необходимости использовать, grep
если вы не хотите удалять заголовки столбцов.
Другие хорошие способы узнать, какие порты используются и какие у вас правила брандмауэра:
sudo netstat -tulpn
sudo ufw status
nmap
снова изменяю ответ , удобство использования netstat
- это дерьмо.
Для просмотра списка открытых портов используйте 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», доступны только на локальном компьютере. Эквивалентный адрес обратной связи для 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
.
-l
вариант был в списке LISTEN
портов. Значит, grep был бы здесь лишним ?!
Этого достаточно, чтобы показать, что процесс прослушивает 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 для проверки брандмауэра.
sudo iptables -L
перечислит правила порта для вашего компьютера. Обратите внимание, что если вы используете брандмауэры ufw или shorewall, вывод может быть трудным для чтения. В этом случае лучше использовать, sudo ufw status
например.
Это не очень полезно само по себе, так как даже если порт открыт, в доступе все равно будет отказано, если на этом порту не будет прослушиваться процесс.
Если вы ищете непрерывный мониторинг портов для серверных или локальных компьютеров, я думаю, вы также можете использовать графическую версию nmap, т.е. Zenmap для более подробной версии.
Zenmap - это официальный графический интерфейс пользователя (GUI) для сканера Nmap Security.
Доступна поддержка (Linux, Windows, Mac OS X, BSD и т. Д.)
Посмотрите на это представление инструмента:
nmap localhost
отлично сработало.