原理
宛先(PC)にデータを送って応答を待つping(ピングもしくはピン)というコマンドがある。
pingを送って応答があったパソコンは点いているということ。
これを利用してネットワーク全体にpingを送って、返事があるか確認する。
用途
- ネットワーク管理者が関知していないPCや機器が、勝手に接続されていないか調査する
- 空いているIPアドレスがあるか確認する
など。
やり方
コマンドプロンプトを開く
Windowsキーを押しながら「R」を押す。
出てくる枠に「cmd」と入力しエンターキー。
黒い枠が出てくる。それがコマンドプロンプトというコマンドを入力する画面。
試しにpingを送ってみる
全体にpingコマンドはひとまず置いておいて、一カ所にpingを送ってみる。
C:\Users\User> ping 192.168.0.253
こんな感じで、「~からの応答」と返ってくれば、このIPアドレスには機器が存在し、かつ点いているということ。
余談だが、ping -a 宛先と、-aをつけて送れば、宛先のPC名も確認できる。
全体にpingを送ってみる(Ping Sweep)
あたたた・・とpingを送ることを、Ping Sweep(ピングスイープ)と言います。
コマンドは
C:\Users\User> FOR /L %F IN (100,1,254) DO ping -n 1 -w 3 192.168.0.%F | find “からの” >> C:\Users\User\desktop\pingoutput.txt
こんな感じ。
コマンド説明
FOR
データの集合を作成して個々のデータごとにコマンドを実行する。要するにループです。pingを繰り返し送るおまじない。
/L
繰り返し送るといっても、同じIPアドレスに繰り返し送ってもしょうがないので、宛先IPアドレスを変化させなければいけない。その変化の値を使いますよというおまじない。
%F
これが変化する値のおまじない。変数と言います。アルファベットはなんでも構わない。%Aでも%BでもOK。
IN(100,1,254)
%Fに入る数。100から254まで1づつ増加して、カウントする。という意味。IN(初期値,増加値,最終値)
DO
以下の命令を実行するということ。
ping -n 1 -w 3 192.168.0.%F
pingのコマンド。
-n 1は確認のデータを送る回数。基本は3回送るのだが1回で十分。
-w 3は待ち時間。3ミリ秒。ネットワークの世界は物凄い早いので、これで十分。
192.168.0.%Fは宛先。192.168.0.は固定で、%Fのところに、さきほど指定したIN(100,1,254)が入る。
すなわち、
ping 192.168.0.100
ping 192.168.0.101
ping 192.168.0.102
ping 192.168.0.103
ping 192.168.0.104
・
・
と
192.168.0.254まで連続してpingを送るということ。
| find “からの”
さきほどpingを送った内容を見れば解ると思うが、
こんな余計な情報まで送られてくると、一覧で見たいときに解りにくい。
なので応答データだけに絞る。応答データには上記図のとおり、「からの」という文字があるので、「からの」があった場合だけを出力対象とする。
>> C:\Users\User\desktop\pingoutput.txt
この黒い画面にドドドドと表示しても管理できないので、ファイルにダウンロードする。
Userはご使用の環境のユーザ名に置き換えてください。
出力結果
こんな感じです。102,104,106・・・というふうにPCが点いているIPアドレスだけ一覧化することができた。
一覧にないIPアドレスは機器が接続されていない、もしくは機器が点いていないということ。
注意点
WindowsPCは同一ネットワークでないとPingを返さない設定なので、別ネットワークの場合は使えませんのでご注意を。
拠点内などの管理に使おうと思えば使えるかも。
あとあまりネットワーク帯域を圧迫するような行為なので、一般ユーザは使わないように。
怒られても私は知りません。使用は自己責任にて。
コメント