IPRESEND(1)

名称
ipresend - IP パケットをネットワークに再送する

書式
ipresend [ -EHPRSTX ] [ -d <device> ] [ -g <gateway> ] [ -m <MTU> ] [ -r <filename> ]

解説

ipresend は、テストの際に、一度受理したパケットを、ネットワークに対して 再送することができるようにするために設計されました。ipresend は、 入力として、snoop/tcpdump がセーブしたバイナリデータを含む、 いくつかのファイル形式をサポートしています。

オプション

-d <interface>
    指定した名前をインタフェース名として設定します。 これは -P, -S, -T, -E オプションとともに、つまり、 インタフェースの指定なしではパケットをあるインタフェースに対応付け できない場合に使用すると有益です。普通の「テキストパケット」は この設定を上書きすることがあります。

-g <gateway>
    パケットを通すゲートウェイのホスト名を指定します。送出しようとする ホストと同一のネットワークに直接接続されていないホストを終点とする場合は、 つねにこのオプションが必要です。

-m <MTU>
    パケットを送出する際に使用する MTU を指定します。このオプションを 使うことで、実際と異なる MTU を設定することができます。これにより、 実際にネットワークインタフェースの MTU を小さく設定しなくても、 小さな MTU を持つインタフェースをシミュレートすることができます。

-r <filename>
    入力を得るファイル名を指定します。デフォルトは標準入力です。

-E  入力ファイルの形式を etherfind のテキスト出力と想定します。 現在サポートされているテキスト形式は、次の etherfind オプションの 組み合わせの結果生成されるものです。

		etherfind -n
		etherfind -n -t

-H  入力ファイルの形式を、パケットを形成するバイナリデータを表す 16 進数と 想定します。IP ヘッダに間違った長さが置かれていても、長さ補正は 行ないません。

-P  -i で指定した入力ファイルは libpcap (すなわち tcpdump バージョン 3) を用いて生成されたバイナリファイルです。このファイルからパケットが 入力として読み込まれます(よく使われます)。

-R  パケットを送出する際に、生データとして (受信したそのままを) 送出します。 ここで本当に重要なことは、送出する IP パケットの前に リンク層 (つまりイーサネット) ヘッダを付けることが必要なことです。

-S  入力ファイルの形式を、"snoop" の形式 (RFC 1761 参照) と想定します。 パケットはこのファイルから読み込まれ、どのインタフェースの入力としても 用いられます。現在では最も有益な形式でしょう。

-T  入力ファイルの形式を、tcpdump のテキスト出力形式と想定します。 現在サポートされているテキスト形式は、以下の tcpdump オプションの組み合わせの 結果生成されるものです。

		tcpdump -n
		tcpdump -nq
		tcpdump -nqt
		tcpdump -nqtt
		tcpdump -nqte

-X 入力ファイルは、IP パケットのテキスト記述からなります。

関連項目
snoop(1m), tcpdump(8), etherfind(8c), ipftest(1), ipresend(1), iptest(1), bpf(4), dlpi(7p)

診断

root で実行する必要があります。

バグ

入力形式によっては、テストに有益なことがらすべてをカバーできるほど 十分に多種多様なパケットを表現できません。 なにかお気づきの点があれば、darrenr@pobox.com までメール下さい。