सवाल रिवर्स डीएनएस कमांड लाइन उपयोगिता क्या है?


किसी कंप्यूटर के नाम को अपना आईपी पता देने का आदेश क्या है?

मैं हमेशा यह आदेश भूल जाता हूं कि यह आदेश क्या है, लेकिन मुझे पता है कि यह विंडोज में मौजूद है और मुझे लगता है कि यह * nix कमांड लाइन पर मौजूद है।


61
2018-05-11 15:52


मूल




जवाब:


गड्ढा करना तथा मेज़बान जो होना चाहिए वह होना चाहिए;)

http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html

* निक्स सिस्टम पर आप यह आदेश कर सकते हैं: dig -x [address]

वैकल्पिक रूप से आप जोड़ सकते हैं +short के अंत में dig केवल डीएनएस परिणाम आउटपुट करने के लिए आदेश।

विंडोज़ पर, उपयोग nslookup

संपादित करें: nixlookup * nix सिस्टम पर भी काम करता है। Nslookup कमांड पर अधिक infos चाहे यह कुछ समय से बदल दिया गया है: http://linuxreviews.org/man/nslookup/


48
2018-05-11 15:54





* निक्स पर आप इसका उपयोग कर सकते हैं:

dig -x [address]

48
2018-05-11 15:56



यह निश्चित रूप से सबसे आसान तरीका प्रतीत होता है। Rdns परिणाम के अलावा कुछ भी वापस करने के लिए अंत में + छोटा जोड़ें। dig -x [address] +short - ColinM
उस +short ध्वज वास्तव में उपयोगी है! - Neil
क्या यह आईपीवी 6 पते के साथ काम करता है? - Geremia
@ कोलिमिन अच्छा बिंदु। मैंने इस पर आधारित मेरा जवाब संपादित कर लिया है। धन्यवाद! - Marc-Andre R.
हाँ, @Geremia, के अनुसार man dig, एडीआर बिंदीदार-दशमलव नोटेशन में एक आईपीवी 4 पता है, या एक कोलन-सीमांकित आईपीवी 6 पता है। - Ricardo


अधिकांश लिनक्स सिस्टम पर जिन्हें मैं जानता हूं, आप इसका उपयोग कर सकते हैं:

 nslookup <ip-number EX: 127.0.0.1>

कमांड लाइन पर काम करेगा।

इसके बारे में सोचने के लिए आओ, विंडोज एक्सपी पर nslookup उपलब्ध नहीं है?


6
2018-05-13 05:42



हाँ सचमुच। और विंडोज के पिछले संस्करणों में। - kubanczyk


मुझे अच्छी तरह पता है कि dig / host / nslookup इनके लिए मानक उपकरण हैं, लेकिन मैं इन्हें ओएस के रिज़ॉल्यूशन का परीक्षण करने के लिए रखता हूं (अनिवार्य रूप से, nsswitch.conf का परीक्षण करने के लिए सही तरीके से काम कर रहा है):

gethostbyname:

#!/usr/bin/perl

use Socket;

my @t = gethostbyname($ARGV[0]);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

gethostbyaddr:

#!/usr/bin/perl

use Socket;

my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

उदाहरण:

g3 0 /home/jj33/swap > gethostbyname www.google.com
$name     = www.l.google.com
$aliases  = www.google.com
$addrtype = 2
$length   = 4
          = 72.14.205.147
          = 72.14.205.103
          = 72.14.205.104
          = 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147 
$name     = qb-in-f147.google.com
$aliases  = 
$addrtype = 2
$length   = 4
          = 72.14.205.147

2
2018-05-11 16:41



आप "गेटेंट होस्ट [आईपी या HOSTNAME]" कर सकते हैं - hayalci
हमम ... मैंने मूल रूप से कार्यों के साथ खेलने के लिए औजारों को लिखा था, इसलिए कोई नुकसान नहीं हुआ, लेकिन अगर मैं गेटेंट टूल के बारे में जानता था तो निश्चित रूप से उन्हें सर्वरफॉल्ट में चिपका नहीं होता। सूचक के लिए धन्यवाद। - jj33
-1: वे आईपीवी 4 तक सीमित हैं, gethostbyname आईपीवी 6 पते को पुनर्प्राप्त नहीं करता है जब वे मौजूद होते हैं और gethostbyaddr IPv6 पते स्वीकार नहीं करता है। - bortzmeyer
ये कार्य कई वर्षों अप्रचलित हैं। जब यह लिखा गया था तब भी वे अप्रचलित थे। पर्ल और अन्य भाषाओं में आपको getaddrinfo और getnameinfo का उपयोग करना चाहिए। - Michael Hampton♦


विंडोज़ पर मैं उपयोग करने की आदत में आया:

ping -a <ip address>

क्योंकि यह आपके डेटा को भी प्रतिबिंबित करेगा hosts फ़ाइल और WINS और इतने पर।


