Идентификация служб сети
Процесс взаимодействия программ в сети проходит в соответствии с требова- ниями протокола прикладного уровня (Application Layer). В TCP/IP для иден- тификации служб, которые могут быть запущены на каком-либо узле сети, ис- пользуются номера портов в диапазоне от 0 до 65 535 (шестнадцать битов). Номера портов назначаются IANA (Internet Assigned Numbers Authority).
Многие номера портов, меньшие 1024 и некоторые большие, закреплены за определенными службами сети (Well Known Services). Вот список некоторых:
r 20 — данные, передаваемые сервисом FTP;
r 21 — управляющая информация для сервиса FTP;
r 22 — протокол SSH;
r 25 — транспортный почтовый протокол SMTP;
r 23 — удаленный доступ с помощью Telnet;
r 53 — протокол DNS;
r 80 — протокол HTTP;
r 110 — доставка почты по протоколу POP3;
r 119 — служба доставки новостей NNTP;
r 139 — протокол NetBIOS;
r 143 — удаленный доступ к почтовым ящикам по протоколу IMAP;
r 161 — протокол управления сетью SNMP;
r 389 — протокол доступа к службам каталогов LDAP.
Список имен служб находится в файле /etc/services (пример 21.1).
Пример 21.1. Файл /etc/services |
ftp-data | 20/tcp | ||
ftp | 21/tcp | ||
fsp | 21/udp | fspd | |
ssh | 22/tcp | # SSH Remote Login Protocol | |
ssh | 22/udp | ||
telnet | 23/tcp | ||
smtp | 25/tcp |
Службы, номера портов которых меньше 1024, называются привилегирован- ными. Серверные приложения, открывающие данные порты, могут быть за- пущены лишь суперпользователем. В противоположность привилегирован- ным портам порты с номерами от 1024 до 65 535 называют эфемерными, поскольку большинство из них не закреплено за какими-либо службами сети и используются клиентскими приложениями для связи с серверами.
Для связи между двумя сетевыми приложениями каждое из них должно от- крыть сокет (socket). Список активных соединений выводит команда netstat.
Если необходимо получить список не только установленных соединений, но и перечень портов, открытых для соединения, то можно использовать оп- цию -a команды netstat. Ограничить вводимую информацию лишь TCP- или UDP-портами можно, используя опции, соответственно, -t или -u (при- мер 21.2).
Пример 21.2. Получение списка открытых TCP-портов |
$ netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ssh *:* LISTEN
Этот пример показывает, что на данном компьютере открыт порт для соеди- нений по протоколу SSH (Secure Shell).
Для открытых портов в поле статуса установлен идентификатор LISTEN. Если соединение установлено, то в поле статуса будет ESTABLISHED (пример 21.3).
Пример 21.3. Установленные соединения на клиентском компьютере |
# netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 black:32771 work:ssh ESTABLISHED
tcp 0 0 *:ssh *:* LISTEN
Обратите внимание, что на клиентском компьютере (в данном случае — ssh) открыт сокет, использующий порт 32 771. Через этот сокет производится об- мен информацией с сокетом 22/tcp (служба ssh) на компьютере, где запущен сервер sshd.
Для вывода информации в числовом виде предназначена опция -n команды
netstat.
Открытые, но не используемые порты, представляют собой брешь в системе безопасности, поскольку каждый прослушиваемый порт представляет собой потенциальную цель атаки.
Дата добавления: 2015-06-12; просмотров: 808;