मैं मल्टीकास्ट डीएनएस के माध्यम से आईपी से मशीन का नाम कैसे प्राप्त करूं?


17

मेरे पास एक नेटवर्क पर आईपी पतों की एक सूची है, और उनमें से अधिकांश मल्टीकास्ट डीएनएस का समर्थन करते हैं। मैं केवल 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

काम करता है, लेकिन मैं आईपी से उस नाम को निर्धारित करने में सक्षम होना चाहता हूं। इसके अलावा डिवाइस जरूरी किसी भी सेवा को प्रसारित नहीं करते हैं, लेकिन निश्चित रूप से mDNS प्रसारण का समर्थन करते हैं। इसलिए सेवाओं के माध्यम से देखने से काम नहीं चलेगा।


1
आप कौन सा ओएस उपयोग कर रहे हैं? mdns- स्कैन linux पर एक विकल्प लगता है।
ज़ोर्डैचे

1
ओएस एक्स, लेकिन अगर मुझे एक लिनक्स समाधान मिल सकता है, तो मुझे यकीन है कि मैं मैक दुनिया में एक एनालॉग पा सकता हूं। mdns- स्कैन प्रसारण सेवाओं के लिए दिखता है, इसलिए यह काम नहीं करेगा। कुछ उपकरण किसी भी सेवा को प्रसारित नहीं करते हैं, लेकिन नाम से पूछे जाने पर उनका पता हल कर देंगे।
एडम

जवाबों:


23

चूँकि आप पहले से ही आईपी पते को जानते हैं, इसलिए आप संबंधित अग्रेषित पते को प्राप्त करने के लिए प्रत्येक आईपी पते के लिए रिवर्स प्रविष्टि देख सकते हैं:

$ 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

अधिक शेल स्क्रिप्ट फ्रेंडली आउटपुट के लिए, '+ शॉर्ट' का उपयोग करें:

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

आपके इच्छित उपयोग के मामले के आधार पर क्वेरी करने के लिए अधिक उपयुक्त तरीका हो सकता है। अगर आपको और कोई जानकारी चाहिए तो मुझसे बेझिझक संपर्क करें।


2
किसी भी विचार क्यों यह एक आईओएस डिवाइस के खिलाफ विफल हो सकता है जो किसी भी बोनजॉर सेवाओं को नहीं चला रहा है? यह एक मैक के खिलाफ काम करता है जो अन्यथा किसी भी बोनजॉर सेवाओं को नहीं चला रहा है।
जॉन राइट

वर्थ नोटिंग कि आप यह भी पता लगा सकते हैं कि arp-scanहोमब्रेव या मैकपोर्ट से इंस्टॉल किए गए नेटवर्क पर कौन से आईपी पते हैं । या, यदि आप केवल नेटवर्क पर मेजबानों के लिए एक महसूस करना चाहते हैं, तो आप ओएस एक्स पर पहले से ही कमांड का उपयोग करके अपनी वर्तमान एआरपी तालिका को देख सकते हैं arp:। विशेष रूप से, आप कमांड का उपयोग कर सकते हैं arp -n -i <interface> -l -a, जहां <interface>आपके द्वारा उत्सुक नेटवर्क इंटरफ़ेस का नाम होना चाहिए (जैसे en0)।
पार्थियन ने शॉट

5

लिनक्स पर, आप libc से प्राप्त कमांड का उपयोग कर सकते हैं:

getent hosts 192.168.0.52

या अवही-बर्तन स्थापित करें, और चलाएं

avahi-resolve-address 192.168.0.52

पैकेज avahi-toolsफेडोरा पर है और यह इस पृष्ठ पर एकमात्र ऐसी चीज है जिसने काम किया :)
नवीन


-1

वैसे मैंने इस पर बहुत अधिक शोध किया है, और mDNDS और प्रोटोकॉल के माध्यम से, ऐसा लगता है कि यह वास्तव में संभव नहीं है। नाम पुनर्प्राप्ति के लिए प्रोटोकॉल पर एक लुकअप अनुरोध है, इसलिए जब आप एक नाम पूछते हैं तो उपयुक्त क्लाइंट प्रतिक्रिया देगा, लेकिन आईपी के लिए लुकअप अनुरोध नहीं है। पते के लिए कोई केंद्रीय स्टोर नहीं है।

आशा है कि यह किसी और की मदद करता है, क्योंकि मैंने इसे नीचे ट्रैक करने में बहुत अधिक समय लगाया है।

अगर किसी को इस मुद्दे पर कोई अन्य विचार है, मैं उन्हें सुनने के लिए प्यार करता हूँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.