2
2018-05-11 16:53





इस प्रश्न में पहले से ही एक लाख जवाब हैं, लेकिन मैं एक और जोड़ना चाहता हूं। यहां एक छोटा सा फ़ंक्शन है जिसे मैंने आसानी से रिवर्स डीएनएस के साथ खोदने के लिए लिखा था। इसे अपने में जोड़ें ~/.bashrc फ़ाइल, अपना खोल पुनः लोड करें, और उसके बाद आप रिवर्स डीएनएस लुकअप कर सकते हैं revdns 1.2.3.4:

function revdns() {
    octets=""
    addr="in-addr.arpa"

    # split the IP address into an array of octets
    IFS="." read -r -a octets <<< "$1"

    # add each octet to our $addr string in reverse order
    for octet in "${octets[@]}"; do
         addr=$octet"."$addr
    done

    # run a DNS pointer lookup with dig
    # `+short` makes dig's output very terse (un-verbose)
    # `"${@:2}"` passes any extra params from this command to dig
    dig ptr +short $addr "${@:2}"
}

रिवर्स डीएनएस लुकअप पॉइंटर (पीटीआर) रिकॉर्ड की जांच करके किया जाता है। यदि आप "1.2.3.4" के लिए रिवर्स DNS करना चाहते हैं, तो आपको "4.3.2.1.in-addr.arpa" के लिए पॉइंटर रिकॉर्ड देखना होगा। मेरा फ़ंक्शन एक आईपी पते में आता है, ऑक्टेट्स के क्रम को उलट देता है (यानी इसे 1.2.3.4 से 4.3.2.1 तक बदलता है), और उसके बाद उपयोग करता है dig मैंने अभी वर्णित पीटीआर लुकअप निष्पादित करने के लिए।

आप निश्चित रूप से उपयोग कर सकते हैं nslookup 1.2.3.4 यदि आपके पास यह है, लेकिन मैं इस dig-based समाधान को प्राथमिकता देता हूं क्योंकि यह nslookup- प्रदत्त लोगों के बजाय ओएस 'DNS सर्वर का उपयोग करता है (यदि आप चाहते हैं, तो आप कॉल करते समय अतिरिक्त खुदाई झंडे जोड़ सकते हैं revdns, और वे खुदाई करने के लिए पारित हो जाएगा)


2
2018-02-03 19:22



इसकी मदद के अनुसार dig -x dot-notation "रिवर्स लुकअप के लिए शॉर्टकट" है। मैं सोच रहा था कि लंबा संस्करण क्या होगा। व्याख्या करने के लिए धन्यवाद! :) - webwurst
से man dig: जब -x का उपयोग किया जाता है, तो नाम, वर्ग और प्रकार तर्क प्रदान करने की आवश्यकता नहीं होती है। खुदाई स्वचालित रूप से 94.2.0.192.in-addr.arpa जैसे नाम के लिए एक लुकअप निष्पादित करती है और क्रमशः पीटीआर और क्रम में क्वेरी प्रकार और कक्षा सेट करती है। - Ricardo


यदि आप nslookup का उपयोग कर रहे हैं तो यह है (प्रश्न में आईपी के रूप में 192.168.0.1 मानते हैं)

> set type=ptr
> 1.0.168.192.in-addr.arpa

संपादित करें: याद रखें कि रिवर्स लुकअप केवल आईपी के लिए बनाया गया एक पीटीआर रिकॉर्ड है, और यह उस होस्टनाम को वापस करने की गारंटी नहीं है जिसे आप ढूंढ रहे हैं। पूरी तरह से निर्भर करता है कि आपकी स्थिति में DNS कैसे कॉन्फ़िगर और रखरखाव किया जाता है।


1
2018-05-11 15:57



nsloookup अब बनाए रखा नहीं है और इसके लेखक खोदने की सलाह देते हैं। इसके अलावा, dig -x बाइट्स को स्वयं में बदलने से कहीं अधिक सरल है। - bortzmeyer
यह जानना अच्छा है, इनपुट के लिए बहुत बहुत धन्यवाद! पुरानी आदतें मुश्किल से जाती हैं ;) - squillman


शक्ति कोशिका:

[net.dns]::gethostentry("69.59.196.212").HostName

1
2018-05-12 10:36





"होस्ट" आज़माएं

  • के साथ फॉरवर्ड लुकअप host:

    $ host google-public-dns-b.google.com.
    google-public-dns-b.google.com has address 8.8.4.4
    google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
    
  • के साथ रिवर्स लुकअप host:

    $ host 8.8.4.4
    4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
    

खोदने के समान

  • के साथ फॉरवर्ड लुकअप dig:

    $ dig google-public-dns-b.google.com. +short
    8.8.4.4
    
  • के साथ रिवर्स लुकअप dig:

    $ dig -x 8.8.4.4 +short
    google-public-dns-b.google.com.
    

1
2018-02-03 09:52