Windowsバッチファイルで楽をする:Windowsでnslookupを使って名前解決の確認をするバッチ

Windows
記事内に広告が含まれています。

nslookupコマンドとは?

nslookupは、ネットワーク上のホスト名とIPアドレスを照会するためのコマンドラインツールです。
DNSサーバーに問い合わせを行い、ドメイン名からIPアドレスへの正引き(フォワードルックアップ)や、IPアドレスからドメイン名への逆引き(リバースルックアップ)の情報を取得します。

正引きと逆引きの説明

正引きは、ユーザーがドメイン名を知っていて、対応するIPアドレスを見つけたい場合に使用します。
一方、逆引きは、IPアドレスが分かっていて、それに関連付けられたドメイン名を知りたい場合に利用されます。
これらのプロセスは、ネットワークの設定やトラブルシューティングにおいて重要な役割を果たします。

nslookupコマンドのコマンドラインオプションの説明

nslookupには多くのオプションがあり、それぞれ特定の情報を取得するために使用されます。
例えば、-type=mxオプションを使うと、メールサーバーのMXレコードを照会できます。
また、-debugオプションを使用すると、問い合わせプロセス中に発生するすべてのステップの詳細情報を表示できます。

nslookupを使ったバッチファイルの例

テキストファイルに記載されたドメイン名が名前解決が可能か確認するバッチ

@echo off
setlocal enabledelayedexpansion
set "inputfile=domains.txt"
set "outputfile=resolved_domains.txt"

if not exist "%inputfile%" (
    echo The file %inputfile% does not exist.
    exit /b
)

if exist "%outputfile%" del "%outputfile%"

for /f "tokens=*" %%i in (%inputfile%) do (
    nslookup %%i 2>nul | findstr /i "Name: Address:" >> "%outputfile%"
    echo %%i resolved.
)

echo Resolution complete. Check %outputfile% for results.
endlocal

テキストファイルに記載されたホスト名を名前解決してIPアドレスを取得するバッチ

@echo off
setlocal enabledelayedexpansion
set "inputfile=hosts.txt"
set "outputfile=ip_addresses.txt"

if not exist "%inputfile%" (
    echo The file %inputfile% does not exist.
    exit /b
)

if exist "%outputfile%" del "%outputfile%"

for /f "tokens=*" %%i in (%inputfile%) do (
    for /f "tokens=2" %%a in ('nslookup %%i 2^>nul ^| findstr /i "Address:"') do (
        echo %%i - %%a >> "%outputfile%"
    )
)

echo Resolution complete. Check %outputfile% for results.
endlocal

指定したDNSサーバーを使用して名前解決をするバッチ

@echo off
setlocal
set "dns_server=8.8.8.8"
set "domain=example.com"

nslookup %domain% %dns_server%
endlocal

指定したIPアドレスの範囲のホスト名を解決するバッチ

@echo off
setlocal enabledelayedexpansion
set "start_ip=192.168.1.1"
set "end_ip=192.168.1.10"

for /l %%i in (1,1,10) do (
    set "ip=192.168.1.%%i"
    nslookup !ip! 2>nul | findstr /i "Name:" >> "resolved_hosts.txt"
    echo !ip! resolved.
)

echo Resolution complete. Check resolved_hosts.txt for results.
endlocal

まとめ

nslookupは、正引きと逆引きの両方を行うことができる強力なツールです。
バッチファイルを使用することで、これらのプロセスを自動化し、効率的なネットワーク管理を実現できます。
上記のバッチファイルの例を参考に、自分の環境に合わせてカスタマイズしてください。
効率的なネットワーク管理を通じて、ビジネスの生産性を高めましょう。

免責規定

この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されているコマンドが実行できない、または異なる結果をもたらす可能性があります。
また、会社内のパソコンなど、ポリシーや権限によっては実行できない場合があります。
実行には管理者権限が必要な場合が多いため、注意が必要です。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。

最後までお読みいただきありがとうございました。
またお会いしましょう!

コメント

タイトルとURLをコピーしました