Как указать порт в адресной строке браузера
Предположим, что он ввёл в адресной строке следующее:
Для этого вы можете воспользоваться любой подходящей утилитой командной строки. Например, telnet:
Например (такая стартовая строка может указывать на то, что запрашивается главная страница сайта):
URI (Uniform Resource Identifier, унифицированный идентификатор ресурса) — путь до конкретного ресурса (например, документа), над которым необходимо осуществить операцию (например, в случае использования метода GET подразумевается получение ресурса). Некоторые запросы могут не относиться к какому-либо ресурсу, в этом случае вместо URI в стартовую строку может быть добавлена звёздочка (астериск, символ «*»). Например, это может быть запрос, который относится к самому веб-серверу, а не какому-либо конкретному ресурсу. В этом случае стартовая строка может выглядеть так:
При этом учитывайте, что для переноса строки следует использовать символ возврата каретки (Carriage Return), за которым следует символ перевода строки (Line Feed). После объявления последнего заголовка последовательность символов для переноса строки добавляется дважды.
Как прочитать ответ?
Стартовая строка ответа имеет следующую структуру:
Версия протокола здесь задаётся так же, как в запросе.
Пояснение к коду состояния (Reason Phrase) — текстовое (но не включающее символы CR и LF) пояснение к коду ответа, предназначено для упрощения чтения ответа человеком. Пояснение может не учитываться клиентским программным обеспечением, а также может отличаться от стандартного в некоторых реализациях серверного ПО.
После стартовой строки следуют заголовки, а также тело ответа. Например:
Тело ответа следует через два переноса строки после последнего заголовка. Для определения окончания тела ответа используется значение заголовка Content-Length (в данном случае ответ содержит 7 восьмеричных байтов: слово «Wisdom» и символ переноса строки).
Но вот по тому запросу, который мы составили ранее, веб-сервер вернёт ответ не с кодом 200, а с кодом 302. Таким образом он сообщает клиенту о том, что обращаться к данному ресурсу на данный момент нужно по другому адресу.
В ответ на этот запрос веб-сервер Хабрахабра уже выдаст ответ с кодом 200 и достаточно большой документ в формате HTML.
Если вы уже успели вжиться в роль, то можете теперь прочитать полученный от сервера HTML-код, взять карандаш и блокнот, и нарисовать профайл Ализара — в принципе, именно этим бы на вашем месте браузер сейчас и занялся.
А что с безопасностью?
А есть дополнительные возможности?
Что-то ещё, кстати, используют?
Увеличение скорости обеспечивается посредством сжатия, приоритизации и мультиплексирования дополнительных ресурсов, необходимых для веб-страницы, чтобы все данные можно было передать в рамках одного соединения.
На данный момент поддержка протокола SPDY есть в браузерах Firefox, Chromium/Chrome, Opera, Internet Exporer и Amazon Silk.
И что, всё?
Ну и, конечно, не забывайте, что любая технология становится намного проще и понятнее тогда, когда вы фактически начинаете ей пользоваться.
В основе работы глобальной сети Интернет лежит набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.
Человек может учиться двумя путями:
- Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта - при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
- Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли - недостающую информацию легко найти. Главное - знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.
В этой статье я предлагаю пойти вторым путем, так как понимание принципов, лежащих в основе работы Интернета, даст вам возможность чувствовать себя в Интернете уверенно и свободно — быстро решать возникающие проблемы, грамотно формулировать проблемы и уверенно общаться с техподдержкой.
Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.
На конверте письма будет написано примерно следующее:
Теперь мы готовы рассмотреть взаимодействие компьютеров и приложений в сети Интернет (да и в локальной сети тоже). Обратите внимание, что аналогия с обычной почтой будет почти полной.
Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:
В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:
Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.
Обратите внимание, комбинация: "IP адрес и номер порта" - называется "сокет".
В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.
Как правило взаимодействие осуществляется по схеме «клиент-сервер»: "клиент" запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например: почтовый SMTP сервер «слушает» 25-й порт, POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер - 80-й порт и пр.
Большинство программ на домашнем компьютере являются клиентами - например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.
Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.
Повторение - мать учения: IP — это адрес компьютера (узла, хоста) в сети, а порт — номер конкретного приложения, работающего на этом компьютере.
Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:
Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу - приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.
Диалог примерно следующий:
Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML - языке разметки текста, который понимает браузер.
Наш браузер, получив страницу, отображает ее. В результате мы видим на экране главную страницу этого сайта.
Зачем эти принципы надо понимать?
Например, вы заметили странное поведение своего компьютера - непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» - «Выполнить» - набираем cmd - «Ок»). В консоли набираем команду netstat -anи жмем . Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.
Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов - "своих" и "вражеских". Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?
Ну и самое главное — эти знания крайне полезны при общении с техподдержкой.
Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:
Несколько специальных IP адресов:
Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?
(Эти параметры задаются в настройках сетевых подключений).
Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения — принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).
Напоследок рассмотрим что же означают непонятные термины:
TCP/IP — это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).
IP протокол — это протокол так называемого сетевого уровня. Задача этого уровня — доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно — это не его задача, это задача транспортного уровня.
TCP и UDP — это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.
TCP — это протокол с установлением соединения и с гарантированной доставкой пакетов. Сначала производится обмен специальными пакетами для установления соединения, происходит что-то вроде рукопожатия (-Привет. -Привет. -Поболтаем? -Давай.). Далее по этому соединению туда и обратно посылаются пакеты (идет беседа), причем с проверкой, дошел ли пакет до получателя. Если пакет не дошел, то он посылается повторно («повтори, не расслышал»).
UDP — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).
Как посмотреть текущие соединения?
Текущие соединения можно посмотреть с помощью команды
(параметр n указывает выводить IP адреса вместо доменных имен).
Запускается эта команда следующим образом:
«Пуск» - «Выполнить» - набираем cmd - «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем . Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.
Имя | Локальный адрес | Внешний адрес | Состояние |
TCP | 0.0.0.0:135 | 0.0.0.0:0 | LISTENING |
TCP | 91.76.65.216:139 | 0.0.0.0:0 | LISTENING |
TCP | 91.76.65.216:1719 | 212.58.226.20:80 | ESTABLISHED |
TCP | 91.76.65.216:1720 | 212.58.226.20:80 | ESTABLISHED |
TCP | 91.76.65.216:1723 | 212.58.227.138:80 | CLOSE_WAIT |
TCP | 91.76.65.216:1724 | 212.58.226.8:80 | ESTABLISHED |
В этом примере 0.0.0.0:135 — означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.
91.76.65.216:139 — наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.
Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).
В следующих статьях мы рассмотрим, как применять эти знания, например общаясь с техподдержкой.
14.12.21 Разное 11910
Довольно часто можно услышать про использование сетевых портов, но не все понимают, что это такое. Для чего нужны порты обычному пользователю можно догадаться не сразу, а найти понятный ответ в сети бывает непросто.
Для начала дадим определение - что такое сетевой порт с технической точки зрения. Это натуральное число от 0 до 65535, которое записывается в заголовках протоколов транспортного уровня сетевой модели OSI. Оно используется для определения программы или процесса-получателя пакета в пределах одного IP-адреса. Но такое определение понятно только специалистам, а работать с портами бывает приходиться и обычным пользователям – например, необходимо освободить занятый порт.
Рассмотрим простое определение сетевого порта. Всем известно, что для доступа к ресурсам в сети используются IP-адреса. Такой адрес есть у любого устройства - компьютера, телефона, сервера и т.д. Но на одном IP-адресе могут быть доступны разные сервисы – могут работать различные программы для выполнения разных функций. Например, на сервере с одним IP может быть размещен сайт и установлены дополнительные программы, помимо этого сайта. Как в таком случае получить доступ к конкретному сервису? Всё просто – указать при обращении не только IP-адрес, но и порт. Сайту отводится один порт, каждому другому сервису назначается другой уникальный порт. В результате по одному IP-адресу доступно множество сервисов.
Просканировать и проверить порты можно при помощи специальных сервисов в интернете или при помощи стандартных утилит ОС. Некоторые порты зарезервировала для себя корпорация IANA, которая отвечает за правильное функционирование сетевых протоколов. Это короткие номера идентификаторов, диапазон чисел от 0 до 1023 (всего – 1024).
Список портов по умолчанию для популярных протоколов:
Как видно из списка, если порт занят, можно использовать альтернативный. Порт 80 и 8080 - разница здесь не существенна, просто если порт 80 занят, можно дописать еще число 80 и получится порт 8080.
Частый вопрос - как открыть закрытый порт? Это делается в настройках файрволла (брандмауэр) компьютера или сервера. Обычно достаточно открыть его дополнительные параметры и там создать правила для входящих подключений, в которых потребуется выбрать нужный протокол и прописать нужные порты. А как освободить занятый порт? Для этого необходимо узнать какой программой он занят и просто закрыть ее или указать в ее настройках другой порт.
Объясните, пожалуйста, простым языком.
Что такое 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", это означает "установить на тот самый комп, с которого и обращаться к этому серверу".
Переходим непосредственно к нашему устройству: « Keenetic Lite II Интернет центр для выделенной линии Ethernet», прошивка № 7995392. Настоятельно рекомендуем прошиться на самую последнюю прошивку, и сбросить установки в default. На примере данного устройства мы покажем, как зарегистрировать IP камеру во внутренней сети данного устройства и как пробросить порты, чтобы получить доступ к ней из сети Интернет. IP камера: D-link DCS2103.
Предпологается, что «Keenetic lite II» у вас уже подключён к сети Интернет. Подключаемся к Keenetic через Wi-Fi, данные для подключения указаны на задней крышке интернет-центра. После удачного подключения вводим в адресной строке браузера адрес 192.168.1.1 и оказываемся на странице «Систиемный монитор».
На этой же странице выбираем вкладку домашняя сеть и смотрим «ip адрес» он 192.168.1.1. Это значит, что при подключении к Keenetic нашей IP камеры мы должны дать ей адрес в диапазоне 192.168.1.2-192.168.1.254. Подключаем камеру к Keenetic, статический адрес камеры мы установили 192.168.1.102.
Заходим на страницу «Безопасность» Keenetic-a, пятая кнопка слева внизу страницы. Вкладка «Трансляция сетевых адресов (NAT)». Нажимаем кнопку: «Добавить правило». Во всплывающем окне вводим следующие данные.
После ввода данных нажимаем кнопу сохранить. Теперь необходимо проверить, действительно ли порт открыт. Это вы можете сделать, зайдя на страницу нашего сайта «Ваш IP адрес и проверка портов». Данная страница покажет ваш IP адрес и протестирует несколько портов.
Для некоторых устройств, подключаемых к "интернет центру", перечисленных действий недостаточно. Необходимо также зарегистрировать устройство в «домашней сети» вручную. Для этого переходим на страницу «Домашняя сеть», третья кнопка слева внизу страницы. Нажимаем на кнопку добавить устройство. Во всплывающем окне вводим данные:
- Описание устройства: IP камера
- MAC-адрес: F0:7D:68:09:DE:35
- Постоянный IP-адрес: ставим галочку
- IP-адрес:192.168.1.102
Читайте также: