第2回:ネットが不安定なときは…


テレホーダイの常連だけど、自分のプロバイダがその時間に不安定でなかなか望んだページに接続してくれなかったりしてイライラした経験がある人はこの方法を1度試してみましょう。
Windowsには前回のFTPコマンド同様、隠された様々な外部コマンドがあります。隠されたといっても、たいていはWindowsフォルダにインストールされていてあまり知られていないだけなので、一度WindowsフォルダやSystemフォルダの中を覗いて片っ端から実行してみると面白い物が見つかるかもしれません。

今回用いるのは、コマンドラインから実行するPingコマンドです。
このコマンドの概要は特殊な一定サイズのパケットを相手方に送信し、応答の有無でリモートコンピュータ、またはコンピュータへの接続を検査するもので、このコマンドはTCP/IPがインストールされている場合のみ有効です
まずこのコマンドをコマンドラインから引数なしで実行すると、以下のような使用方法が出てきます。
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
      [-r count] [-s count] [[-j host-list] | [-k host-list]]
      [-w timeout] destination-list

Options:
  -t       Ping the specified host until stopped.
          To see statistics and continue - type Control-Break;
          To stop - type Control-C.
  -a       Resolve addresses to hostnames.
  -n count    Number of echo requests to send.
  -l size    Send buffer size.
  -f       Set Don't Fragment flag in packet.
  -i TTL     Time To Live.
  -v TOS     Type Of Service.
  -r count    Record route for count hops.
  -s count    Timestamp for count hops.
  -j host-list  Loose source route along host-list.
  -k host-list  Strict source route along host-list.
  -w timeout   Timeout in milliseconds to wait for each reply.

オプションの説明を以下に示します。
-t:割り込み([Ctrl]+[C])が発生するまで、指定したコンピュータを検査します。
-a:アドレスを解決してコンピュータ名に変えます。
-n:countで指定した数のECHOパケットを送信します。既定値は4です。
-l:lengthで指定した量のデータが入っているECHOパケットを送信します。既定値は32バイトです。範囲は1〜65527です。
-f:Do Not Fragmentフラグをパケットに入れて送信します。パケットは、ルート上のゲートウェイによってフラグメント化されることはありません。
-i:Time To LiveフィールドをTTLで指定した値に設定します。
-v:Type Of Service フィールドをtosで指定した値に設定します。
-r:発信パケットと返信パケットのルートをRecord Routeフィールドに記録します。countには、最小で1つ、最大で9つのコンピュータを指定することができます。
-s:countで指定した数のホップに対してタイムスタンプを指定します。
-j:host-listで指定したコンピュータ一覧を経由してパケットをルーティングします。連続したコンピュータは、中間ゲートウェイで区切られる可能性があります(loose source routed)。IPで許される最大数は9です。
-k:host-listで指定したコンピュータ一覧を経由してパケットをルーティングします。連続したコンピュータは、中間ゲートウェイで区切られません(strict source routed)。IPで許される最大数は9です。
-w:タイムアウトの間隔をミリ秒単位で指定します。
destination-list:検査するリモートコンピュータのアドレスを指定します。

では実際にこれを使ってネットの状況を調べる方法です。
ネットが不安定なときはDNS(ドメインネームシステム)サーバが不安定な事が多いので、こいつを調べてやります。なのでまず、自分のDNSサーバのアドレスを調べる必要があります。プロバイダに入会した時に受け取った設定をまとめた紙に書いてあることが多いようですが、それで分からない場合は、Win98ならWindowsフォルダ内のwinipcnfigと言う実行ファイル、WinNTならコマンドラインからnslookupコマンドを使ってDNSのアドレスがわかるでしょう。

分かったら、先のオプションのdestination-listに指定して、ネットに繋いでいることを確認し、実行してみましょう。
こんな感じでいろいろずらずらと出てきます。
Pinging 2**.1**.*9*.1** with 32 bytes of data:

Reply from 2**.1**.*9*.1**: bytes=32 time=170ms TTL=253
Reply from 2**.1**.*9*.1**: bytes=32 time=161ms TTL=253
Reply from 2**.1**.*9*.1**: bytes=32 time=140ms TTL=253
Reply from 2**.1**.*9*.1**: bytes=32 time=150ms TTL=253

Ping statistics for 2**.1**.*9*.1**:
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
  Minimum = 140ms, Maximum = 170ms, Average = 155ms
緑色の部分はリモートのアドレス、赤文字の部分はパケットのサイズ、青文字の部分は応答にかかった時間(単位はミリ秒)を表しています。
一番下の一行は左から応答にかかった最短時間、最長時間、平均時間を表しています。

このときに「Reply from 〜」と出ていれば、DNSサーバからは応答があることを表しており、「Request timed out.」と出ていればDNSサーバからは応答がないと言うことを表しています。
不安定なときには-tオプションをつけて実行して、出力に「Reply from 〜」が出ている間にブラウザの再送信を実行すれば希望のページを表示できるでしょう。

今回の方法は必ずこうやれば接続できると保証するものではありません。こうやればいい事が多いというだけです。できなくても文句は言わないでください。でもまあ1度試してみる価値はあると思います。
それでは。



clefの連絡先はこちら↓
clef@mutt.freemail.ne.jp
Copyright(C) clef since 2001/2/10