Windows host with port

Как я могу указать IP и порты для имени хоста в файле хостов Windows?

Я хочу указать имена хостов с двумя разными портами в файле hosts Windows.

Есть ли способ сделать это? Или это не разрешено самой Windows?

Я трачу свое время на поиски решения в течение последних 8 часов.

Можно ли указать порты в файле host, hosts ? Например: 127.0.0.1:80 и 127.0.0.1:9211

3 ответа 3

Вы не можете связать номер порта с именем хоста, сопоставленным с IP в файле hosts. Вы можете добиться этого с помощью Fiddler, используя FiddlerScript:

Просто используйте IP-адреса без портов. Пример:

Затем для доступа к 192.168.2.50:5555 из вашего браузера (или другой программы):

(Файл hosts можно найти в C:\Windows\System32\drivers\etc\hosts .)

  • Файл hosts предназначен только для разрешения имен хостов.
  • Браузер при отсутствии прямого указания порта: то есть :

, по умолчанию используется порт 80

Типичный сценарий проблемы

    приложения обычно устанавливают на своих серверах один и тот же IP-адрес по умолчанию 127.0.0.1 или localhost (определенный в файле hosts).

чтобы избежать коллизий между, возможно, другими существующими / работающими серверами, приложение, как правило, позволяет изменить порт, но не IP-адрес.

2а. Если бы вы могли изменить IP-адрес сервера на другой в зарезервированном адресном пространстве 127.0.0.0/8 закольцованного адреса , вы, вероятно, не пытались бы устанавливать порты в файле hosts.

Возможное решение

Вы можете обойти это, используя сетевой инструмент Windows, включенный netsh в качестве прокси-сервера порта.

обзор

действия

  • Запустите свой сервер на localhost:8081
  • Добавьте «локальный DNS» в файл hosts в качестве новой строки
    • 127.65.43.21 example.app
      • Можно использовать любой свободный адрес в сети 127.0.0.0/8 .
      • Примечание. Я предполагаю, что 127.65.43.21:80 не занят другой службой.
      • Вы можете проверить с помощью netstat -a -n -p TCP | grep «LISTENING»
  • добавьте следующую конфигурацию сети с помощью утилиты команды netsh
    • netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
  • Доступ к серверу по адресу http://example.app

Заметки:
— Эти команды / изменения файла должны выполняться с правами администратора.

— netsh portproxy нужны библиотеки ipv6 даже для использования v4tov4, обычно они также будут включены по умолчанию, в противном случае установите их с помощью следующей команды: netsh interface ipv6 install

Вы можете увидеть запись, которую вы добавили с помощью команды:

netsh interface portproxy show v4tov4

Вы можете удалить запись с помощью следующей команды:

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21

Ссылки на ресурсы:

Примечание: этот ответ является дублированием моего ответа, который обсуждался в этом аналогичном вопросе / ответе по stackoverflow.

Using port number in Windows host file

After installing TeamViewer, I have changed the wampserver port to 8080, so the address is http://localhost:8080.

For the host file located at C:\WINDOWS\system32\drivers\etc\, I have also made the change as below

BEFORE
127.0.0.1 www.example.com

AFTER
127.0.0.1:8080 www.example.com

When I access www.example.com, it doesn’t redirect to my wampserver, how can I fix it?

11 Answers 11

The hosts file is for host name resolution only (on Windows as well as on Unix-like systems). You cannot put port numbers in there, and there is no way to do what you want with generic OS-level configuration — the browser is what selects the port to choose.

Читайте также:  Удаленное устройство или ресурс не принимает подключение windows 10 wifi

So use bookmarks or something like that.
(Some firewall/routing software might allow outbound port redirection, but that doesn’t really sound like an appealing option for this.)

I managed to achieve this by using Windows included Networking tool netsh .

As Mat points out : The hosts file is for host name resolution only, so a combination of the two did the trick for me.

Example

Overview

