IPアドレス範囲に多数のマシンがあり、どのマシンのスイッチがオンになっているかを迅速かつ汚い方法で同時に確認したい。これを行うには、どの(無料の)ソフトウェアを使用できますか?
Windows Vistaを使用しています。
IPアドレス範囲に多数のマシンがあり、どのマシンのスイッチがオンになっているかを迅速かつ汚い方法で同時に確認したい。これを行うには、どの(無料の)ソフトウェアを使用できますか?
Windows Vistaを使用しています。
回答:
最も簡単な方法は、Angry IP Scannerを使用することです
私はあなたがしたいのと同じ方法でそれを使用します!
気付くことができるように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
は、1つのpingパケットのみが各コンピューターに送信されることを意味します。
192.168.0
自分のネットワークIDと一致するように変更します。
これにより、192.168.0.0ネットワークセグメント上のすべてのIPアドレスに対してpingが実行されipaddresses.txt
、C:\ というテキストファイルが作成されます。このファイルには、応答したIPアドレスのみがリストされます。
-a
pingコマンドに追加して、応答するすべてのIPアドレスをホスト名に解決することもできますが、そうすると、スクリプトの完了にかなりの時間がかかります。
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
IPアドレス範囲をループしてpingを実行するBashスクリプトを作成するだけで済みます。10.1.1.1から10.1.1.255の範囲のアドレスにpingを送信する例:
for i in {100..255}
do
ping 10.1.1.$i
done
ping 10.1.1.i
おそらくなりたいと思うping 10.1.1.$i
。
次のスクリプトを拡張子が.bat
orでサーバーに.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
コマンドが実行されるとpingnet.log
、Cドライブのルートにテキストファイル名が作成されます。そのファイルには、使用済みおよびダウン(無料)の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 Live 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応答以上のアクティビティに基づいて結果を取得するため、信頼性が高くなります。ペンテスターによって頻繁に使用され、学習する価値があります。