Як дістатися до локального комп'ютера через ім'я машини замість IP?


20

Тут розробник прототипує мобільний додаток, дещо новий для мобільних пристроїв:

  • У мене на головному ноутбуці з назвою машини працює проста служба HTTP latitude.
  • Інший ноутбук, який називається vaioтією ж мережею WiFi, може отримати доступ до цієї послуги через http://latitude:8080- іншими словами, він може latitudeякось вирішити (поточний) IP 192.168.xy (або будь-який динамічний IP-код, який він має на той момент) .
  • Тепер мої телефони HTC Android, підключені до тієї ж мережі WiFi, можуть дістатися до IP-адреси, latitudeтому відкриття в її браузері http://192.168.x.y:8080працює.
  • Але я також хотів би використати ім'я машини тут, як, наприклад, коли я отримую доступ до служби HTTP vaio, просто ввівши http://latitude:8080і попросивши телефон вирішити поточний динамічний IP-код latitude. Це не працює, отримуйте лише стандартну сторінку помилки браузера: "Веб-сторінка недоступна" .

Чи є якісь налаштування DNS в Android, які мені потрібно налаштувати? У програмі "Налаштування" нічого не було знайдено, і таке питання, як відомо, важко й у Google ...

У 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) працює сервер імен. Працює безперебійно.
Izzy

Це має максимум (якщо навіть) стосуватися старих версій Android. Мій перший dns - мій локальний, а резервний - 8.8.8.8 google. Подивився це на getprop | grep -i dnsДив також android.stackexchange.com/a/32278/15713
ce4

Firefox діє по-різному і не проявляє такої поведінки, я думаю, що це
всебічне

Firefox не використовує власні DNS-сервери (принаймні, мені було б цікаво). Зазвичай все програмне забезпечення запитує систему для цієї інформації, тому браузер не повинен мати тут значення. @ ce4: Так, саме так я налаштував це вручну на своєму пристрої: те саме резервне, але основне, що мені довелося вручну змінити з 4.4.4.4 на мій локальний DNS-сервер. Я знаю, що мій сервер DHCP надсилає цю інформацію, але не бачив жодного пристрою Android, який би це шанував.
Izzy

1

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


2
Редагування HOSTS корисно лише в тому випадку, якщо IP-адреса ноутбука завжди залишається статичною / однаковою. Це не буде так, коли я працюю в дорозі, різних мережах WiFi, динамічних IP-адресах. Крім того, для редагування HOSTS потрібен вкорінений Android, але мені це потрібно, щоб він не був вкоріненим і значною мірою не розгублений для тестування в умовах "звичайного споживчого телефону" ..
metaleap

0

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

Шаблон:

your_host_machine's_IP_address  domain_name   

Прикладом domain_nameможе бути localhost.

Приклад:

::1  domain_name 

Це добре працює під час введення localhostURL-рядку замість IP-адреси.


Я виправив \etc\hostsдо /etc/hostsі зробив деякі зміни у форматуванні. Я намагався не змінювати наміри, але зробив це краще. Повідомте мене, якщо я десь заплутався.
Firelord

0

У моєму випадку в Windows 10 тимчасове відключення брандмауера Windows зробило http://latitude:8080можливим серфінг .

На довший термін я створив правило пропускати такі з'єднання через брандмауер ...

  • {Windows}> Пуск> "Брандмауер"> Брандмауер Windows Defender з попередньою безпекою. Правила вхідних даних> Нове правило ...

    • Загальні
      • Назва: веб-з'єднання TCP з локальної мережі
      • Дозволити з'єднання, якщо воно надійне ...
      • Виберіть: "Дозволити з'єднання, якщо воно автентифіковано та захищено цілісністю"
    • Протоколи та порти
      • Тип протоколу: TCP
      • Місцевий порт: 80, 880
    • Розширений
      • Вкажіть профілі, до яких застосовується це правило: Приватне
  • {Android}. Тестуйте з Firefox або Chrome, а не з дельфіном

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.