NSlookup und Linux Dig

3039
u123

Unter Linux kann ich alle Einträge in der DNS-Tabelle mit der Endung "80" auflisten.

dig axfr my.domain | grep 80 

Wie mache ich das mit NSlookup unter Windows? Ich habe versucht, NSlookup zu starten und zu tippen

ls my.domain 

Was gibt mir die vollständige Liste. Aber wie filtere ich das Resultset wie "grep" unter Linux?

Ich habe versucht:

C:\Users\user>nslookup -ls my.domain | find "80" *** Invalid option: ls 

aber es gibt den oben genannten Fehler.

5
Ich denke, es könnte besser sein, Ihre Frage zu formulieren, wie Sie eine grep-ähnliche Funktion in Windows erhalten. mtak vor 10 Jahren 2

2 Antworten auf die Frage

5
mnmnc

Ich glaube, eine elegantere Lösung ist die Verwendung von Powershell. Es ist auf jeden Fall besser als die Verwendung von Cygwin auf einem Windows-Computer - zum einen ist es integriert.

In Bash schreiben wir:

dig axfr my.domain | grep "80" 

Das Äquivalent in Powershell wäre:

nslookup -ls my.domain | where {$_ -match "80"} 

Oder noch besser regex verwenden Sie nur Linien mit der Endung machen 80wollen abgestimmt werden:

nslookup -ls my.domain | where {$_ -match "(80)$"} 

Wenn Sie sich für Domain-Zone-Transfers interessieren, ist diese Antwort möglicherweise hilfreich (und hier ein GitHub-Projekt ).

Es ist vielleicht besser als Cygwin, aber Git Bash sorgt nicht dafür, dass der Computer aufgebläht wird. Außerdem müssen Sie * nicht jedes einzelne Cygwin-Paket * installieren, sondern nur die Pakete, die Sie benötigen. trysis vor 10 Jahren 0
4
Drew Chapin

Ich denke, was Sie suchen, ist der findBefehl.

nslookup -ls my.domain | find "80" 

Beachten Sie aber, dass weder grep 80noch find "80"werden nur die Einträge zurückkehren endet in 80. Sie geben beide Einträge zurück, die enthalten 80 . Wenn Sie wirklich nur Einträge mögen, die am Ende in 80es wären besser, zu verwenden, findstrmit dem /eFlag (entspricht das Muster, wenn am Ende einer Zeile) sowie mit einem führenden Punkt (sonst könnte man so etwas wie 10.21.37.180 erhalten).

nslookup -ls my.domain | findstr /e ".80" 

Sie können auch Cygwin verwenden. Hierbei handelt es sich um "eine große Sammlung von GNU- und Open Source-Tools, die ähnliche Funktionen bieten wie eine Linux-Distribution unter Windows."

BEARBEITEN

Wenn nslookup -ls my.domainSie einen Fehler erhalten, können Sie es versuchen

 echo ls my.domain | nslookup | find "80" 

oder wenn Sie wirklich nur diejenigen wollen, die in .80try enden

 echo ls my.domain | nslookup | findstr /e ".80" 
Ich habe versucht, den bearbeiteten Beitrag unter Windows 7 zu sehen, aber es wird ein Fehler angezeigt. Ich habe bot aus cmd und aus einer gestarteten Instanz von nslookup.exe ausprobiert u123 vor 10 Jahren 0
Welche Windows-Version verwenden Sie? Drew Chapin vor 10 Jahren 0