Я хотел бы видеть, какие порты открыты на моей машине, например. какие порты моей машины прослушиваются. Например. порт 80, если я установил веб-сервер и т. д.
Есть ли какая-нибудь команда для этого?
Для отображения открытых портов используйте команду 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)
Подробнее см. [D4] man netstat или man lsof
.
Другие хорошие способы узнать, какие порты прослушивают, и каковы ваши правила брандмауэра:
sudo netstat -tulpn
sudo ufw status
sudo iptables -L
перечислит правила порта для вашего компьютера. Обратите внимание: если вы используете брандмауэры ufw или shorewall, выход может быть затруднен для чтения. В этом случае скорее используйте sudo ufw status
например.
Это не очень полезно само по себе, так как даже если открытый доступ к порту будет по-прежнему отрицаться, если нет процесса прослушивание этого порта.
-l
должна была отображать портыLISTEN
ing. Так что grep будет лишним здесь ?! – Alexis Wilke 8 October 2016 в 21:53