web-dev-qa-db-ja.com

NSlookupとlinuxDig

Linuxでは、次を使用して、「80」で終わるDNSテーブルのすべてのエントリを一覧表示できます。

Dig axfr my.domain | grep 80

WindowsのNSlookupでこれを行うにはどうすればよいですか? NSlookupを起動して入力してみました

ls my.domain

それは私に完全なリストを与えます。しかし、Linuxでgrepを使用するように、結果セットをフィルタリングするにはどうすればよいですか?

私が試してみました:

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

ただし、上記のエラーが発生します。

5
u123

よりエレガントな解決策は、PowerShellを使用することだと思います。 WindowsマシンでCygwinを使用するよりも確かに優れています。1つには、組み込みです。

Bashでは次のように書いています。

Dig axfr my.domain | grep "80"

Powershellでの同等のものは次のようになります。

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

または、正規表現を使用して、80で終わる行のみが一致するようにすることをお勧めします。

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

さらに、ドメインゾーン転送に興味がある場合は、 この回答 が役立つ場合があります(これが GitHubプロジェクト です)。

5
mnmnc

あなたが探しているのはfindコマンドだと思います。

nslookup -ls my.domain | find "80"

ただし、grep 80find "80"も、80のエントリendingのみを返すことに注意してください。どちらもcontain80を含むエントリを返します。 80endするエントリのみが本当に必要な場合は、findstr/eフラグと一緒に使用することをお勧めします(行の終わり)、および先頭のピリオドを含めます(そうしないと、10.21.37.180のようなものになる可能性があります)。

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

Cygwin を使用することもできます。これは、 "のLinuxディストリビューションと同様の機能を提供するGNUおよびオープンソースツールの大規模なコレクションです。ウィンドウズ。"

[〜#〜]編集[〜#〜]

nslookup -ls my.domainでエラーが発生する場合は、試してみてください

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

または、本当に.80で終わるものだけが必要な場合は試してください

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