ある範囲のIPアドレスに同時にpingを実行するにはどうすればよいですか[クローズ]


39

IPアドレス範囲に多数のマシンがあり、どのマシンのスイッチがオンになっているかを迅速かつ汚い方法で同時に確認したい。これを行うには、どの(無料の)ソフトウェアを使用できますか?

Windows Vistaを使用しています


2
怒っているIPスキャナーと無料のIPスキャナーを試しましたが、最大スレッド数をIPの範囲に増やした後、怒ったように見えました。
ジョンケージ

これにより、何らかのセキュリティが失われる可能性がわずかにあります。特定の間隔で中央サーバーにpingを実行するようにマシンを設定するか、ルーターで確認する方がよいでしょう。
ジャーニーマンオタク

回答:


28

最も簡単な方法は、Angry IP Scannerを使用することです

代替テキスト

私はあなたがしたいのと同じ方法でそれを使用します!


4
これは無料?私は何年も使用しています。
ウィリアムヒルサム

2
ええ、そうですよね?
ジョンケージ

1
それはいいね!:D +1
BloodPhilia

これにより、「潜在的に望ましくないプログラム」のウイルス対策シグネチャがいくつか設定されます。代わりにNirSoftのPingInfoViewを使用することをお勧めします。
イッツィ

@iszi誤検知...まだこれが仕事に最適なプログラムだと思います。
ウィリアムヒルサム


13

このコマンドを使用しました

for %%i in 200 to 254 do ping 10.1.1.%%i 

同様の理由でバッチファイルで


5
同時pingを実行しますか?または、次から次へとマシンですか?
ビニートメノン

1
同時ではなく同意
-hpavc

あなたは右のそれがシーケンシャルではなく、同時だね
コル


8

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アドレスのみがリストされます。

-apingコマンドに追加して、応答するすべてのIPアドレスをホスト名に解決することもできますが、そうすると、スクリプトの完了にかなりの時間がかかります。

FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt

これは、まだ一度に1つずつpingを実行しますか?怒っているIPスキャナーは、複数のスレッドを起動することにより、サブネット内のすべてのIPに一度にpingを実行するため、スキャン全体を完了するのに時間がかかりません。
ジョンケージ

外部プログラムをマシンにインストールできない場合や、テキストコンソールのみが使用可能な場合に非常にうまく機能します。国際ユーザーに対する唯一の注意点は、pingのローカルバージョンが使用しているものに「返信」文字列を変更する必要があることです。共有してくれてありがとう!
アルベルトM


4

IPアドレス範囲をループしてpingを実行するBashスクリプトを作成するだけで済みます。10.1.1.1から10.1.1.255の範囲のアドレスにpingを送信する例:

for i in {100..255}
do
    ping 10.1.1.$i
done

「500」は255以下にしたいと思いますか?
デビッドマッキントッシュ

2
そして、私はping 10.1.1.iおそらくなりたいと思うping 10.1.1.$i
アダムリュッチェンブロス

1
同時ではない
-hpavc

「-c」フラグを渡す必要があると信じています。「ping -c1 192.168.1.1」のようなもの。そうしないと、しばらく立ち往生します。
zee

3

次のスクリプトを拡張子が.batorでサーバーに.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 

実行は非常に簡単であり、時間を節約できます。


1
これは実際に怒っているIPスキャナーと比較してかなり遅いです。ほとんどのIP範囲を使用しない限り、このアプローチが答えを得るまで数分待つ必要があります。
ジョンケージ

2

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から、次を実行します。

PINGベースのスキャン

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ベースのスキャン

nmap -sP 192.168.1.0/24

注:Nmapはポートスキャナーであり、ICMP応答以上のアクティビティに基づいて結果を取得するため、信頼性が高くなります。ペンテスターに​​よって頻繁に使用され、学習する価値があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.