ping10

 このプログラムは、通信相手に対して、指定された間隔で、指定された回数、 Ping(ICMP Echo Request)を投げ、受信された返事(ICMP Echo Reply)を数えて、 通信路の状態をチェックするためのプログラムです。
 特に、EthernetのFull/Halfの不一致を検出するためのプログラムとして 作ってみました。

 WindowsのDos窓を開いて実行するプログラムです。

1.動作概要

 指定されたTargetに対して、指定された長さのPingを、指定されたスピードで、 指定された回数送信します。
 並行して、帰ってきた返事の個数をカウントします。
 最後に、ロスが無かったか、どのぐらいのスピードで返事が返ってきたかを計算し、 それなりの診断結果を表示します。

2.スピード表示について

 最初のパケットを受信した時刻から、最後のパケットを受信した時刻までの間に、 何バイト受信したかを計算してスピードを表示しています。
 ただし、時刻と言うのが、正確に言うと、受信した時刻ではなくて、受信したパケットを 処理した時刻(受信バッファから取り出した時刻)なので、CPUの速度が追いつかない場合は 正しい値でないことがあります。ご了承ください。

3.名前について

 当初はpingを10発投げるプログラムにする予定だったので、ping10としました。
しかし、 100BASE-TXのFull/Half不一致を検出するためには10発では足りないようなので、 30発をデフォルトにしました。
 なので、言い訳なのですが、デフォルトのスピードが10Mbpsだから、ping10ということに しておきます。

4.使い方

 Usage: ping10 [-l Len][-n Count][-s Speed] Target
 
 Options:
     -l Len      Packet Length on Ethernet Layer
     -n Count    Number of packets
     -s Speed    Speed in kbps on IP Layer

5.実行中の表示について

 1パケット送信するたびに's'、1パケット受信するたびに'R'と表示します。


Ver 0.03 on 2002.10.02

ping10.cpp ソースファイル(EUC)
ping10-sjis.cpp ソースファイル(SJIS)
ping10.exe 実行形式 for Windows


http://www.sakop.net/
Copyright(C) Masahiro Sako <sako @ sakop.net>