При передаче данных кроме IP-адресов отправителя и получателя пакет информации содержит в себе номера портов. Порт - это некое число, которое используется при приеме и передаче данных для идентификации процесса (программы), который должен обработать данные. Так, если пакет послан на 80-й порт, то это свидетельствует, что информация предназначена серверу HTTP.

Номера портов с 1-го по 1023-й закреплены за конкретными программами (так называемые well-known-порты). Порты с номерами 1024-65 535 могут быть использованы в программах собственной разработки. При этом возможные конфликты должны разрешаться самими программами путем выбора свободного порта. Иными словами, порты будут распределяться динамически: возможно, что при следующем старте программа выберет иное значение порта.

Знание того, какие порты используют те или иные прикладные программы, важно при настройке брандмауэров. Часть настроек в таких программах для наиболее популярных протоколов предопределена, и вам достаточно только разрешить/запретить протоколы, руководствуясь их названиями. Однако в некоторых случаях придется обращаться к технической документации, чтобы определить, какие порты необходимо "открыть", чтобы обеспечить прохождение пакетов данной программы.

Примечание При настройке брандмауэра следует учитывать, что многие программы при подключении к Интернету открывают не один порт, а используют некоторый диапазон значений. Один из возможных вариантов настройки брандмауэров для недокументированных программ - это анализ их реального трафика с помощью какой-либо программы для перехвата передаваемых по сети пакетов.

Увидеть, какие порты реально задействованы на компьютере, можно с помощью команды netstat. В зависимости от версии операционной системы данная команда имеет различный набор ключей, позволяющих детализировать отчет (например, указать программы или процессы, использующие конкретные порты). В общем случае достаточно запустить команду netstat с ключом -а:

>netstat -a Активные подключения Имя Локальный адрес Внешний адрес Состояние

TCP sasha:http sasha.ask.ru:0 LISTENING

TCP sasha:epmap sasha.ask.ru:0 LISTENING

TCP sasha:https sasha.ask.ru:0 LISTENING

TCP sasha:microsoft-ds sasha.ask.ru:0 LISTENING

TCP sasha:1025 sasha.ask.ru:0 LISTENING

TCP sasha:1033 sasha.ask.ru:0 LISTENING

TCP sasha:1064 ack-isa2.ask.ru:8080 CLOSE_WAIT

TCP sasha:1067 ack-exchange.ask.ru:2703 ESTABLISHED

TCP sasha:1070 ack-exchange.ask.ru:1025 ESTABLISHED

TCP sasha:1078 ack-frw.ask.ru:8080 CLOSE WAIT

UDP sasha:microsoft-ds *:*

UDP sasha:isakmp *:*

UDP sasha:1041 *:*

UDP sasha:1053 *:*

В данном примере на компьютере готовы к подключению несколько портов (состояние listening): это порты http, epmap и т. д. - номера портов можно отобразить, если добавить ключ -n; порты 1067 и 1079 подключены (estabilished, программа показывает, с какой системой идет обмен данными); передача информации с портов 1064 и 1078 завершена и система находится в состоянии закрытия соединения (close_wait) и т. д.

ПримЕчАниЕ

Для получения информации по удаленному компьютеру используются специальные программы сканирования портов. Наиболее известный бесплатный продукт - nmap. Данные по отдельному порту можно получить штатными средствами системы (например, с помощью команды telnet или утилиты PortQry из состава Support Tools). Обратите внимание, что хотя использование подобных программ не запрещено стандартами, тем не менее многие системы оценивают сканирование портов как попытку вторжения и блокируют источник на некоторый период времени.

Автоматическое присвоение параметров ip-протокола | Самоучитель системного администратора | Протокол arp


Самоучитель системного администратора



Новости за месяц

  • Ноябрь
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс