ICMPPacket

ICMPメッセージを含むパケット。

ICMPメッセージのフォーマットはICMPタイプによって異なりま す。そのため特定のICMPタイプのパケットにしか存在しないフィー ルドがあります。存在しないフィールドにアクセスしようとす ると例外が発生します。

どのICMPタイプに対しても有効なフィールドは type, code, cksum です。

スーパークラス:

IPPacket

メソッド:

icmp_cksum

ICMPチェックサムを返します。

icmp_code

ICMPコードを返します。

icmp_data

ICMP_ECHO/ICMP_ECHOREPLYメッセージのデータ部分を Stringとして返します。

icmp_gwaddr

ICMP_REDIRECTメッセージのゲートウェイアドレスを IPAddressとして返します。

icmp_id

識別子を返します。

icmp_ip

元のIPデータグラムをIPPacketとして返します。

icmp_lifetime

ICMP_ROUTERADVERTメッセージの有効時間を返します。

icmp_nextmtu

ICMP_UNREACH_NEEDFRAGメッセージの Next Hop MTU を返しま す。(参照: rfc1191)

icmp_num_addrs

ICMP_ROUTERADVERTメッセージのアドレス数を返します。

icmp_otime
icmp_rtime
icmp_ttime

ICMP_TSTAMP/ICMP_TSTAMPREPLYメッセージのタイムス タンプをTimeとして返します。

icmp_pptr

ICMP_PARAMPROBメッセージのエラーポインタを返します。

icmp_radv(nth)

ICMP_ROUTERADVERTメッセージのnth番目のアドレ スエントリを返します。返り値は [address, preference]なる2要素の配列です。

icmp_seq

シーケンス番号を返します。

icmp_seqle

リトルエンディアンとして読みとったシーケンス番号を返し ます。

多くのpingコマンドの実装はシーケンス番 号をホストバイトオーダーで書き込みます。したがって、 リトルエンディアンのホストから送信されたICMPメッセー ジのシーケンス番号はリトルエンディアンになっている可 能性があります。

icmp_type

ICMPタイプを返します。

icmp_typestr

ICMPタイプを表す文字列を返します。(例: "echo reply")

icmp_wpa

ICMP_ROUTERADVERTメッセージのアドレスエントリ長(単位: 32-bit word)を返します。


fukusima@goto.info.waseda.ac.jp