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

by itisgood

Часто вам может понадобиться найти имена портов и номера по некоторым причинам.

Если это так, вам повезло.

Сегодня в этом кратком уроке мы увидим самые простые и быстрые способы найти номер порта службы в Unix-подобных операционных системах.

На самом деле может быть много способов, но в настоящее время я знаю только о следующих трех методах.

Найти номер порта по службе 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

Способ 3 – Использование утилиты Whatportis

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

Убедитесь, что вы установили диспетчер пакетов PIP.

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

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

$ whatportis ssh
$ whatportis ftp
$ whatportis http

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

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

$ whatportis mysql --like

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

$ whatportis 993

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

$ whatportis 993 --json

You may also like

Leave a Comment