Actions

  • Started my server on localhost:8081
  • Added my «local DNS» in the hosts file as a new line
    • 127.65.43.21 example.app
      • Any free address in the network 127.0.0.0/8 ( 127.x.x.x ) can be used.
      • Note: I am assuming 127.65.43.21:80 is not occupied by another service.
      • You can check with netstat -a -n -p TCP | grep «LISTENING»
  • added the following network configuration with netsh command utility
    • netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
  • I can now access the server at http://example.app

Notes:
— These commands/file modifications need to be executed with Admin rights

— netsh portproxy needs ipv6 libraries even only to use v4tov4, typically they will also be included by default, otherwise install them using the following command: netsh interface ipv6 install

You can see the entry you have added with the command:

netsh interface portproxy show v4tov4

You can remove the entry with the following command:

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21

Где находится файл hosts и как его изменить

Файл hosts — текстовый документ, который содержит в себе информацию о домене и адресе, на который ссылается домен.досту Файл hosts появился во времена зарождения Интернета (ARPANET) и служил где лежит неким маршрутизатором, пока на замену ему не пришла служба DNS. Но до сих пор он не утратил важности и по-прежнему используется как инструмент, который обладает приоритетом перед обращением к DNS-серверам.

Зачем нужен файл hosts

Предположим: вы зарегистрировали домен и привязали его к Hosting Linux. Но чтобы увидеть сайт, вам нужно дождаться делегирования домена на DNS-серверы. В файле hosts вы можете указать ваш домен и IP-адрес хостинга, а затем открыть браузер и зайти на ваш сайт, не дожидаясь делегирования домена. Также с его помощью вы можете заблокировать на локальном компьютере доступ к определённому сайту, указав соответствующую запись.

Где находится файл hosts

Путь к папке, где лежит файл hosts, зависит от операционной системы, которая установлена на вашем компьютере:

Windows XP, 2003, Vista, 7, 8, 10 — c:\windows\system32\drivers\etc\hosts

Linux, Ubuntu, Unix, BSD — /etc/hosts

Редактировать файл etc hosts нужно от имени администратора, иначе вы не сможете сохранить внесённые изменения.

Как внести изменения в файл hosts

Ниже мы рассмотрим, как редактировать и как сохранить файл hosts. Важно открыть файл с правами администратора, иначе система не даст вам его сохранить. Выберите вашу операционную систему и следуйте инструкции:

Запустите Блокнот или любой другой редактор от имени администратора. Откройте Пуск, найдите нужный редактор, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:

Как отредактировать файл hosts

В меню «Файл» нажмите Открыть и перейдите в каталог, в котором расположен файл hosts. Измените тип файла на «Все файлы»:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Чтобы изменить файл hosts в виндовс 10 (8), выполните следующие действия:

Запустите Блокнот или любой другой редактор от имени администратора. Для этого найдите его в Пуске, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:

В меню «Файл» нажмите Открыть и перейдите в каталог, где находится файл hosts . Измените тип файла на «Все файлы»:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

В Linux файл hosts находится в папке etc. Чтобы отредактировать его:

Введите в терминал linux команду hosts: sudo nano /etc/hosts

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Файл hosts в Ubuntu редактируется так же, как и во всех Unix-системах.

Файл hosts в Mac OS расположен в каталоге: /private/etc/hosts. Чтобы изменить его:

Введите команду: sudo nano /etc/hosts и нажмите Enter:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Также вы можете заблокировать определенный сайт через файл hosts, воспользовавшись инструкцией ниже:

Блокировка доступа к сайту через файл hosts

Доступ к сайту также можно ограничить для локального компьютера. Для этого укажите адрес страницы (домен) в файле hosts. Заблокировать IP нежелательного сайта не требуется. Блокировка осуществляется по локальному хосту с фиксированным IP (127.0.0.1):

