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
ただし、上記のエラーが発生します。
よりエレガントな解決策は、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プロジェクト です)。
あなたが探しているのはfind
コマンドだと思います。
nslookup -ls my.domain | find "80"
ただし、grep 80
もfind "80"
も、80
のエントリendingのみを返すことに注意してください。どちらもcontain80
を含むエントリを返します。 80
でendするエントリのみが本当に必要な場合は、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"