Làm thế nào để tiếp cận máy tính cục bộ thông qua tên máy thay vì IP?


20

Nhà phát triển ở đây tạo mẫu cho một ứng dụng di động, hơi mới đối với thiết bị di động:

  • Tôi có một dịch vụ HTTP đơn giản đang chạy (hiện tại) trên máy tính xách tay chính của mình với tên máy latitude.
  • Một máy tính xách tay khác có tên vaiochia sẻ cùng một mạng WiFi có thể truy cập dịch vụ đó thông qua http://latitude:8080- nói cách khác, nó có thể dễ dàng giải quyết IP 192.168.xy (hoặc bất kỳ IP động nào mà nó có tại thời điểm đó) latitudebằng cách nào đó.
  • Giờ đây, điện thoại HTC Android của tôi, được kết nối với cùng một mạng WiFi, có thể truy cập địa chỉ IP latitudeđể mở trong trình duyệt của nó http://192.168.x.y:8080.
  • Nhưng tôi cũng muốn sử dụng tên máy ở đây, như khi tôi truy cập dịch vụ HTTP vaio, chỉ bằng cách nhập http://latitude:8080và yêu cầu điện thoại giải quyết IP động hiện tại của latitude. Điều này không hoạt động, chỉ nhận trang lỗi trình duyệt tiêu chuẩn: "Trang web không khả dụng" .

Có một số cài đặt DNS trong Android tôi cần phải điều chỉnh? Không tìm thấy bất cứ điều gì từ việc chơi xung quanh với Cài đặt và một câu hỏi như thế này cũng rất khó để google, ...

One V có Android 4.0 và One M7 có Android 4.2 trong trường hợp tạo ra sự khác biệt.

(Lưu ý, điều này sẽ hoạt động ngay cả khi Android không được kết nối USB với máy tính của tôi và không hoạt động như một Điểm truy cập WiFi - rõ ràng, vì dù sao nó cũng tiêu thụ mạng WiFi chính của tôi).

Câu trả lời:


4

Bất kể bạn có kết nối với mạng cục bộ của mình thông qua WiFi và DHCP hay không, Android dường như luôn ghi đè các mục DNS của nó bằng máy chủ của Google. Nó hơi bị ẩn, nhưng dễ thay đổi - miễn là bạn có DNS riêng của mình đang chạy (rất nhiều bộ định tuyến đã cung cấp).

Để làm như vậy, hãy truy cập danh sách các mạng WiFi của bạn trong Cài đặt , nhấn và giữ mục nhập WiFi của bạn, chọn để chỉnh sửa nó. Kích hoạt cài đặt nâng cao . Bây giờ bạn có thể chỉnh sửa các mục DNS. Chỉ cần thay thế mục nhập đầu tiên bằng IP của máy chủ DNS của riêng bạn và không để lại mục nhập thứ hai (DNS 2) cho dự phòng.

Bây giờ, nếu DNS của riêng bạn có thể giải quyết các máy của mạng cục bộ của bạn, bạn sẽ có thể sử dụng tên máy chủ của chúng để liên hệ với chúng. Không có root và không cần chỉnh sửa hoststệp cần thiết (nghĩ rằng đó có thể là một giải pháp thay thế, nếu bạn không có dịch vụ DNS riêng đang chạy). Hoạt động xuất sắc ở đây với tôi và mạng của tôi;)


Cảm ơn! Đây là điều kỳ lạ, khi tôi làm điều này thì bộ định tuyến (cổng) của tôi cũng đã được nhập dưới dạng DNS1 (và Google hoặc 8.8.4.4 dưới dạng DNS2). Vâng, tôi sẽ sử dụng các giá trị mặc định này và áp dụng chúng, NetBIOS và SMB được bật trên máy Windows, nhưng vẫn không có độ phân giải tên ...
metaleap

2
Tôi không có kế hoạch với Windows. Trong trường hợp của tôi, đó là môi trường dựa trên Linux và bộ định tuyến (AVM Fritz! Box) có một máy chủ tên đang chạy. Hoạt động trơn tru.
Izzy

