NSlookup und Linux Dig

NSlookup und Linux Dig

Unter Linux kann ich alle Einträge in der DNS-Tabelle auflisten, die mit „80“ enden, indem ich Folgendes verwende:

dig axfr my.domain | grep 80

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

ls my.domain

Damit bekomme ich die vollständige Liste. Aber wie filtere ich das Ergebnis wie bei der Verwendung von grep unter Linux?

Ich habe versucht:

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

aber es tritt der obige Fehler auf.

Antwort1

Ich glaube, die elegantere Lösung ist die Verwendung von Powershell. Das ist auf jeden Fall besser als die Verwendung von Cygwin auf einem Windows-Rechner – 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: Verwenden Sie reguläre Ausdrücke, um sicherzustellen, dass nur Zeilen abgeglichen 80werden, die mit folgendem enden:

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

Wenn Sie außerdem an Domain-Zonen-Transfers interessiert sind, finden Sie möglicherweisediese Antwortnützlich (und hier ist einGitHub-Projekt).

Antwort2

Ich glaube, Sie suchen nach dem findBefehl.

nslookup -ls my.domain | find "80"

Beachten Sie jedoch, dass weder grep 80noch find "80"nur die Einträge zurückgibt,Endein 80. Beide geben Einträge zurück, dieenthalten 80Wenn Sie wirklich nur Einträge wünschen, dieEndedarin 80wäre es besser, es findstrmit der /eFlagge zu verwenden (entspricht dem Muster, wenn es am Ende einer Zeile steht) und außerdem einen führenden Punkt einzuschließen (sonst erhalten Sie möglicherweise etwas wie 10.21.37.180).

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

Sie können auchCygwin, welches ist„Eine große Sammlung von GNU- und Open-Source-Tools, die eine ähnliche Funktionalität wie eine Linux-Distribution unter Windows bieten.“

BEARBEITEN

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

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

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

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

verwandte Informationen