メインコンテンツへスキップ
検索
私は最近、トレースファイルの分析を依頼されましたが、それはわずか161秒の長さで、260万以上のフレームが含まれていました。私はそれらのフレームの約75%がPingリクエストかPingリプライであることを発見して驚きました。もし送信元のIPアドレスを認識していなければ、ターゲットがサービス拒否攻撃を受けているという結論に飛びついていたでしょう。その代わりに、STCP の ping コマンドの "run_forever" 引数を使ってターゲットの到達可能性を監視していることがわかりました。

 

ほとんどの UNIX システムやLinux システムの ping コマンドとは異なり、STCP の ping コマンドは ping 応答を受信してから次の ping リクエストを受信するまでの間、一時停止しません。デフォルトの ping 回数は 4 回だけなので、これは重要な問題ではありません。しかし、count 引数を使用してリクエスト数を増やしたり、run_forever 引数を使用してリクエスト数を増やしたりすると、システム、イーサネットアダプタ、ネットワークに大きな負荷がかかる可能性があります。このため、STCP の ping コマンドのデフォルトの動作は、ターゲットホストの長期的な監視には全く適していません。

 

しかし、デフォルトの動作が不適切だからといって、長期的な監視にpingコマンドを使えないわけではありません。コツは、一度コマンドを実行して連続して ping リクエストを送信するのではなく、一度に 1 つの ping リクエストを送信するコマンドを繰り返し実行することです。以下のマクロがそれを行います。
ping_forever コマンドマクロ
& ping_forever begins here
&
& Version 1.0 09-08-30
& [email protected]
&
&begin_parameters
TARGET   target:string,required
SECONDS  seconds:number=1
TIMEOUT  timeout:number=1
TIMESTAMP switch(-timestamp),=1
&end_parameters
&
&label again
display_line
&if &TIMESTAMP& &then display_line *** (date).(time) ***
ping &TARGET& -count 1 -timeout &TIMEOUT&
sleep -seconds &SECONDS&
&goto again
&
& ping_forever ends here

 

ご覧のように、最初の2つの引数はpingコマンドに直接渡され、pingのホストとタイムアウトの引数に対応しています。Pingのデフォルトのタイムアウトは15秒ですが、これは長すぎると思い、マクロでは1秒に変更しました。もちろん、マクロ内で調整することもできますし、引数に値を与えることで調整することもできます。3番目の引数は、ping間の一時停止の秒数で、デフォルトは1秒です。マクロを実行してpingコマンドをロードして実行するのに時間がかかるため、実際のping間の時間はもう少し長くなります。Packet_monitorでは1.05秒から1.1秒の間の時間が表示されました。最後の引数は、UNIX やLinux の ping が与えてくれないものです。ターゲットがいつ応答しなくなったか、いつ再開したかを知ることができるように、各 ping のタイムスタンプを指定します。タイムスタンプが不要な場合は、 -no_timestamp 引数で無効にすることができます。

 

ping_forever の出力例
ping_forever 164.152.77.6
*** 09-08-30.11:45:38 ***
Pinging host 164.152.77.6 : 164.152.77.6
ICMP Echo Reply:TTL 60 time = 2 ms
Host 164.152.77.6 replied to the ping
*** 09-08-30.11:45:40 ***
Pinging host 164.152.77.6 : 164.152.77.6
ICMP Echo Reply:TTL 60 time = 2 ms
Host 164.152.77.6 replied to the ping
*** 09-08-30.11:45:41 ***
Pinging host 164.152.77.6 : 164.152.77.6
ping: No reply. Time Out !!
Host 164.152.77.6 didn't reply to the ping
*** 09-08-30.11:45:44 ***
Pinging host 164.152.77.6 : 164.152.77.6
ping: No reply. Time Out !!
Host 164.152.77.6 didn't reply to the ping
*** 09-08-30.11:45:47 ***
Pinging host 164.152.77.6 : 164.152.77.6
ICMP Echo Reply:TTL 60 time = 4 ms
Host 164.152.77.6 replied to the ping
*** 09-08-30.11:45:48 ***
Pinging host 164.152.77.6 : 164.152.77.6
ICMP Echo Reply:TTL 60 time = 3 ms
Host 164.152.77.6 replied to the ping

 

メニューを閉じる

© 2024 Stratus Technologies.