Ping

Ping

1.ping — send ICMP ECHO_REQUEST packets to network hosts

対象のホストに、ICMPエコーリクエストを送信し、ネットワークの疎通確認を行うコマンド。

書式

パターン1
ping [-AaDdfnoQqRrv] [-c count] [-i wait] [-l preload] [-M mask | time] [-m ttl] [-Ppolicy] [-p pattern] [-S src_addr] [-s packetsize] [-t timeout] [-z toshost
パターン2
ping [-AaDdfLnoQqRrv] [-c count] [-I iface] [-i wait] [-l preload] [-M mask | time] [-m ttl] [-P policy] [-p pattern] [-S src_addr] [-s packetsize] [-T ttl] [-t timeout] [-z tosmcast-group
  もの凄く・・・多いです。

オプション

-a パケットを正常に受け取れた場合、ベル音を鳴らす
-A パケットロスの場合、ベル音を鳴らす
-b ブロードキャストアドレスへの送信を行うことを指定する
-B ソースアドレスが変更されることを禁止する
-d パケットのSO_DEBUGオプションを指定する
-D 各出力行へタイムスタンプを付加する
-f Flood pingモードを指定する
-h ヘルプを表示する
-L マルチキャストのループの制限を行う
-n 出力をIPアドレスのみに抑制する(ホスト名の逆引きを行わない)
-O 不明なICMP_ECHOメッセージを次のパケットを送る前に出力する(調査のために、-Dオプションなどと一緒に利用すると便利)
-q 出力抑制モード。途中経過を表示しない
-r ルーティングテーブルを無視して直接パケットを指定したホストに転送するように指示する。すなわち、同一の物理ネットワーク上に目的のホストがない場合はエラーになる
-R IPパケットのオプション部(Route Recording)に経由したルーターのアドレスを記録する(最大9個まで)
-U ユーザーが受け取る実際のレイテンシを表示する。例えばノーマルではDNS検索の失敗時間などは含まれていない
-v 詳細モード。通常は無視される他のICMPパケットも表示する
-V バージョン情報を表示する
-c パケット送受信の回数(試行回数)を指定する
-F IPv6のフローラベルを指定する
-i 送信パケットの間隔時間(秒)。デフォルトは1秒。-fオプションと同時に指定できない
-I 指定されたインタフェース(ネットワークカード名。バインドされたIPアドレスでも可)を用いて実行する
-I 実際の送信処理前に極力早く指定された数のパケット(preload)を送信しておく。スーパーユーザーしか指定できない
-m パケットへのタグ付けをする
-M Path MTU Discoveryの調査が行える。引数に”do”を指定するとIPのフラグメンテーションを禁止するので、-sオプションと組み合わせることで経路上の最小MTUが調査できる。”dont”ではこれを禁止しない。また”want”はローカル環境ではフラグメンテーションは行うが外部に対しては禁止する。基本的には”do”で調査可能だろう
-N Echo Requestではなく、RFC 4620に規定されているICMPv6のノード情報検索を送信する。逆引きでの名前解決やIPv6アドレスの取得などが行える
-w コマンドの起動時間を指定する。単位は秒
-W 受信パケットのタイムアウト時間
-p パケットのパディング(データの埋め合わせ)データのパターンを指定する。例えばffは全てのデータを1で埋めることを示す
-Q パケットのTOS(Type Of Service)を指定された値に設定する。IPv6の場合はトラフィックコントロール値を指定する
-s パケットのデータ部サイズを指定する。デフォルトは56バイト
-S 送信バッファサイズ
-t パケットのTTLを指定された値に設定する
-T 通常はあまり使用されないがIPヘッダでタイムスタンプ要求を行う。これにより経由するノードでのタイムスタンプ応答が表示される。”tsonly”はタイムスタンプのみを表示する。”tsandaddr”はタイムスタンプとノードのアドレスが、”tsprespec”では引数に経由するノードを指定できる

実行例

$ ping yahoo.com
PING yahoo.com (98.137.246.7): 56 data bytes
64 bytes from 98.137.246.7: icmp_seq=0 ttl=53 time=250.712 ms
64 bytes from 98.137.246.7: icmp_seq=1 ttl=53 time=269.004 ms
64 bytes from 98.137.246.7: icmp_seq=2 ttl=53 time=291.041 ms
64 bytes from 98.137.246.7: icmp_seq=3 ttl=53 time=211.831 ms
64 bytes from 98.137.246.7: icmp_seq=4 ttl=53 time=234.448 ms
64 bytes from 98.137.246.7: icmp_seq=5 ttl=53 time=257.399 ms

 

 

2.ブログなどのWebサイトの更新情報を通知する仕組み

サイトの更新情報をいかに速く検索サイトにインデックスさせるか、を狙った各種の技術・サービスの一種で、インターネット上にある「Pingサーバー」という通知先に、「記事タイトル」「概要」「URL」を送信する機能のこと。

「Pingサーバー」は、通知を受け取ったら、連携している他のサイトへ、更新情報を配信してくれるというもの。

最近では WebSub ( PubSubHubbub )であったり、Googleにサイトマップを通知するなどといった機能もあったりするので、下火になっている。

それでも、まだ運用されている Ping サーバーはあるようで、WordPress では、デフォルトでいくつか Ping サーバーが登録されている。