Bagaimana cara menjangkau komputer lokal melalui nama mesin dan bukan IP?

20

Pengembang di sini membuat prototipe aplikasi seluler, agak baru untuk seluler:

  • Saya memiliki layanan HTTP sederhana yang berjalan (saat ini) di laptop utama saya dengan nama mesin latitude.
  • Laptop lain bernama vaioberbagi jaringan WiFi yang sama dapat mengakses layanan itu melalui http://latitude:8080- dengan kata lain, ia dapat dengan mudah menyelesaikan (saat ini) IP 192.168.xy (atau IP dinamis apa pun yang dimilikinya saat itu) latitudeentah bagaimana.
  • Sekarang ponsel Android HTC saya, yang terhubung ke jaringan WiFi yang sama, dapat mencapai alamat IP latitudesehingga membuka di browser http://192.168.x.y:8080berfungsi.
  • Tapi saya juga ingin menggunakan nama mesin di sini, seperti ketika saya mengakses layanan HTTP vaio, cukup dengan mengetik http://latitude:8080dan minta telepon menyelesaikan IP dinamis saat ini latitude. Ini tidak berfungsi, hanya dapatkan halaman kesalahan browser standar: "Halaman web tidak tersedia" .

Apakah ada pengaturan DNS di Android yang perlu saya sesuaikan? Belum menemukan apa pun dari bermain-main dengan Pengaturan, dan pertanyaan seperti ini sangat sulit untuk dicari di google, juga ...

One V memiliki Android 4.0, dan One M7 memiliki Android 4.2 jika itu membuat perbedaan.

(Catatan, ini harus bekerja bahkan ketika Android tidak terhubung ke USB ke komputer saya dan tidak bertindak sebagai Hotspot WiFi - jelas, karena itu tetap memakan jaringan WiFi utama saya).

metaleap
sumber

Jawaban:

4

Terlepas apakah Anda terhubung ke jaringan lokal Anda melalui WiFi dan DHCP sedang digunakan, Android sepertinya selalu menimpa entri DNS-nya menggunakan server Google. Ini agak tersembunyi, tetapi mudah diubah - asalkan Anda memiliki DNS Anda sendiri berjalan (sudah banyak router yang menawarkannya).

Untuk melakukannya, buka daftar jaringan WiFi Anda di Pengaturan , tekan lama entri WiFi Anda, pilih untuk mengeditnya. Aktifkan Pengaturan Lanjut . Sekarang Anda dapat mengedit entri DNS. Cukup ganti entri pertama dengan IP server DNS Anda sendiri, dan biarkan entri kedua (DNS 2) tidak tersentuh untuk mundur.

Sekarang, jika DNS Anda sendiri dapat menyelesaikan mesin jaringan lokal Anda, Anda harus dapat menggunakan nama host mereka untuk menjangkau mereka. Tidak perlu root dan tidak perlu mengedit hostsfile (berpikir itu mungkin alternatif, jika Anda tidak menjalankan layanan DNS sendiri). Bekerja sangat baik di sini bersama saya dan jaringan saya;)

Izzy
sumber
Terima kasih! Inilah yang aneh, ketika saya melakukan ini maka router saya (gateway) sudah juga dimasukkan sebagai DNS1 (dan Google atau 8.8.4.4 sebagai DNS2). Yah saya akan dengan default ini dan menerapkannya, NetBIOS dan SMB diaktifkan pada mesin Windows, tetapi masih tidak ada resolusi nama ...
metaleap
2
Saya tidak punya rencana dengan Windows. Dalam kasus saya, ini adalah lingkungan berbasis Linux, dan router (AVM Fritz! Box) menjalankan server nama. Bekerja dengan lancar.
Izzy
Paling banyak (jika bahkan) ini hanya berlaku untuk Android versi lama. Dns pertama saya adalah dns lokal saya sedangkan fallback adalah 8.8.8.8 dari google. Mencari itu dengan getprop | grep -i dnsLihat juga android.stackexchange.com/a/32278/15713
ce4
Firefox bertindak berbeda dan tidak menunjukkan perilaku ini, saya kira itu omnibox Chrome (kotak pencarian gabungan / input URI) yang melakukan hal ini
ce4
Firefox tidak menggunakan server DNS sendiri (setidaknya saya akan bertanya-tanya). Semua perangkat lunak biasanya meminta sistem untuk informasi itu, jadi peramban seharusnya tidak penting di sini. @ ce4: Ya, itulah cara saya mengonfigurasikannya secara manual di perangkat saya: fallback yang sama, tetapi yang utama saya harus ubah secara manual dari 4.4.4.4 ke server DNS lokal saya. Saya tahu bahwa server DHCP saya mengirim informasi itu, tetapi tidak melihat satu pun perangkat Android yang menghormatinya.
Izzy
1

Ketika saya menginginkan nama mesin dan bukan IP, saya mengedit file HOSTS. Coba tambahkan perangkat dan alamat IP mereka di sana. Pencarian google untuk file host untuk sistem operasi Anda seharusnya mudah.

Bayangan
sumber
2
Mengedit HOSTS hanya berguna jika alamat IP laptop selalu statis / sama. Ini tidak akan terjadi karena saya sedang bekerja, jaringan WiFi yang berbeda, alamat IP dinamis. Juga mengedit HOSTS memerlukan Android yang di-rooting tetapi saya membutuhkannya untuk tetap tidak di-unroot dan sebagian besar tidak di-uji untuk kondisi "normal consumer phone" ..
metaleap
0

Tambahkan dua baris di akhir file hosts ( /etc/hosts) file Anda dengan ES Explorer (perlu perangkat yang di-root).

Templat:

your_host_machine's_IP_address  domain_name   

Contohnya domain_namebisa localhost.

Contoh:

::1  domain_name 

Ini berfungsi dengan baik saat mengetik localhostdi URL bar bukan alamat IP.

Mohamed Hasan
sumber
Saya dikoreksi \etc\hostsuntuk /etc/hostsdan membuat beberapa perubahan dalam format. Saya berusaha untuk tidak mengubah niat tetapi membuatnya terlihat lebih baik. Beritahu saya jika saya mengacaukan suatu tempat.
Firelord
0

Dalam kasus saya, pada Windows 10, untuk sementara menonaktifkan windows firewall memungkinkan berselancar http://latitude:8080.

Untuk jangka panjang saya membuat aturan untuk membiarkan koneksi semacam ini melalui firewall ...

  • {Windows}> Mulai> "Firewall"> Firewall Defender Windows dengan Keamanan Lanjutan. Aturan Masuk> Aturan Baru ...

    • Umum
      • Nama: koneksi web TCP dari LAN
      • Izinkan koneksi jika aman ...
      • Pilih: "Izinkan koneksi jika itu dikonfirmasi dan dilindungi integritas"
    • Protokol dan Pelabuhan
      • Jenis Protokol: TCP
      • Port Lokal: 80, 880
    • Maju
      • Tentukan profil yang akan diterapkan aturan ini: Pribadi
  • {Android}. Uji dengan Firefox atau Chrome, bukan Dolphin

John Bentley
sumber