Я хотел бы посмотреть, какие порты открыты на моем компьютере, например, какие порты прослушивает мой компьютер. Например, порт 80, если я установил веб-сервер, и так далее.
Есть ли какая-нибудь команда для этого?
Я хотел бы посмотреть, какие порты открыты на моем компьютере, например, какие порты прослушивает мой компьютер. Например, порт 80, если я установил веб-сервер, и так далее.
Есть ли какая-нибудь команда для этого?
Я всегда пользовался этим:
sudo netstat -ntlp
Если netstat
команда недоступна, установите ее с помощью:
sudo apt install net-tools
Nmap ("Сетевой картограф") это бесплатная утилита с открытым исходным кодом для исследования сети или аудита безопасности.
Воспользуйся nmap 192.168.1.33
для внутреннего ПК или nmap external IP address
.
Дополнительная информация man nmap
.
Карта Дзен является официальным интерфейсом GUI.
Другие хорошие способы узнать, какие порты прослушиваются и каковы ваши правила брандмауэра:
sudo netstat -tulpn
sudo ufw status
Чтобы перечислить открытые порты, используйте 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
.
Этого достаточно, чтобы показать, что существует процесс, прослушивающий IP-адрес 0.0.0.0
(необходимо, чтобы он отвечал на любой запрос) на порт 80 (стандартный номер порта веб-сервера). В моем случае это показывает, что это веб-сервер lighttpd
$ sudo netstat -ntlp | grep :80tcp 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.
Доступные поддержки (Linux, Windows, Mac OS X, BSD и т.д.)
Взгляните на этот инструментальный вид:
В последнем дистрибутиве Linux, скорее всего, вы не найдете netstat
командовать больше нельзя.
$ netstatCommand 'netstat' not found, but can be installed with:sudo apt install net-tools$
Однако, если вы хотите использовать его, продолжайте и установите его с помощью sudo apt install net-tools
команда.
К вашему сведению, netstat устарел (см. справочную страницу), поэтому вам следует использовать ss
в середине netstat
.
Эта программа устарела. Заменой netstat является ss.
Заменой netstat -r является ip-маршрут. Заменой netstat-i является ip -s link. Заменой netstat -g является ip maddr.
Напр.
$ ss -lntState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 5 127.0.1.1:53 *:*LISTEN 0 128 127.0.0.1:631 *:*LISTEN 0 128 ::1:631 :::*
Описание
ss = еще одна утилита для исследования сокетов
-l, --Listening отображает только прослушивающие сокеты (по умолчанию они опущены).
-n, --numericНе пытайтесь разрешить имена служб.
-t, --tcpДисплей TCP-сокетов.
ss: Печать: сетевые подключения таблицы маршрутизации статистика интерфейса маскарадные подключения членство в многоадресной рассылке
Install: sudo apt install net-toolsExample: ~$ ss -ntlp | grep LISTEN > LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* LISTEN 0 5 127.0.0.1:631 0.0.0.0:* LISTEN 0 5 [::1]:631 [::]:* LISTEN 0 50 [::ffff:127.0.0.1]:9614 *:*
предполагая, что вы хотите проверить порт 3000:netstat -na | grep 3000