Как связаться с локальным компьютером по имени машины вместо IP?


20

Разработчик здесь создает прототип мобильного приложения, немного нового для мобильных устройств:

  • У меня есть простой HTTP-сервис, запущенный (в настоящее время) на моем главном ноутбуке с именем машины latitude.
  • Другой ноутбук с vaioобщим доступом к той же сети Wi-Fi может получить доступ к этой услуге через http://latitude:8080- другими словами, он может легко разрешить (текущий) IP 192.168.xy (или любой другой динамический IP-адрес, который он имеет в данный момент) latitudeкаким-либо образом.
  • Теперь мои телефоны HTC Android, подключенные к той же сети Wi-Fi, могут достигать IP-адреса, latitudeпоэтому открытие в браузере http://192.168.x.y:8080работает.
  • Но я также хотел бы использовать здесь имя компьютера, например, когда я получаю доступ к службе HTTP vaio, просто набрав http://latitude:8080и разрешив телефону разрешить текущий динамический IP-адрес latitude. Это не работает, только получите стандартную страницу ошибки браузера: «Веб-страница недоступна» .

Есть ли какие-то настройки DNS в Android, которые мне нужно настроить? Ничего не нашел от игры с настройками, и такой вопрос, как известно, тоже трудно гуглить ...

One V имеет Android 4.0, а One M7 имеет Android 4.2 на случай, если что-то изменится.

(Обратите внимание, что это должно работать, даже если Android не подключен к моим компьютерам через USB и не работает как точка доступа WiFi - очевидно, поскольку она все равно потребляет мою основную сеть WiFi).

Ответы:


4

Независимо от того, подключены ли вы к локальной сети через WiFi и используется DHCP, Android всегда переопределяет свои записи DNS с помощью серверов Google. Он несколько скрыт, но его легко изменить - при условии, что у вас работает собственный DNS (многие маршрутизаторы уже предлагают это).

Для этого перейдите к вашему списку сетей WiFi в настройках , нажмите и удерживайте запись вашего WiFi, выберите для редактирования. Активируйте Расширенные настройки. Теперь вы можете редактировать записи DNS. Просто замените первую запись IP-адресом вашего собственного DNS-сервера и оставьте вторую запись (DNS 2) без изменений.

Теперь, если ваш собственный DNS может разрешить компьютеры вашей локальной сети, вы сможете использовать их имена для доступа к ним. Нет необходимости в корне и редактировании hostsфайла (возможно, это альтернатива, если у вас нет собственной службы DNS). Отлично работает здесь со мной и моей сетью;)


Благодарность! Вот странная вещь, когда я делаю это, тогда мой маршрутизатор (шлюз) уже также вводится как DNS1 (а Google или 8.8.4.4 как DNS2). Ну, я иду с этими значениями по умолчанию и применяю их, NetBIOS и SMB включены на компьютере с Windows, но разрешение имен по-прежнему отсутствует ...
metaleap

2
У меня нет планов с Windows. В моем случае это среда на основе Linux, и на маршрутизаторе (AVM Fritz! Box) работает сервер имен. Работает плавно.
Иззи

Это должно в лучшем случае (если даже) относится только к старым версиям Android. Мой первый днс - мой локальный, а запасной вариант - Google 8.8.8.8. Посмотрел это с getprop | grep -i dnsСм. Также android.stackexchange.com/a/32278/15713
ce4

Firefox действует по-другому и не показывает такого поведения, я думаю, что это омнибокс Chrome (комбинированное окно поиска / ввода URI), который делает это
ce4

Firefox не использует свои собственные DNS-серверы (по крайней мере, я хотел бы знать, если). Все программное обеспечение обычно запрашивает у системы эту информацию, поэтому браузер здесь не имеет значения. @ ce4: Да, именно так я настроил это вручную на своем устройстве: тот же запасной вариант, но основной, который мне пришлось вручную изменить с 4.4.4.4 на мой локальный DNS-сервер. Я знаю, что мой DHCP-сервер отправляет эту информацию, но не видел ни одного Android-устройства, соблюдающего это.
Иззи

1

Когда мне требуется имя машины вместо IP, я редактирую файл HOSTS. Попробуйте добавить туда устройства и их IP-адреса. Поиск в Google файла hosts для вашей операционной системы должен быть легким.


2
Редактирование HOSTS полезно только в том случае, если IP-адрес ноутбука всегда остается неизменным / неизменным. Это не будет иметь место, так как я работаю на ходу, разные сети WiFi, динамические IP-адреса. Кроме того, для редактирования HOSTS требуется рутованный Android, но мне нужно, чтобы он оставался без рута и в значительной степени не настраивался для тестирования в условиях «обычного потребительского телефона» ..
metaleap

0

Добавьте две строки в конце файла hosts ( /etc/hosts) вашего устройства с помощью ES Explorer (требуется рутованное устройство).

Шаблон:

your_host_machine's_IP_address  domain_name   

Примером domain_nameможет быть localhost.

Пример:

::1  domain_name 

Он отлично работает при наборе localhostв строке URL вместо IP-адреса.


Я исправил \etc\hostsк /etc/hostsи сделал некоторые изменения в форматировании. Я старался не менять намерения, но чтобы он выглядел лучше. Дай мне знать, если я где-нибудь напутал.
Повелитель огня

0

В моем случае в Windows 10 временное отключение брандмауэра Windows сделало http://latitude:8080возможным серфинг .

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

  • {Windows}> Пуск> «Брандмауэр»> Брандмауэр Защитника Windows с расширенной безопасностью. Входящие правила> Новое правило ...

    • Общая
      • Имя: TCP веб-соединения из локальной сети
      • Разрешить соединение, если оно безопасно ...
      • Выберите: «Разрешить соединение, если оно аутентифицировано и защищено целостностью»
    • Протоколы и порты
      • Тип протокола: TCP
      • Локальный порт: 80, 880
    • продвинутый
      • Укажите профили, к которым применяется это правило: Личное
  • {} Android. Тест с Firefox или Chrome, а не с Dolphin

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.