Vraag Wat is het omgekeerde DNS-opdrachtregelhulpprogramma?


Wat is het commando om de naam van een computer te vinden, gezien het IP-adres?

Ik vergeet altijd wat dit commando is, maar ik weet dat het bestaat in Windows en ik neem aan dat het bestaat op de opdrachtregel * nix.


61
2018-05-11 15:52


oorsprong




antwoorden:


graven en gastheer zou moeten zijn waar je naar op zoek bent;)

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

Op * nix-systeem kunt u deze opdracht uitvoeren: dig -x [address]

Als alternatief kunt u toevoegen +short aan het einde van de dig opdracht om alleen het resultaat dns uit te voeren.

Op Windows, gebruik nslookup

EDIT: nslookup werkt ook op * nix-systemen. Meer informatie over het commando nslookup, of het nu al een tijdje lijkt te zijn vervangen: http://linuxreviews.org/man/nslookup/


48
2018-05-11 15:54





Op * nix kun je gebruiken:

dig -x [address]

48
2018-05-11 15:56



Dit lijkt absoluut de gemakkelijkste manier. Voeg + short aan het einde toe om niets terug te geven dan het rdns-resultaat. dig -x [address] +short - ColinM
Dat +short vlag is echt handig! - Neil
Werkt dit met IPv6-adressen? - Geremia
@ColinM Goed punt. Ik heb mijn antwoord hierop gebaseerd. Bedankt! - Marc-Andre R.
Ja, @Geremia, volgens man dig, De addr is een IPv4-adres in de decimale notatie met stippellijnen of een door de dubbel gescheiden IPv6-adres. - Ricardo


Op de meeste Linux-systemen die ik ken, kunt u het volgende gebruiken:

 nslookup <ip-number EX: 127.0.0.1>

werkt op de opdrachtregel.

Nu ik erover nadenk, is nslookup niet beschikbaar op Windows XP?


6
2018-05-13 05:42



Ja inderdaad. En in eerdere versies van Windows. - kubanczyk


Ik ben me er goed van bewust dat dig / host / nslookup de standaardhulpprogramma's hiervoor zijn, maar ik bewaar deze voor het testen van de OS-resolutie (in essentie, om te testen dat nsswitch.conf correct werkt):

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";
}

voorbeeld:

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



je kunt "getent-hosts [IP of HOSTNAME]" doen - hayalci
Hmmm ... Ik schreef de tools oorspronkelijk alleen om met de functies te spelen, dus geen verlies daar, maar ik zou ze zeker niet in de serverfault hebben geplakt als ik had geweten over de getent-tool. Bedankt voor de aanwijzer. - jj33
-1: ze zijn beperkt tot IPv4, gethostbyname haalt geen IPv6-adressen op als ze bestaan ​​en gethost byaddr accepteert geen IPv6-adressen. - bortzmeyer
Deze functies zijn vele jaren achterhaald. Ze waren zelfs verouderd toen dit werd geschreven. In perl en de meeste andere talen moet u getaddrinfo en getnameinfo gebruiken. - Michael Hampton♦


Op Windows kreeg ik de gewoonte om het volgende te gebruiken:

ping -a <ip address>

omdat dit ook gegevens uit uw hosts bestand en WINS enzovoort.


2
2018-05-11 16:53





Deze vraag heeft al miljoenen antwoorden, maar ik ga er nog een toevoegen. Hier is een kleine functie die ik schreef voor het gemakkelijk doen van omgekeerde DNS met graven. Voeg dit toe aan uw ~/.bashrc bestand, laad je shell opnieuw, en dan kun je omgekeerde DNS-lookups doen met 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}"
}

Reverse DNS-zoekopdrachten worden uitgevoerd door de pointer (PTR) -records te controleren. Als u DNS wilt omdraaien voor "1.2.3.4", moet u pointerrecords opzoeken voor "4.3.2.1.in-addr.arpa". Mijn functie neemt een IP-adres op, keert de volgorde van de octetten om (d.w.z. verandert het van 1.2.3.4 naar 4.3.2.1) en gebruikt vervolgens dig om de PTR-lookup uit te voeren die ik net heb beschreven.

Je kunt het natuurlijk gewoon gebruiken nslookup 1.2.3.4 als je het hebt, maar ik geef de voorkeur aan deze dig-gebaseerde oplossing omdat het de DNS-servers van het besturingssysteem gebruikt in plaats van nslookup-voorziene (als je dat trouwens wilt, kun je extra graafvlaggen toevoegen wanneer je belt revdns, en ze zullen worden gepasseerd om te graven)


2
2018-02-03 19:22



Volgens zijn hulp dig -x dot-notation is de "snelkoppeling voor reverse lookups". Ik vroeg me af wat de lange versie zou zijn. Bedankt voor het uitleggen! :) - webwurst
van man dig: Wanneer de -x wordt gebruikt, is het niet nodig om de argumenten naam, klasse en type op te geven. dig voert automatisch een zoekopdracht uit voor een naam als 94.2.0.192.in-addr.arpa en stelt het querytype en de klasse in op respectievelijk PTR en IN. - Ricardo


Als je nslookup gebruikt, is dit dit (uitgaande van 192.168.0.1 als het betreffende IP)

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

BEWERK: Onthoud dat een reverse lookup alleen werkt als er een PTR-record is gemaakt voor het IP-adres en het is niet gegarandeerd dat de hostnaam die u zoekt, wordt geretourneerd. Helemaal afhankelijk van hoe DNS is geconfigureerd en wordt onderhouden in uw situatie.


1
2018-05-11 15:57



nsloookup wordt niet langer onderhouden en de auteurs bevelen aan om te graven. Bovendien is dig -x veel eenvoudiger dan de bytes zelf om te keren. - bortzmeyer
Dat is goed om te weten, heel erg bedankt voor de input! Oude gewoontes zijn moeilijk af te leren ;) - squillman


Powershell:

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

1
2018-05-12 10:36





Probeer "host"

  • Forward lookup with 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
    
  • Reverse lookup met host:

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

Vergelijkbaar met graven

  • Forward lookup with dig:

    $ dig google-public-dns-b.google.com. +short
    8.8.4.4
    
  • Reverse lookup met dig:

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

1
2018-02-03 09:52





Nou, een vriendelijke persoon schreef gewoon dat nslookup het commando is, en hij heeft gelijk. Het werkt op zowel Unix als Windows. Ik weet niet zeker waarom je je antwoord hebt verwijderd, maar je hebt gelijk, mijnheer.


0
2018-05-11 15:56



fout, misschien ook niet. - Peter Turner
Ja, ik postte wel een beetje snel en na een controle wist ik niet helemaal zeker wat ik antwoordde, ik plaatste mijn bericht gewoon terug en bewerk het om meer details toe te voegen;) - Marc-Andre R.
Oké, dat is het, maar het is niet dat ik dat antwoord accepteer. Jammer dat we die real-time Googley AJAX hier niet kunnen krijgen. - Peter Turner
lol ja nou, we kunnen niet alles hebben;) een mooie dag verder, ik hoop dat ik je help;) - Marc-Andre R.


Ik geef de voorkeur aan de opdrachtregel voor Windows (hier beschikbaar: http://members.shaw.ca/nicholas.fong/dig/) om elke dag te bekijken.

Als u DNS vanaf een Windows-werkstation moet testen / beheren, pakt u deze tool. Dan:

C:\dig>dig -x <IP Address>

... vergeet ook niet om c: \ dig toe te voegen!


0
2018-01-28 20:43