Что такое сетевые порты компьютера ?

29.06.2016 6 Автор GodKnowses

Про сетевые порты компьютера.

В статье доступно описывается, что есть системный порт, зачем он программам нужен, как и какие устройства используют порты для общения в сети, и какое отношение имеют порты к безопасности ваших данных. Статья вводная; о том, как контролировать системные порты, правильно настраивать и сканировать, избегая ошибок и понимая, что происходит, поговорим в другой раз.

Сетевые порты компьютера: что это такое?

Как только компьютеры собираются обменяться информацией по сети, они сразу открывают информационные порталы для обмена. В архитектуре сети общение между двумя ЛЮБЫМИ системами зиждется на пяти непреложных принципах. Так, чтобы данные “перелетели” из точки А в точку Б, должны быть известны:

  • IP адрес источника информации
  • IP адрес получателя
  • протокол, по которому устройства будут общаться
  • порт передачи источника
  • и порт назначения, используемый транспортным протоколом RFC793

Порт – это некое виртуальное расширение, дополнение к сетевому адресу (как дополнение в цифрах к названию улицы или дому в адресе, по которому вы проживаете). Почтальон придёт на вашу улицу, но письмо не доставит  – он не знает кому, ибо номер квартиры ему не известен. Так и информация дойдёт до вашего компьютера по IP , но без надлежащего номера порта информация в компьютер не попадёт. Компьютер просто не поймёт, как обработать её, с помощью какого приложения. Сетевые порты компьютера – это тропинки между сервисами и службами, которые запущены в установленной на компьютере операционной системе и материнскими\сестринскими процессами на компьютерах-хостах, которые находятся порой за тысячи километров от вас. 

Кстати, у материнской платы тоже есть порт. Это физические разъёмы, которые, в отличие от описываемых, можно потрогать. Но функцию они выполняют, в сущности, ту же: все порты призваны принимать информацию с других устройств.

Транспортные протоколы (а самые распространённые и используемые это TCP и UDP) лезут на компьютер, используя в сообщении в том числе и номера из общего количества портов. Когда какое-то приложение захочет поговорить с другим устройством, оно напрямую просит локальную ОС открыть канал для передачи. Приложения, которые могут общаться по обоим протоколам (UDP и TCP) могут использовать для этого один и тот же порт, однако это условие необязательно.

Что такое порты компьютера: а сколько их?

В компьютере точное количество портов – 65 535. И ух них есть своя градация. Так,  порты с номерами до 1023 Линукс и Unix-подобными ОС считаются за “критически важные” для сетевой деятельности системы, так что для доступа к ним и службам, с ними связанными часто требуются root права. Windows также их считает системными и пристально следит за ними.

Порты от 1024 до 49151 имеют гриф “готовые к регистрации”. Это означает, что данные порты зарезервированы или могут быть зарезервированы за определёнными  службами. К счастью или сожалению, они за этими сервисами не закреплены прочными правилами, однако могут дать ключ для распознавания запущенной программы на стороне хоста. Остальные (начиная с 49152) порты не зарегистрированы и используются по усмотрению пользователей ОС и имеют название “динамические” порты. Так что запоминать, какой порт под какую службу “заточен”, часто просто бесполезно (по крайней мере, сегодня; однако ситуация может измениться). Но существует список портов, которые уже “испокон веков” используются конкретными сервисами:

20: FTP данные
21: FTP контроль
22: SSH
23: Telnet <= незащищённый, так что не рекомендуется к использованию
25: SMTP
43: WHOIS
53: DNS сервисы
67: DHCP сервис
68: DHCP клиент
80: HTTP трафик <= обычный веб трафик
110: POP3 почтовый
113: сервисы аутентификации в IRC сетях
143: IMAP почтовый
161: SNMP
194: IRC
389: LDAP
443: HTTPS <= защищённый сетевой трафик
587: SMTP <= добавление сообщений
631: CUPS порт для виртуальных принтеров.