В указанной на скриншоте строке укажите IP-адрес 127.0.0.1 и через пробел адрес нежелательного сайта. Чтобы заблокировать несколько сайтов, повторите действие в следующей строке. В примере ниже в файле hosts отказано в доступе (заблокирован доступ) к сайтам «vk.com» и «youtube.com»:

Готово! Доступ к сайтам будет ограничен на определенном ПК.

Оригинальный файл hosts и как его восстановить

Скачать оригинал файла hosts можно на разных ресурсах. Но мы не рекомендуем делать это, так как файл может быть заражен.

Файл hosts по умолчанию есть в каждой операционной системе, но он может быть скрыт для просмотра. Следуя инструкциям выше, вы сможете его открыть и отредактировать. Если вы удалили его, то просто создайте текстовый файл без расширения в нужной папке.

По умолчанию файл hosts выглядит следующим образом:

Можно на пальцах объяснить, про суть localhost и порты?

Объясните, пожалуйста, простым языком.
Что такое localhost в адресной строке?
Почему бывают разные порты?
Где находится этот localhost, в каких директориях?

  • Вопрос задан более трёх лет назад
  • 9884 просмотра

Если человек, не знакомый с арифметикой захочет понять, что означает «два плюс три равно пять», ему недостаточно объяснить, что такое «два», или что такое «плюс»!

Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и «хостом», и «сервером», и «localhost»). Так что, чтоб можно было объяснить на пальцах, уточните, с какого места, собственно, непонятно.

Если человек, не знакомый с арифметикой захочет понять, что означает «два плюс три равно пять», ему недостаточно объяснить, что такое «два», или что такое «плюс»! Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и «хостом», и «сервером», и «localhost»). Так что, на всякий случай:

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

Когда к хосту обращаются по имени, это имя сначала разрешается в адрес хоста, по которому, собственно, и происходит обращение. В сети этим обычно занимается DNS (который, кстати говоря, тоже является сервером. но это уже другая история, которая сейчас не так важна для понимания сути), но если DNS нет, соответствие имен-адресов можно прописать в файле hosts на самом хосте. Если некое имя хоста и там не прописано, обратиться к нему по имени не удастся. хотя прямое обращение по адресу будет работать.

Сервер — это программа, отвечающая на запросы из сети. Комп, на котором она выполняется, также называют «сервером». Причем, даже если выполнение программы приостановлено (например, проводят профилактику или программа-сервер упала), этот комп все равно будут называть «сервером», ибо он предназначен, в основном, для выполнения этой программы.

На одном компе (=хосте, сервере) может одновременно выполняться несколько разных программ-серверов. Для того, чтоб обратиться к конкретной из них (адрес-то у всех один и тот же!), в протоколе TCP/IP используются разные номера портов.

Если на компе запущен, например, HTTP сервер (= Webserver, например, Nginx или Apache), он «слушает» порт 80, а если не запущен, порт 80 никто не слушает, и если обратиться к такому хосту (= серверу, компу) по его адресу в порт 80, никакого ответа не придет. хотя сам хост и будет доступен.

Для разных общеизвестных типов программ-серверов (в этом случае также говорят о «сервисах» или же «протоколах», что в данном контексте практически одно и то же) принято использовать общеизвестные номера портов, а для наиболее распространенных (как тот же HTTP) можно даже не указывать номер порта при обращении, как мы обычно и делаем в строке броузера, т.к. клиент автоматически использует номер порта по умолчанию, в данном случае 80. Но, в принципе, любой сервис можно (переконфигурировав) использовать на любом порту. если, конечно, в этом есть смысл. Единственно, что нельзя — одновременно использовать разные серверы на одном порту.

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

localhost — «общеизвестное» имя компа для самого себя и ему соответствует IP адрес 127.0.0.1. Это — общепринятая договоренность, которую просто нужно знать. Если говорят «установить сервер на localhost», это означает «установить на тот самый комп, с которого и обращаться к этому серверу».

Оцените статью