Что такое порт в компьютере
В статье доступно описывается, что есть системный порт, зачем он программам нужен, как и какие устройства используют порты для общения в сети, и какое отношение имеют порты к безопасности ваших данных. Статья вводная; о том, как контролировать системные порты, правильно настраивать и сканировать, избегая ошибок и понимая, что происходит, поговорим в другой раз.
Что такое порты компьютера: а сколько их?
В компьютере точное количество портов — 65 535. И ух них есть своя градация. Так, порты с номерами до 1023 Линукс и Unix-подобными ОС считаются за «критически важные» для сетевой деятельности системы, так что для доступа к ним и службам, с ними связанными часто требуются root права. Windows также их считает системными и пристально следит за ними.
Есть ещё кое-что, о чём нужно знать, знакомясь с тем, что такое порты компьютера. Это специальные термины, которые характеризуют состояние портов в смысле обмена данными в текущий момент. Итак:
- Порт — сетевая локализация в операционной системе с присвоением конкретного числового значения для обмена информацией по соответствующим протоколам
- Интернет-сокеты — или просто сокеты — файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
- Привязка — процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
- Прослушивание — попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса — проверка состояния портов с целью распознать их готовность к дальнейшим действиям
Сетевые порты компьютера: что это такое?
Как только компьютеры собираются обменяться информацией по сети, они сразу открывают информационные порталы для обмена. В архитектуре сети общение между двумя ЛЮБЫМИ системами зиждется на пяти непреложных принципах. Так, чтобы данные «перелетели» из точки А в точку Б, должны быть известны:
- IP адрес источника информации
- IP адрес получателя
- протокол, по которому устройства будут общаться
- порт передачи источника
- и порт назначения, используемый транспортным протоколом RFC793
Порт — это некое виртуальное расширение, дополнение к сетевому адресу (как дополнение в цифрах к названию улицы или дому в адресе, по которому вы проживаете). Почтальон придёт на вашу улицу, но письмо не доставит — он не знает кому, ибо номер квартиры ему не известен. Так и информация дойдёт до вашего компьютера по IP , но без надлежащего номера порта информация в компьютер не попадёт. Компьютер просто не поймёт, как обработать её, с помощью какого приложения. Сетевые порты компьютера — это тропинки между сервисами и службами, которые запущены в установленной на компьютере операционной системе и материнскими\сестринскими процессами на компьютерах-хостах, которые находятся порой за тысячи километров от вас.
Кстати, у материнской платы тоже есть порт. Это физические разъёмы, которые, в отличие от описываемых, можно потрогать. Но функцию они выполняют, в сущности, ту же: все порты призваны принимать информацию с других устройств.
Устройства локальной сети
Связующее звено на картинке и в обычно квартире – роутер (по-другому маршрутизатор). Именно он создает в себе локальную сеть, а все устройства, подключенные к нему, входят в эту сеть. Что сейчас обычно подключают к нему:
- Компьютер – через провод.
- Ноутбук – уже обычно через Wi-Fi.
- Смартфоны – через Wi-Fi.
- Планшеты – через Wi-Fi.
- Телевизоры – у меня один по проводу, второй через Wi-Fi.
И это самые типичные представители домашней сети. А кроме этого могут встретиться всякие коммутаторы, повторители, умные розетки, видеокамеры и т.д. Все это тоже находится в вашей зоне LAN.
Для чего нужны порты
Представьте, что у вас в компьютере есть разъём для локальной сети и интернета. В него воткнут всего один кабель. Но одновременно сетью и интернетом пользуются разные программы:
👉 С вайфаем всё то же самое — всё это идёт через один разьём на материнской плате. То, что нет проводов, ничего не меняет — все данные всё равно сыпятся в один физический порт.
Чтобы при работе в сети программы и сервисы не путали данные между собой, разработчики придумали порты — они определяют, к какой программе относятся те данные, которые получает сетевая плата.
Теория на пальцах про LAN и разъем LAN
Итак, давайте все сначала, и будем постепенно углубляться в понятие:
LAN – Local Area Network – Локальная вычислительная сеть – в простонародье «Локальная сеть»
Ключевое слово здесь – «Локальная». Т.е. отделенное от внешнего мира. Давайте на простом: вот сидите вы в своей квартире – это локальное пространство. А улица – это общее пространство. Так и с сетями – есть локальная сеть, а есть внешняя глобальная (Интернет).
Для справки – сеть – объединение устройств через сетевой кабель или Wi-Fi для передачи данных. Мало ли кто не знал.
Чтобы еще больше упростить – любое устройство в сети дома или в офисе – локальная сеть, Интернет – глобальная. Больше обычному человеку знать и не нужно. Вот пример типичной домашней сети:
Да! Мы не всегда замечаем, что у нас дома подключено так много устройств, но на практике обычно так – у каждого члена семьи по телефону, планшету и ноутбуку… А еще подключается к вашей локальной сети через Wi-Fi злой соседский пацан из 5 «Г» местной школы – он тоже находится в вашей сети, а не во внешней.
LAN порты – порты на роутере для выхода в локальную сеть.
Что такое порты компьютера . Хотите полюбоваться на них?
Со списком распространённых портов вы знакомы, однако некоторые сервисы вполне могут использовать порт, по умолчанию назначенный не для них. Или же, что не редкость, открытые порты применяются в качестве лазейки для злоумышленника. Так что, если вы решили самостоятельно менять настройки портов, нужно убедиться, что законопослушные клиент и сервер найдут друг друга. В противном случае стоит позволить Windows заблокировать порт, настроить блокировку в роутере или понадеяться на провайдера, который частенько порты блокирует ещё на излёте, особо клиентуру о том не спрашивая.
Вы можете прямо сейчас посмотреть на своём компьютере, какие порты чем занимаются. Наберите в терминале:
и крутите мышкой до конца. Вот они во всей красе.
В Кали Линукс полезная во всех смыслах nmap тоже может отобразить их список:
Если вы читаете эту статью в Windows, чтобы посмотреть сейчас открытые порты, запустите консоль команд от имени администратора cmd и выполните в ней команду:
Однако более развёрнуто работающие в Windows порты вам откроет небольшая программка с названием Process and port analyzer, которую можно легко скачать в сети. Она просто и доходчиво объяснит, какие порты сейчас открыты и какие программы эти порты слушают. Вот одна из вкладок утилиты:
С помощью программы легко можно проверить местонахождение этого процесса в системе и определиться, насколько он безопасен.
Видео по теме
Остальное описывать и нет смысла. Тем, кто хочет подробностей, рекомендуется для простоты понимания посмотреть несколько видео по теме, например, вот такое:
В итоге когда пакет приходит компьютер по номеру порта отдает его соответствующей программе которая подписана на этот порт.
АртемЪ
получается к примеру если я осуществляю запрос GET на определённый IP на порт 80 по протоколу HTTP, то я осуществляю запрос на "конкретное место на сервере сайта" и которое прям ждёт чтобы ответить на такой запрос?
Не совсем представляю что такое конкретное место на сервере и что такой сервер сайта.
То в этом случае компьютер отдаст этот пакет приложению которое "слушает" 80 порт.
Как правило это Web сервер.
Т.е вы устанавливаете у себя на компьютере веб сервер, настраиваете его для работы на 80порту, и все.
Система будет передавать ему все что приходит с меткой 80 порта, а дальше уже веб сервер будет с ним работать.
Представьте, что у вас дома 2 компьютера и они подключены к одному роутеру. Для всего интернета IP адрес этих компьютеров одинаковый (так как внешний IP, который виден в интернете есть только у роутера). В этом случае, чтобы обратиться к конкретному компьютеру, нужен порт. Например, на роутере настроено, что у одного из компьютеров открыт порт 8245. Роутер имеет IP 95.84.208.79. Тогда обратиться к этому компьютеру можно так:
IP адрес — это номер квартиры друга.
Порт — это комната, в которой живёт друг
Представьте, что у вас дома 2 компьютера и они подключены к одному роутеру. Для всего интернета IP адрес этих компьютеров одинаковый (так как внешний IP, который виден в интернете есть только у роутера). В этом случае, чтобы обратиться к конкретному компьютеру, нужен порт.
Объясните, пожалуйста, простым языком.
Что такое localhost в адресной строке?
Почему бывают разные порты?
Где находится этот localhost, в каких директориях?
Оценить 2 комментария
Если человек, не знакомый с арифметикой захочет понять, что означает "два плюс три равно пять", ему недостаточно объяснить, что такое "два", или что такое "плюс"!
Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те - с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и "хостом", и "сервером", и "localhost"). Так что, чтоб можно было объяснить на пальцах, уточните, с какого места, собственно, непонятно.
Если человек, не знакомый с арифметикой захочет понять, что означает "два плюс три равно пять", ему недостаточно объяснить, что такое "два", или что такое "плюс"! Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те - с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и "хостом", и "сервером", и "localhost"). Так что, на всякий случай:
Комп, подключенный к сети, называют хостом. К нему обращаются по уникальному адресу или имени. Одному имени (т.е. одному хосту) могут соответствовать несколько разных адресов.
Когда к хосту обращаются по имени, это имя сначала разрешается в адрес хоста, по которому, собственно, и происходит обращение. В сети этим обычно занимается DNS (который, кстати говоря, тоже является сервером. но это уже другая история, которая сейчас не так важна для понимания сути), но если DNS нет, соответствие имен-адресов можно прописать в файле hosts на самом хосте. Если некое имя хоста и там не прописано, обратиться к нему по имени не удастся. хотя прямое обращение по адресу будет работать.
Сервер - это программа, отвечающая на запросы из сети. Комп, на котором она выполняется, также называют "сервером". Причем, даже если выполнение программы приостановлено (например, проводят профилактику или программа-сервер упала), этот комп все равно будут называть "сервером", ибо он предназначен, в основном, для выполнения этой программы.
На одном компе (=хосте, сервере) может одновременно выполняться несколько разных программ-серверов. Для того, чтоб обратиться к конкретной из них (адрес-то у всех один и тот же!), в протоколе TCP/IP используются разные номера портов.
Если на компе запущен, например, HTTP сервер (= Webserver, например, Nginx или Apache), он "слушает" порт 80, а если не запущен, порт 80 никто не слушает, и если обратиться к такому хосту (= серверу, компу) по его адресу в порт 80, никакого ответа не придет. хотя сам хост и будет доступен.
И, наконец, было бы совсем глупо, если бы для обращения к какому-то серверу на одном хосте в сети обязательно был бы нужен еще и другой комп, с которого обращаться. Вот и придумали возможность обратиться к программе-серверу с того же хоста, на котором она выполняется, т.е. локально, а чтоб не гадать, по какому адресу или имени это делать, ввели понятие localhost.
localhost - "общеизвестное" имя компа для самого себя и ему соответствует IP адрес 127.0.0.1. Это - общепринятая договоренность, которую просто нужно знать. Если говорят "установить сервер на localhost", это означает "установить на тот самый комп, с которого и обращаться к этому серверу".
В компьютерах есть два вида портов — физические и программные.
Физический порт — это разъём на компьютере или в ноутбуке, куда можно подключить флешку, сетевой кабель, принтер, наушники и что угодно ещё. Физический порт обменивается электричеством с чем-то, что в этот порт вставлено. В электричестве закодированы какие-то данные.
Программный порт — это «виртуальный разъём» в программе, через которую она может обмениваться данными с системой и другими программами. У него нет физического устройства, а есть только число от 0 до 65 535 — оно называется адресом порта. Мы будем говорить именно про них.
Типичный набор портов в современной материнской плате
WAN и LAN – в чем же разница?!
LAN – Local Area Network – локальная сеть
WAN – Wide Area Network – глобальная сеть
Есть широкий смысл и узкий. В широком смысле я уже отличие назвал выше – есть ваша домашняя личная сеть, а есть сеть, к которой могут подключаться все устройства мира – Интернет. В широком смысле WAN и есть интернет. В основном это отличие и просят везде в школах и вузах. Там просят и основные отличия:
- Размер сети – Интернет повсеместен (речь не идет уже даже о Земле, так как его применяют и на орбите, а в будущем, возможно, будет применение и на других планетах, и это не ограничит WAN лишь нашим земным шаром), LAN сеть – ограничена квартирой, офисом, сетью предприятия (ключевое – не везде).
- Количество пользователей – снова отличие в ограниченности локальной сети.
- Сервисы – локальные сервисы (печать, файлы), глобальные сервисы (WWW, глобальная маршрутизация).
- Топология – в LAN все равны, подключаются друг к другу, Peer-to-Peer. Для WAN характерны подключения клиент-сервер.
Так что, если кто-то будет вас спрашивать, чем отличается WAN от LAN – перечисляем пункты выше через запятую и заканчиваем разговор – все будут точно рады.
Но есть еще один момент, связанный с технологией. Речь идет про порт WAN. Как правило в него подключают шнур провайдера – для подключения к интернету. Порт WAN делает исходящее соединение в роутере. И в этом подходе глобальная концепция LAN и WAN в некоторых случаях может стирать границы между ними)
При этом исходящее соединение через WAN может быть подключено и к другому роутеру в вашем доме (особые случаи). Подключить внешнее устройство через порт WAN без танцев с бубнами не получится.
Есть еще один тип сетей – MAN (Metro Area Networks). Это что-то среднее – сеть метрополии или города, возможно, провайдера. Т.е. это некое подобие локальной сети между всеми пользователями, например, одного провайдера. Как преимущество – высокая скорость между точками. На этой базе неплохо раньше жили файлообменники.
Что можно сделать с портом
Можно ничего не делать — с точки зрения пользователя всё работает само. И правильно, и хорошо.
Компьютерные порты и сетевая безопасность
Программы, и службы, которые здесь описаны, позволяют вам увидеть порты, открытые именно в вашей ОС (Windows и Linux) для каких-то уже работающих на компьютере программ. Однако помните, что в системе передачи информации между вашим компьютером и далёким веб-сервером где-то в Голландии, стоит ещё немало устройств, которые фильтруют трафик более серьёзно, в том числе контролируя порты (кстати, в том числе и находящийся в вашей же комнате роутер). Не ваши, конечно. Но именно этим серверам решать, попадут ли какие-то данные в вашу Windows. Прикладывает к этому руку и ваш провайдер, которому вы платите деньги за выход в сеть, блокируя порты в целях безопасности или для недопущения излишней сетевой активности (а вдруг вы захотите настроить у себя дома собственный веб-сервер? — не получится).
Зачем это делается? Позвольте продолжить аналогию с домами и улицами. Представьте, что вы решили купить гараж для авто ( компьютера ) в близлежащем кооперативе. Первое, что нужно сделать — защитить и усилить невозможность в помещение проникнуть: поставить хорошие двери и установить надёжные замки ( закрыть порты ). Но что ещё можно сделать? Кто-то ставит сигнализацию ( специальные сетевые сканеры для проверки состояния портов ). Накопить денег и установить дополнительный забор с воротами ( роутер со встроенным фаерволлом ), чтобы внутри можно было парковать и мотоцикл ( планшет ) . А чтобы газоны не испоганили грузовики, со своей стороны правление ( провайдер ) установило автоматический шлагбаум ( сетевые анти- DDOS фильтры ): всё вроде бы открыто, но чужой не проедет. И так далее…
Однако, если вы всё-таки собираетесь узнать, как виден ваш компьютер из глобальной сети (например, злоумышленникам, пытающимся проверить вас на прочность), описанные здесь способы совершенно не подходят. Разовьём эту тему в следующих статьях.
Мальчишки и девчонки, приветствую вас! Что-такое LAN? LAN – это Local Area Network – локальная сеть, в отличие от WAN. С вами портал WiFiGid и лично я, Ботан, с умными терминами. Наскучило? Ничего не понятно? Дальше будет все намного проще, разжеванно и по полочкам. Предлагаю ознакомиться с этой супер статьёй!
А если что-то вдруг останется непонятным, вы всегда сможете написать в комментарии свой вопрос или пожелание, а я или кто-то из нашей обезбашенной команды на него обязательно ответит.
Подключение и порты
Здесь расскажу про подключение к LAN. Есть 2 варианта:
Здесь стоит понять, что все крутится вокруг роутера. Все, что подключается к роутеру – LAN. К чему подключается роутер – WAN. Как входящее и исходящее соединение.
Роутер сам может подключаться через Wi-Fi, но обычно все-таки подключаются к нему. Кто подключился – сразу же попадает в локальную сеть. Другой вариант – подключиться по проводу. Для этого заглянем на заднюю сторону любого среднего роутера:
Обратите внимание на LAN порты – их обычно несколько, и они как правило желтые (и то, и то не всегда). На них пишется LAN, или локальная сеть или как-то еще. Перепутать с другими сложно. Порт WAN специально выносят отдельно и выделяют. Итого – хотите подключить что-то в свою локальную сеть – подключайте только в порты LAN. Хотите соединить роутер с провайдером (для доступа в интернет, 99% случаев) или другим роутером (например, для извращенного режима повторителя) – используйте интерфейс WAN.
Сейчас и порты LAN, и порты WAN как правило имеют одинаковый тип разъема для кабеля витой пары Ethernet – RJ-45. Но так может быть не всегда. Так ADSL модем может использовать для локальной сети RJ-45 (LAN), а для подключения в интернет по телефонному кабелю – RJ-11 (WAN). Разъем LAN преимущественно все последнее время – RJ-45.
Как выглядит виртуальный порт
Мы уже работали с портами, когда собирали статичный сайт на Hugo, и тогда мы открывали в браузере такой адрес:
«Локалхост» означает, что браузер будет искать страницу на своём компьютере по адресу 127.0.0.1, а 1313 — это как раз порт. Порт от адреса отделяется двоеточием.
С технической точки зрения порт — это просто число, которое прикрепляется к каждому пакету с данными, поступающими в компьютер. Система смотрит, какой номер порта стоит на пакете, находит программу, которая его использует, и отправляет ей. В этом и смысл портов — чтобы система всегда знала, кому какие данные отдавать и кто их отправляет.
Читайте также: