멀티 캐스트 DNS를 통해 IP에서 컴퓨터 이름을 얻으려면 어떻게합니까?


17

네트워크에 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 브로드 캐스트를 확실히 지원합니다. 따라서 서비스를 살펴 보는 것은 효과가 없습니다.


1
어떤 OS를 사용하고 있습니까? mdns-scan 은 Linux에서 옵션으로 보입니다.
Zoredache

1
OS X이지만 리눅스 솔루션을 얻을 수 있다면 맥 세계에서 아날로그를 찾을 수 있다고 확신합니다. mdns-scan은 브로드 캐스트 된 서비스를 검색하므로 작동하지 않습니다. 일부 장치는 서비스를 브로드 캐스트하지 않지만 이름으로 쿼리 할 때 주소를 확인합니다.
Adam

답변:


23

이미 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.

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


2
Bonjour 서비스를 실행하지 않는 iOS 기기에서 이것이 실패하는 이유를 알고 있습니까? 다른 Bonjour 서비스를 실행하지 않는 Mac에 대해 작동합니다.
John Wright

arp-scanhomebrew 또는 macports에서 설치된 IP 주소를 사용하여 네트워크에있는 IP 주소를 찾을 수도 있습니다 . 또는 네트워크의 호스트에 대한 느낌을 원한다면 이미 OS X에있는 명령을 사용하여 현재 ARP 테이블을 볼 수 arp있습니다. 특히, 명령을 사용할 수 있습니다. arp -n -i <interface> -l -a여기서 <interface>궁금한 네트워크 인터페이스의 이름이어야합니다 (예 :) en0.
Parthian Shot

5

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

getent hosts 192.168.0.52

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

avahi-resolve-address 192.168.0.52

패키지는 avahi-toolsFedora에 있으며이 페이지에서 효과가있는 유일한 것입니다 :)
Navin


-1

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.