================================================================================
PINGによる確認を自動で行うプログラム
skrNELLI.exe
Composed by skr
http://www.geocities.jp/vyavadhi/
================================================================================
PING結果の取得方法を探していて辿り着いた
「VBnet Visual Basic Developers Resource Centre」
http://www.mvps.org/vbnet/index.html?code/network/ping.htm を基に
作成したプログラムです。
ここのサイトのコードは自身のプログラムに(一部または全てを)利用して
そのプログラムをこのように扱っていいのでしょうか?
ソースコードの再配布等は禁止しているように読めたのですが、
作成したプログラムに関してが、読解できませんでした。
どなたかご存じでしょうか?
指定した時間間隔毎に各IPアドレスにICMPパケットによるEcho要求と応答で、
ネットワークの接続を確認します。
(0.0.14〜)
起動時にNICの内部アドレス(ループバック:127.0.0.1)と
自身のIPアドレスに対して応答確認を行います。
NICの文字が内部、枠線がIPアドレスで、緑なら応答、赤なら応答不可を表します。
いずれかの色が赤ならNICにハードウェアまたは設定の異常があることを示します。
(0.0.17〜 起動時だけでなく毎処理時に確認するようにしました。)
左端の欄は、対象を特定する任意の文字列。
2つ目はIPアドレスまたはサーバ等の名称(ホスト名)。
ホスト名が解決できる場合はIPアドレスに自動変換します。
最大で42箇所の指定ができます。
1024x768の画面サイズでほぼギリギリだったというだけで数に意味はありません。
42箇所を埋めなくても構いませんし、途中が空白でもその行を飛ばして処理します。
緑の日時は、最も直近で応答を確認できた日時、
赤の日時は、最も直近で応答に失敗した日時です。
(0.0.12〜 連続してPING応答に失敗する場合は、
最初に失敗した日時を表示し続けます。
これにより、いつからネットワーク接続が失敗しているのかを
確認することができます。
一度ネットワークが回復して、その後また失敗した場合にはその日時となります。)
これらはそれぞれ、次回が成功か否かに関わらず残ります。
最後の確認時点で失敗している場合は、IPアドレスの背景色が赤になっています。
成功した場合は白の背景色に戻りますので、
「IPアドレスの背景色が赤の機器は、現在ネットワーク接続の確認ができていない」
ということになります。
ただし、失敗時に再送を試みていません(1度だけ再送)ので、
応答が遅延してタイムアウトが発生しているだけの事もあり、
必ずしも障害発生とは限りません。
現時点で即確認をする場合は「PING」ボタンを押下します。
(0.0.21〜 Alt+Pキーでも実行します。)
「PING」ボタンを押して実行すると、次回の自動実行はその時点から
指定している時間間隔後になります。
「Clear」ボタンは上記の日時等を消去します。
(0.0.21〜 Alt+Cキーでも実行します。)
時間間隔は「間隔」ボタンを押して設定します。
デフォルトは10分間隔。最初の起動時は1分後に実行します。
その他の項目は、応答結果・応答時間・文字列の送受信結果等です。
時間間隔や名称、アドレスを変更した場合は、
プログラムの終了時に変更保存を確認します。
設定内容はskrNELLI.iniに保存します。
0.0.22〜
障害発生(PINGの失敗)時と復旧(障害発生後に初めて正常応答)時に
skrNELLI.logへ記録します。
最初のフィールドが1は復旧、2は失敗を示します。
現状では42個のIPアドレスしか対象にできませんが、
複数のskrNELLIを起動することは可能ですので対象を増やすことができます。
skrNELLI.exeと同一フォルダのskrNELLI.ini,skrNELLI.logを使用しますので
別のフォルダにこれらのファイルがあればそれぞれ動作します。
================================================================================
開発環境 WindowsXPsp2 + VisualBasic6.0SP6
動作環境 幾つかの機種、OSで試したところexeだけで動くようですが
動かない場合はVB6のランタイムライブラリーが必要かも知れません。
→文字化けする場合は、systemフォルダにVB6JP.DLLが必要です。
skrNELLI.exeとskrNELLI.ini,skrNELLI.logを同じフォルダに置いて下さい。
レジストリは使用しません。
更新時 exeファイルを置き換えるだけで動作します。
配布条件 こんなプログラムを配布したいなんて事は無いかと思いますが
そのような事がある場合には、事前に連絡をいただきたく思います。
著作権 著作権は作者skrにあります。
(但し、上記の通り参考にした資料がある為、この著作権の主張は?)
免責事項 本プログラムを使用する上で生じたいかなる損害についても、
作者はその責任を一切負いません。
個人の責任において、ご使用下さい。
検討事項 ログを書き出そうかと検討。必要?−>0.0.22で対応
更新履歴
0.0.24 05/03/31 再試行時に1秒待機するように変更
0.0.23 05/03/03 WindowsXPsp2 + VisualBasic6.0SP6でコンパイル
0.0.22 04/07/10 障害発生(PINGの失敗)時と復旧時にlogファイルへ保存
最初のフィールドが1は復旧、2が失敗を示す
0.0.21 03/11/05 「PING」をAlt+P、「Clear」をAlt+Cで実行できるように機能追加
応答結果メッセージを一部変更
0.0.20 03/10/17 PING実行中のマウスポインタを砂時計に変更
応答結果メッセージを一部変更
0.0.19 03/10/10 アイコンを自作に変更
0.0.18 03/10/10 画面サイズの変更処理を追加
0.0.17 03/10/09 起動時だけでなく、毎処理時にNICの確認を行うように処理を追加
0.0.16 03/10/08 表示を変更
0.0.15 03/10/07 送信データが20バイト以下だと応答に失敗するノードがある為、
デフォルトを32バイトとする
送信データ指定が20バイト以下の場合、注意を表示する
0.0.14 03/08/07 終了時のiniファイルの保存確認を「はい、いいえ」に変更
起動時にNIC内部と外部のアドレスに対して応答確認を行う
0.0.13 03/07/21 iniファイルの保存方法を変更
iniファイル読み込み時に件数が少ない場合の
処理(EOFの確認)を追加
0.0.12 03/07/18 連続した失敗時に、最初の日時を表示し続けるように変更
0.0.11 03/07/17 再試行の手順を変更
SendDataを一つに集約
0.0.10 03/07/15 PING失敗時に、1度再試行を行うように変更
0.0.8 03/06/20 とりあえず完成