Поиск по сайту:

Как найти номер порта службы в Linux

По каким-то причинам вам часто может понадобиться найти имена и номера портов. Если да, то вам повезло. Сегодня в этом кратком руководстве мы рассмотрим самые простые и быстрые способы найти номер порта службы в операционной системе Linux. Для этого может быть много способов, но на данный момент мне известны только следующие три метода. Читай дальше.

Найти номер порта службы в Linux

Метод 1. Использование команды Grep:

Чтобы найти номер порта по умолчанию для данной службы в Linux с помощью команды grep, просто запустите:

grep <port> /etc/services

Например, чтобы найти порт службы SSH по умолчанию, просто запустите:

grep ssh /etc/services

Это так просто. Эта команда должна работать в большинстве дистрибутивов Linux. Вот пример вывода моего тестового окна Arch Linux:

ssh 22/tcp
ssh 22/udp
ssh 22/sctp
sshell 614/tcp
sshell 614/udp
netconf-ssh 830/tcp
netconf-ssh 830/udp
sdo-ssh 3897/tcp
sdo-ssh 3897/udp
netconf-ch-ssh 4334/tcp
snmpssh 5161/tcp
snmpssh-trap 5162/tcp
tl1-ssh 6252/tcp
tl1-ssh 6252/udp
ssh-mgmt 17235/tcp
ssh-mgmt 17235/udp

Как вы можете видеть в приведенном выше выводе, номер порта по умолчанию для службы SSH — 22.

Давайте найдем номер порта веб-сервера Apache. Для этого команда будет такой:

$ grep http /etc/services
http://www.iana.org/assignments/port-numbers
http 80/tcp www www-http # WorldWideWeb HTTP
http 80/udp www www-http # HyperText Transfer Protocol
http 80/sctp # HyperText Transfer Protocol
https 443/tcp # http protocol over TLS/SSL
https 443/udp # http protocol over TLS/SSL
https 443/sctp # http protocol over TLS/SSL
gss-http 488/tcp
gss-http 488/udp
webcache 8080/tcp http-alt # WWW caching service
webcache 8080/udp http-alt # WWW caching service
[...]

Как насчет номера FTP-порта? Это легко!

$ grep ftp /etc/services
ftp-data 20/tcp
ftp-data 20/udp
21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
tftp 69/tcp
[...]

Метод 2. Использование команды getent

Как видите, приведенные выше команды показывают все имена и номера портов для данного поискового запроса «ssh», «http» и «ftp». Это означает, что вы получите довольно длинный вывод всех имен портов, соответствующих данному поисковому запросу.

Однако вы можете сузить результат до точного вывода, используя команду getent, как показано ниже:

$ getent services ssh
ssh 22/tcp
$ getent services http
http 80/tcp www www-http
$ getent services ftp
ftp 21/tcp

Если вы не знаете имя порта, но номер порта, просто замените имя порта номером, как показано ниже:

$ getent services 80
http 80/tcp

Чтобы отобразить все имена и номера портов, просто запустите:

getent services

Рекомендуем прочитать:

  • Как изменить порт Apache по умолчанию на собственный порт
  • Как изменить порт FTP по умолчанию на собственный порт
  • Как изменить порт SSH по умолчанию на собственный порт

Метод 3. Использование утилиты Whatportis

Whatportis – это простой скрипт Python, используемый для поиска имен и номеров портов. В отличие от приведенных выше команд, эта утилита отображает выходные данные в удобном формате табличных столбцов.

Убедитесь, что у вас установлен менеджер пакетов PIP. Если нет, перейдите по следующей ссылке.

  • Как управлять пакетами Python с помощью Pip

После установки PIP выполните следующую команду, чтобы установить утилиту Whatportis.

pip install whatportis

Теперь вы можете узнать, какой порт связан со службой, как показано ниже.

whatportis ssh
whatportis ftp
whatportis http

Пример вывода с моего сервера CentOS 7:

Найти номер порта службы в Linux

Если вы не знаете точное название службы, используйте флаг --like, чтобы отобразить соответствующие результаты.

whatportis mysql --like

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

whatportis 993

Вы даже можете отображать результаты в формате JSON.

whatportis 993 --json

Более подробную информацию можно найти в репозитории GitHub.

  • Репозиторий Whatportis на GitHub

Связанное чтение:

  • Как узнать, какая служба прослушивает определенный порт

И это все на данный момент. Теперь вы знаете, как найти имена и номера портов в Linux, используя три простых метода. Если вам известны какие-либо другие методы/команды, дайте мне знать в разделе комментариев ниже. Я проверю и обновлю это руководство соответствующим образом.

Статьи по данной тематике