Điều này tối đa (nếu chẵn) chỉ áp dụng cho các phiên bản Android cũ. Dns đầu tiên của tôi là địa phương của tôi trong khi dự phòng là 8.8.8.8 của google. Đã tìm kiếm nó với getprop | grep -i dnsXem thêm android.stackexchange.com/a/32278/15713
ce4

Firefox hoạt động khác nhau và không hiển thị hành vi này, tôi đoán đó là thanh địa chỉ của Chrome (hộp nhập kết hợp tìm kiếm / URI) thực hiện điều này
ce4

Firefox không sử dụng máy chủ DNS của riêng mình (ít nhất tôi sẽ tự hỏi nếu). Tất cả các phần mềm thường yêu cầu hệ thống cung cấp thông tin đó, vì vậy trình duyệt không nên quan trọng ở đây. @ ce4: Có, đó là cách tôi định cấu hình thủ công trên thiết bị của mình: cùng dự phòng, nhưng chính tôi phải thay đổi thủ công từ 4.4.4.4 sang máy chủ DNS cục bộ của mình. Tôi biết rằng máy chủ DHCP của tôi gửi thông tin đó, nhưng không thấy một thiết bị Android nào tôn vinh điều đó.
Izzy

1

Khi tôi muốn một tên máy thay vì IP, tôi chỉnh sửa tệp HOSTS. Hãy thử thêm các thiết bị và địa chỉ IP của chúng ở đó. Một tìm kiếm google cho tập tin máy chủ cho hệ điều hành của bạn phải dễ dàng.


2
Chỉnh sửa HOSTS chỉ hữu ích nếu địa chỉ IP của máy tính xách tay luôn ở trạng thái tĩnh / giống nhau. Đây sẽ không phải là trường hợp khi tôi đang làm việc trên đường đi, các mạng WiFi khác nhau, địa chỉ IP động. Ngoài ra, việc chỉnh sửa HOSTS yêu cầu Android đã được root nhưng tôi cần nó để không bị phân phối và phần lớn không bị kiểm tra trong điều kiện "điện thoại tiêu dùng thông thường" ..
metaleap

0

Thêm hai dòng ở cuối tệp máy chủ ( /etc/hosts) của thiết bị của bạn với ES Explorer (cần một thiết bị đã root).

Bản mẫu:

your_host_machine's_IP_address  domain_name   

Ví dụ về domain_namecó thể localhost.

Thí dụ:

::1  domain_name 

Nó hoạt động tốt khi gõ localhostvào thanh URL thay vì địa chỉ IP.


Tôi sửa chữa \etc\hostsđể /etc/hostsvà thực hiện một số thay đổi trong định dạng. Tôi đã cố gắng không thay đổi ý định nhưng làm cho nó trông tốt hơn. Hãy cho tôi biết nếu tôi nhắn tin ở đâu đó.
Firelord

0

Trong trường hợp của tôi, trên Windows 10, tạm thời tắt tường lửa windows khiến việc lướt web trở nên http://latitude:8080khả thi.

Về lâu dài, tôi đã tạo một quy tắc để cho phép các loại kết nối này thông qua tường lửa ...

  • {Windows}> Bắt đầu> "Tường lửa"> Tường lửa bảo vệ Windows với Bảo mật nâng cao. Quy tắc trong nước> Quy tắc mới ...

    • Chung
      • Tên: Kết nối web TCP từ LAN
      • Cho phép kết nối nếu an toàn ...
      • Chọn: "Cho phép kết nối nếu được xác thực và được bảo vệ toàn vẹn"
    • Giao thức và cổng
      • Loại giao thức: TCP
      • Cảng địa phương: 80, 880
    • Nâng cao
      • Chỉ định hồ sơ để áp dụng quy tắc này: Riêng tư
  • {Android}. Kiểm tra với Firefox hoặc Chrome, không phải cá heo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.