私は、どれがオンになっているかを知るための迅速で汚い方法として、同時にpingしたいIPアドレス範囲のマシンをたくさん持っています。これを実行するために使用できる(無料の)ソフトウェアは何ですか?
私は Windows Vista を使っています。
最も簡単な方法は、 Angry IP Scannerを使用することです
私はあなたがしたいのと同じ方法でそれを使います!
WindowsではNmap が利用可能です。
# nmap -sP 10.0.10.1-100
このコマンドを使いました
for %%i in 200 to 254 do ping 10.1.1.%%i
同様の理由でバッチファイルで
ここで気づくことができるようにIPアドレスの範囲はここにあります:
LAN上のすべてのIPアドレスを手動でpingする代わりに、次の操作を実行できます。
コマンドプロンプトを開き、次のように入力します。
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
-n 1
は、各コンピュータにpingパケットが1つだけ送信されることを意味します。
自分のネットワークIDと一致するように192.168.0
を変更します。
これにより、192.168.0.0ネットワークセグメント上のすべてのIPアドレスにpingが実行され、C:\にipaddresses.txt
というテキストファイルが作成されます。ここでは、返信を送信したIPアドレスのみが一覧表示されます。
Pingコマンドに-a
を追加して、応答しているすべてのIPアドレスをホスト名に解決することもできますが、それを行うとスクリプトの完了までにかなりの時間がかかります。
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
試してください fping
IPアドレス範囲をループしてpingを実行する Bash スクリプトを書くだけで済みます。 10.1.1.1から10.1.1.255までの範囲のアドレスをpingする例。
for i in {100..255}
do
ping 10.1.1.$i
done
下記のスクリプトを拡張子.bat
または.cmd
を付けてサーバーに保存し、コマンドプロンプトからファイルを呼び出します。 IPアドレス範囲を入力するように求められます。
IPアドレスを3オクテットだけ入力してください。
@echo off
SET count=0
SET /p subnet=Please enter IP address range (for example, 192.168.0)
:start
SET /a count=%count%+1
cls
ECHO. & ECHO Trying %subnet%.%count% & ECHO.
ping -n 1 -w 1000 %subnet%.%count% >nul
IF %errorlevel%==0 echo %subnet%.%count% UP >> c:\pingnet.log
IF %errorlevel%==1 echo %subnet%.%count% DOWN >> c:\pingnet.log
IF %count%==254 goto :eof
GOTO start
コマンドが実行されると、Cドライブのルートにテキストファイル名pingnet.log
を作成します。そのファイルには、使用中のIPアドレスとダウン(フリー)IPアドレスのリストが表示されます。
例えば:
10.2.214.1 UP
10.2.214.2 UP
10.2.214.3 UP
10.2.214.4 DOWN
実行は非常に簡単で、時間の節約になります。
Angry IP Scannerは素晴らしいですが、私はCLIツールを好みます。このpowershellスクリプトをVistaで実行できるかどうかを確認してください。 https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
LinuxのライブCD/USB、デュアルブート、またはVirtualBoxのvmを使ってLinux CLIにアクセスすることもお勧めします。 (VirtualBoxをインストールし、新しいvmを追加し、Debianをインストールします。)Linux CLIは非常に貴重です。
Linux CLIから、以下を実行します。
for ip in 172.10.1.{1..254}; do ping -c 1 -w 1 $ip > /dev/null && echo $ip "$(nslookup $ip | grep 'name = ' | awk -F ' = ' '{print $2}')"; done
あなたのネットワーク範囲( '172.10.1'の部分)を調整してください。これにより、ICMPエコー(ping)要求に応答するネットワーク上の全ホストの一覧が表示され、それらがDNSサーバーに対して解決されます。
注:ICMPがブロックされている可能性があるため、これはライブホストをテストする最も信頼できる方法ではありません。
nmap -sP 192.168.1.0/24
注:Nmapはポートスキャナであるため信頼性が高く、その結果はICMP応答以外のアクティビティに基づいています。それはペテスターによって頻繁に使用され、学ぶ価値があります。