Pingの-sオプションについて
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
Pingの-sオプションについて
msg# 1
ironsand
投稿数: 10
Pingの-sオプションで送信バイト数が設定できるとあるのですが、
実際にデフォルトの -s 56 に設定すると 64byte が送信されてますよね?
ヘッダー部分が8バイトあるのかと思って調べたのですが
http://itpro.nikkeibp.co.jp/article/COLUMN/20070731/278719/
IPヘッダだと大きすぎるし、ICMPヘッダーだけだと4バイトで計算が合いませんでした。
この差分の8バイトはどこから出てきてるのでしょうか?
実際にデフォルトの -s 56 に設定すると 64byte が送信されてますよね?
ヘッダー部分が8バイトあるのかと思って調べたのですが
http://itpro.nikkeibp.co.jp/article/COLUMN/20070731/278719/
IPヘッダだと大きすぎるし、ICMPヘッダーだけだと4バイトで計算が合いませんでした。
この差分の8バイトはどこから出てきてるのでしょうか?
Re: Pingの-sオプションについて
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
PINGコマンドのmanページを確認したところ、以下の記述があります。
引用:で、確かに56バイトがデータとなっています。
そして、ICMP ヘッダの 8 バイトとあるように、ヘッダー部は8バイトで間違いありません。
実はICMPパケットはタイプによって、チェックサム以降に追加されるヘッダが異なるんですね。
RFC792(INTERNET CONTROL MESASAGE PROTOCOL)で確認していただきたいのですが、pingに相当するEcho Request/Reply については
のように、「識別子」および「シーケンス番号」の4バイト分がヘッダとして使用されます。
ですので、じつは
引用:はICMP共通ヘッダの部分だけだった、というわけです
引用:
-s packetsize
何バイトのデータが送られるかを指定する。デフォルトは 56 で、 ICMP ヘッダの 8 バイトを加えて、 64 バイトの ICMP データになる。 スーパーユーザーだけがこのオプションを使用できる。
そして、ICMP ヘッダの 8 バイトとあるように、ヘッダー部は8バイトで間違いありません。
実はICMPパケットはタイプによって、チェックサム以降に追加されるヘッダが異なるんですね。
RFC792(INTERNET CONTROL MESASAGE PROTOCOL)で確認していただきたいのですが、pingに相当するEcho Request/Reply については
エコーメッセージ・エコーリプライメッセージ(Echo or Echo Reply Message)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| タイプ | コード | チェックサム |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 識別子 | シーケンス番号 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| データ ...
+-+-+-+-+-
ですので、じつは
引用:
ICMPヘッダーだけだと4バイトで計算が合いませんでした。