จะเข้าถึงคอมพิวเตอร์ในพื้นที่ผ่านชื่อเครื่องแทน IP ได้อย่างไร


20

นักพัฒนาซอฟต์แวร์ที่นี่สร้างต้นแบบแอปมือถือซึ่งค่อนข้างใหม่สำหรับมือถือ:

  • ฉันมีบริการ HTTP ง่ายทำงาน (ปัจจุบัน) latitudeบนแล็ปท็อปหลักของฉันกับชื่อเครื่อง
  • แล็ปท็อปอีกเครื่องหนึ่งที่vaioใช้เครือข่าย WiFi เดียวกันสามารถเข้าถึงบริการดังกล่าวได้http://latitude:8080- กล่าวอีกนัยหนึ่งมันสามารถแก้ไข IP 192.168.xy (ปัจจุบัน) (หรือ IP ไดนามิกใด ๆ ที่มีอยู่ในขณะนั้น) ได้latitudeอย่างง่ายดาย
  • ตอนนี้โทรศัพท์ HTC Android ของฉันซึ่งเชื่อมต่อกับเครือข่าย WiFi เดียวกันสามารถเข้าถึงที่อยู่ IP ได้latitudeเพื่อให้การเปิดในเบราว์เซอร์http://192.168.x.y:8080ทำงานได้
  • แต่ผมอยากจะใช้ชื่อเครื่องที่นี่ด้วยเช่นเมื่อฉันเข้าถึงบริการ HTTP จากvaioเพียงโดยการพิมพ์และมีการแก้ปัญหาโทรศัพท์แบบไดนามิกในปัจจุบันทรัพย์สินทางปัญญาhttp://latitude:8080 latitudeนี้ไม่ได้ทำงานเพียง แต่ได้รับข้อผิดพลาดหน้าเบราว์เซอร์มาตรฐาน: "หน้าเว็บไม่สามารถใช้ได้"

มีการตั้งค่า DNS บางอย่างใน Android ที่ฉันต้องปรับแต่งหรือไม่? ไม่พบสิ่งใดจากการเล่นกับการตั้งค่าและคำถามเช่นนี้ก็ยากที่ Google จะรู้จัก ...

The One V มี Android 4.0 และ One M7 มี Android 4.2 ในกรณีที่สร้างความแตกต่าง

(หมายเหตุสิ่งนี้ควรใช้งานได้แม้ในขณะที่ Android ไม่ได้เชื่อมต่อ USB กับคอมพิวเตอร์ของฉันและไม่ได้ทำหน้าที่เป็น WiFi Hotspot - แน่นอนเพราะมันใช้งานเครือข่าย 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 แรกของฉันคือหนึ่งในพื้นที่ของฉันในขณะที่ทางเลือกของ Google คือ 8.8.8.8 ค้นหาด้วยgetprop | grep -i dnsSee also android.stackexchange.com/a/32278/15713
ce4

Firefox ทำหน้าที่แตกต่างกันและไม่แสดงพฤติกรรมนี้ฉันคิดว่ามันเป็นแถบอเนกประสงค์ของ Chrome (รวมช่องค้นหา / URI) ที่ทำเช่นนี้
ce4

Firefox ไม่ได้ใช้เซิร์ฟเวอร์ DNS ของตัวเอง (อย่างน้อยฉันก็สงสัยว่า) ซอฟต์แวร์ทั้งหมดมักจะขอข้อมูลจากระบบดังนั้นเบราว์เซอร์จึงไม่สำคัญ @ ce4: ใช่นั่นคือวิธีที่ฉันกำหนดค่าด้วยตนเองบนอุปกรณ์ของฉัน: ทางเลือกเดียวกัน แต่ตัวหลักฉันต้องเปลี่ยนจาก 4.4.4.4 เป็นเซิร์ฟเวอร์ DNS ในเครื่องของฉันด้วยตนเอง ฉันรู้ว่าเซิร์ฟเวอร์ DHCP ของฉันส่งข้อมูลนั้น แต่ไม่เห็นอุปกรณ์ Android เครื่องเดียวที่ให้เกียรติ
Izzy

1

เมื่อฉันต้องการชื่อเครื่องแทนที่จะเป็น IP ฉันจะแก้ไขไฟล์โฮสต์ ลองเพิ่มอุปกรณ์และที่อยู่ IP ของอุปกรณ์นั้น การค้นหา google สำหรับไฟล์โฮสต์สำหรับระบบปฏิบัติการของคุณควรเป็นเรื่องง่าย


2
การแก้ไขโฮสจะมีประโยชน์ก็ต่อเมื่อที่อยู่ IP ของแล็ปท็อปนั้นคงที่เสมอ / เหมือนเดิม นี่จะไม่เป็นอย่างที่ฉันกำลังเดินทางอยู่เครือข่าย WiFi ที่แตกต่างกันที่อยู่ IP แบบไดนามิก การแก้ไข HOSTS นั้นต้องใช้ Android ที่มีรูท แต่ฉันต้องการมันที่จะไม่ได้รับการรูทและทดสอบส่วนใหญ่ภายใต้เงื่อนไข "โทรศัพท์ผู้ใช้ทั่วไป" ..
metaleap

0

เพิ่มสองบรรทัดที่ท้ายไฟล์โฮสต์ของอุปกรณ์ ( /etc/hosts) ของคุณด้วย ES Explorer (ต้องการอุปกรณ์ที่รูท)

แม่แบบ:

your_host_machine's_IP_address  domain_name   

ตัวอย่างของการสามารถdomain_namelocalhost

ตัวอย่าง:

::1  domain_name 

มันทำงานได้ดีเมื่อพิมพ์localhostในแถบ URL แทนที่อยู่ IP


ฉันได้รับการแก้ไข\etc\hostsไป/etc/hostsและทำให้มีการเปลี่ยนแปลงบางอย่างในการจัดรูปแบบ ฉันพยายามไม่เปลี่ยนความตั้งใจ แต่ทำให้ดูดีขึ้น แจ้งให้เราทราบหากฉันเกิดความผิดพลาดบางแห่ง
Firelord

0

ในกรณีของฉันใน Windows 10 การปิดไฟร์วอลล์ windows เป็นการชั่วคราวทำให้การท่องhttp://latitude:8080เป็นไปได้

ในระยะยาวฉันได้สร้างกฎเพื่อให้การเชื่อมต่อประเภทนี้ผ่านไฟร์วอลล์ ...

  • {Windows}> เริ่ม> "ไฟร์วอลล์"> ไฟร์วอลล์ Windows Defender พร้อมการรักษาความปลอดภัยขั้นสูง กฎขาเข้า> กฎใหม่ ...

    • ทั่วไป
      • ชื่อ: การเชื่อมต่อเว็บ TCP จาก LAN
      • อนุญาตการเชื่อมต่อหากปลอดภัย ...
      • เลือก: "อนุญาตการเชื่อมต่อหากผ่านการตรวจสอบและรับรองความถูกต้องสมบูรณ์"
    • โปรโตคอลและพอร์ต
      • ประเภทโปรโตคอล: TCP
      • พอร์ตท้องถิ่น: 80, 880
    • สูง
      • ระบุโปรไฟล์ที่จะใช้กับกฎนี้: ส่วนตัว
  • {} Android ทดสอบกับ Firefox หรือ Chrome ไม่ใช่ Dolphin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.