Есть ещё кое-что, о чём нужно знать, знакомясь с тем, что такое порты компьютера. Это специальные термины, которые характеризуют состояние портов в смысле обмена данными в текущий момент. Итак:

  • Порт – сетевая локализация в операционной системе с присвоением конкретного числового значения для обмена информацией по соответствующим протоколам
  • Интернет-сокеты – или просто сокеты – файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
  • Привязка – процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
  • Прослушивание – попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
  • Сканирование портов – проверка состояния портов с целью распознать их готовность к дальнейшим действиям

Что такое порты компьютера . Хотите полюбоваться на них?

Со списком распространённых портов вы знакомы, однако некоторые сервисы вполне могут использовать порт, по умолчанию назначенный не для них. Или же, что не редкость, открытые порты применяются в качестве лазейки для злоумышленника. Так что, если вы решили самостоятельно менять настройки портов, нужно убедиться, что законопослушные клиент и сервер найдут друг друга. В противном случае стоит позволить Windows заблокировать порт, настроить блокировку в роутере или понадеяться на провайдера, который частенько порты блокирует ещё на излёте, особо клиентуру о том не спрашивая.

Вы можете прямо сейчас посмотреть на своём компьютере, какие порты чем занимаются. Наберите в терминале:

less /etc/services

и крутите мышкой до конца. Вот они во всей красе.

В Кали Линукс полезная во всех смыслах nmap тоже может отобразить их список:

less /usr/share/nmap/nmap-services

Если вы читаете эту статью в Windows, чтобы посмотреть сейчас открытые порты, запустите консоль команд от имени администратора cmd и выполните в ней команду:

netstat -a

Однако более развёрнуто работающие в Windows порты вам откроет небольшая программка с названием Process and port analyzer, которую можно легко скачать в сети. Она просто и доходчиво объяснит, какие порты сейчас открыты и какие программы эти порты слушают. Вот одна из вкладок утилиты:

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

Компьютерные порты и сетевая безопасность

Программы, и службы, которые здесь описаны, позволяют вам увидеть порты, открытые именно в вашей ОС (Windows и Linux) для каких-то уже работающих на компьютере программ. Однако помните, что в системе передачи информации между вашим компьютером и далёким веб-сервером где-то в Голландии, стоит ещё немало устройств, которые фильтруют трафик более серьёзно, в том числе контролируя порты (кстати, в том числе и находящийся в вашей же комнате роутер). Не ваши, конечно. Но именно этим серверам решать, попадут ли какие-то данные в вашу Windows. Прикладывает к этому руку и ваш провайдер, которому вы платите деньги за выход в сеть, блокируя порты в целях безопасности или для недопущения излишней сетевой активности (а вдруг вы захотите настроить у себя дома собственный веб-сервер? – не получится).

Зачем это делается? Позвольте продолжить аналогию с домами и улицами. Представьте, что вы решили купить гараж для авто (компьютера) в близлежащем кооперативе. Первое, что нужно сделать – защитить и усилить невозможность в помещение проникнуть: поставить хорошие двери и установить надёжные замки (закрыть порты). Но что ещё можно сделать? Кто-то ставит сигнализацию (специальные сетевые сканеры для проверки состояния портов). Накопить денег и установить дополнительный забор с воротами (роутер со встроенным фаерволлом), чтобы внутри можно было парковать и мотоцикл (планшет) . А чтобы газоны не испоганили грузовики, со своей стороны правление (провайдер) установило автоматический шлагбаум (сетевые анти-DDOS фильтры): всё вроде бы открыто, но чужой не проедет. И так далее…

Однако, если вы всё-таки собираетесь узнать, как виден ваш компьютер из глобальной сети (например, злоумышленникам, пытающимся проверить вас на прочность), описанные здесь способы совершенно не подходят. Разовьём эту тему в следующих статьях.

Успехов.