멀티 캐스트 DNS를 통해 IP에서 컴퓨터 이름을 얻으려면 어떻게합니까? from 192.168.0.52: icmp_seq=2 ttl=64 time=5.396 ms 64 bytes

네트워크에 IP 주소 목록이 있으며 대부분 멀티 캐스트 DNS를 지원합니다. IP 주소를 갖는 대신 서버 이름을 확인할 수 있기를 원합니다.

ping computer.local
64 bytes from 192.168.0.52: icmp_seq=1 ttl=64 time=5.510 ms
64 bytes from 192.168.0.52: icmp_seq=2 ttl=64 time=5.396 ms
64 bytes from 192.168.0.52: icmp_seq=3 ttl=64 time=5.273 ms

작동하지만 IP에서 해당 이름을 결정할 수 있기를 바랍니다. 또한 장치가 반드시 서비스를 브로드 캐스트하지는 않지만 mDNS 브로드 캐스트를 확실히 지원합니다. 따라서 서비스를 살펴 보는 것은 효과가 없습니다.



답변

이미 IP 주소를 알고 있으므로 각 IP 주소에 대한 역방향 항목을 찾아 관련 정방향 주소를 얻을 수 있습니다.

$ dig -x 10.0.0.200 @224.0.0.251 -p 5353

; <<>> DiG 9.6.0-APPLE-P2 <<>> -x 10.0.0.200 @224.0.0.251 -p 5353
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54300
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;200.0.0.10.in-addr.arpa.   IN  PTR

;; ANSWER SECTION:
200.0.0.10.in-addr.arpa. 10 IN  PTR atj-mbp.local.

;; ADDITIONAL SECTION:
atj-mbp._device-info._tcp.local. 10 IN  TXT "model=MacBookPro3,1"

;; Query time: 2 msec
;; SERVER: 10.0.0.200#5353(224.0.0.251)
;; WHEN: Sat Jun 26 07:53:44 2010
;; MSG SIZE  rcvd: 126

보다 쉘 스크립트 친화적 인 출력을 원하면 ‘+ short’를 사용하십시오.

$ dig +short -x 10.0.0.200 @224.0.0.251 -p 5353
atj-mbp.local.

의도 한 사용 사례에 따라 쿼리를 수행하는보다 적절한 방법이있을 수 있습니다. 추가 정보가 필요한 경우 언제든지 저에게 연락하십시오.


답변

Linux에서는 libc에서 getent 명령을 사용할 수 있습니다.

getent hosts 192.168.0.52

또는 avahi-utils를 설치하고 실행하십시오.

avahi-resolve-address 192.168.0.52


답변

이것은 작동하는 것처럼 보입니다.

dig -x 192.0.2.42 -p 5353 @224.0.0.251

에서 멀티 캐스트 DNS 재미


답변

글쎄, 나는 이것에 대해 조금 더 많은 연구를했고, mDNDS와 프로토콜을 살펴보면 실제로 불가능한 것처럼 보입니다. 이름 검색을위한 프로토콜에 대한 조회 요청이 있으므로 이름을 요청할 때 적절한 클라이언트가 응답하지만 IP에 대한 조회 요청은 없습니다. 주소를위한 중앙 저장소도 없습니다.

내가 이것을 추적하는 데 너무 많은 시간을 소비했기 때문에 이것이 다른 누군가를 돕기를 바랍니다.

누구 든지이 문제에 대한 다른 아이디어가 있다면, 나는 그것을 듣고 싶어요.


답변