416 lines
13 KiB
Groff
416 lines
13 KiB
Groff
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/ipsend.5,v 1.3 2001/05/14 01:09:29 horikawa Exp $
|
|
.TH IPSEND 5
|
|
.\"
|
|
.\" WORD: source 始点[IP]
|
|
.\" WORD: destination 終点[IP]
|
|
.\" WORD: route 経路[IP]
|
|
.\"
|
|
.SH 名称
|
|
ipsend \- IP パケット記述言語
|
|
.SH 解説
|
|
\fBipsend\fP プログラムは、\fB-L\fP オプションが付くと、以下の文法に
|
|
適合するテキストファイルを入力として期待します。この文法の目的は、
|
|
IP パケットを任意の方法でカプセル化可能とする限り、
|
|
任意の方法で IP パケットを指定することにあります。
|
|
.SH 文法
|
|
.LP
|
|
.nf
|
|
line ::= iface | arp | send | defrouter | ipv4line .
|
|
|
|
iface ::= ifhdr "{" ifaceopts "}" ";" .
|
|
ifhdr ::= "interface" | "iface" .
|
|
ifaceopts ::= "ifname" name | "mtu" mtu | "v4addr" ipaddr |
|
|
"eaddr" eaddr .
|
|
|
|
send ::= "send" ";" | "send" "{" sendbodyopts "}" ";" .
|
|
sendbodyopts ::= sendbody [ sendbodyopts ] .
|
|
sendbody ::= "ifname" name | "via" ipaddr .
|
|
|
|
defrouter ::= "router" ipaddr .
|
|
|
|
arp ::= "arp" "{" arpbodyopts "}" ";" .
|
|
arpbodyopts ::= arpbody [ arpbodyopts ] .
|
|
arpbody ::= "v4addr" ipaddr | "eaddr" eaddr .
|
|
|
|
bodyline ::= ipv4line | tcpline | udpline | icmpline | dataline .
|
|
|
|
ipv4line ::= "ipv4" "{" ipv4bodyopts "}" ";" .
|
|
ipv4bodyopts ::= ipv4body [ ipv4bodyopts ] | bodyline .
|
|
ipv4body ::= "proto" protocol | "src" ipaddr | "dst" ipaddr |
|
|
"off" number | "v" number | "hl" number| "id" number |
|
|
"ttl" number | "tos" number | "sum" number | "len" number |
|
|
"opt" "{" ipv4optlist "}" ";" .
|
|
ipv4optlist ::= ipv4option [ ipv4optlist ] .
|
|
ipv4optlist = "nop" | "rr" | "zsu" | "mtup" | "mtur" | "encode" | "ts" |
|
|
"tr" | "sec" | "lsrr" | "e-sec" | "cipso" | "satid" |
|
|
"ssrr" | "addext" | "visa" | "imitd" | "eip" | "finn" |
|
|
"secclass" ipv4secclass.
|
|
ipv4secclass := "unclass" | "confid" | "reserv-1" | "reserv-2" |
|
|
"reserv-3" | "reserv-4" | "secret" | "topsecret" .
|
|
|
|
tcpline ::= "tcp" "{" tcpbodyopts "}" ";" .
|
|
tcpbodyopts ::= tcpbody [ tcpbodyopts ] | bodyline .
|
|
tcpbody ::= "sport" port | "dport" port | "seq" number | "ack" number |
|
|
"off" number | "urp" number | "win" number | "sum" number |
|
|
"flags" tcpflags | data .
|
|
|
|
udpline ::= "udp" "{" udpbodyopts "}" ";" .
|
|
udpbodyopts ::= udpbody [ udpbodyopts ] | bodyline .
|
|
udpbody ::= "sport" port | "dport" port | "len" number | "sum" number |
|
|
data .
|
|
|
|
icmpline ::= "icmp" "{" icmpbodyopts "}" ";" .
|
|
icmpbodyopts ::= icmpbody [ icmpbodyopts ] | bodyline .
|
|
icmpbody ::= "type" icmptype [ "code" icmpcode ] .
|
|
icmptype ::= "echorep" | "echorep" "{" echoopts "}" ";" | "unreach" |
|
|
"unreach" "{" unreachtype "}" ";" | "squench" | "redir" |
|
|
"redir" "{" redirtype "}" ";" | "echo" "{" echoopts "}" ";" |
|
|
"echo" | "routerad" | "routersol" | "timex" |
|
|
"timex" "{" timextype "}" ";" | "paramprob" |
|
|
"paramprob" "{" parapptype "}" ";" | "timest" | "timestrep" |
|
|
"inforeq" | "inforep" | "maskreq" | "maskrep" .
|
|
|
|
echoopts ::= echoopts [ icmpechoopts ] .
|
|
unreachtype ::= "net-unr" | "host-unr" | "proto-unr" | "port-unr" |
|
|
"needfrag" | "srcfail" | "net-unk" | "host-unk" | "isolate" |
|
|
"net-prohib" | "host-prohib" | "net-tos" | "host-tos" |
|
|
"filter-prohib" | "host-preced" | "cutoff-preced" .
|
|
redirtype ::= "net-redir" | "host-redir" | "tos-net-redir" |
|
|
"tos-host-redir" .
|
|
timextype ::= "intrans" | "reass" .
|
|
paramptype ::= "optabsent" .
|
|
|
|
data ::= "data" "{" databodyopts "}" ";" .
|
|
databodyopts ::= "len" number | "value" string | "file" filename .
|
|
|
|
icmpechoopts ::= "icmpseq" number | "icmpid" number .
|
|
.fi
|
|
.SH コマンド
|
|
.PP
|
|
パケットの送信や、パケットの定義の前に、
|
|
送信する際に用いるインタフェースを記述する必要があります。
|
|
.TP
|
|
.B interface
|
|
これは、ネットワークインタフェースを記述するために用います。ここに
|
|
含まれる記述では、オペレーティングシステムが採用している実際の
|
|
コンフィギュレーションと一致させる必要はありません。
|
|
.TP
|
|
.B send
|
|
これは、実際にネットワークを越えてパケットを送信するために用います。
|
|
終点が指定されない場合、そのネットワークに、ルーティングなしで終点に
|
|
向けて直接パケットを送出します。
|
|
.TP
|
|
.B router
|
|
これは、ipsend が使うデフォルトルータを、カーネルが扱うデフォルト経路と
|
|
は別に指定します。
|
|
.TP
|
|
.B ipv4
|
|
これは (バージョン 4 の) IP パケットを記述します。IP ヘッダフィールドを、
|
|
オプションも含めて、さらに先のプロトコルヘッダを含むデータセクションを
|
|
続けて指定することも出来ます。
|
|
.SH IPV4
|
|
.TP
|
|
.B hl <number>
|
|
これは、手動で IP ヘッダ長を指定します (IP オプションの存在に
|
|
より自動的に修正されます。デフォルトは 5)。
|
|
.TP
|
|
.B v <number>
|
|
IP バージョンを設定します。デフォルトは 4 です。
|
|
.TP
|
|
.B tos <number>
|
|
これは、サービスの型 (Type Of Service, TOS) を設定します。
|
|
デフォルトは 0 です。
|
|
.TP
|
|
.B len <number>
|
|
IP パケットの長さを手動で指定します。データやプロトコルヘッダを
|
|
収容できるように、長さは自動的に調整されます。
|
|
.TP
|
|
.B off <number>
|
|
これは、IP パケットのフラグメントオフセットフィールドの値を設定します。
|
|
デフォルトは 0 です。
|
|
.TP
|
|
.B ttl <number>
|
|
これは IP ヘッダの生存時間 (Time To Live, TTL) フィールドを設定します。
|
|
デフォルトは 60 です。
|
|
.TP
|
|
.B proto <protocol>
|
|
これは IP ヘッダのプロトコルフィールドを設定します。protocol は、
|
|
\fB/etc/protocols\fP に存在する数字または名前が使えます。
|
|
.TP
|
|
.B sum
|
|
手動で IP ヘッダのチェックサムを設定します。これを設定しない (0) ままだと、
|
|
送信前に計算されます。
|
|
.TP
|
|
.B src
|
|
手動で IP ヘッダの始点アドレスを指定します。これを設定しないままだと、
|
|
ホストの IP アドレスをデフォルトとします。
|
|
.TP
|
|
.B dst
|
|
これは、IP パケットの終点を設定します。デフォルトは 0.0.0.0 です。
|
|
.TP
|
|
.B opt
|
|
これは、IP ヘッダの IP オプションを指定するために用います。
|
|
.TP
|
|
.B tcp
|
|
これは、TCP プロトコルヘッダが後続することを示すために用います。TCP ヘッダの
|
|
オプションについては、\fBTCP\fP を参照してください。
|
|
.TP
|
|
.B udp
|
|
これは、UDP プロトコルヘッダが後続することを示すために用います。UDP ヘッダの
|
|
オプションについては、\fBUDP\fP の節を参照してください。
|
|
.TP
|
|
.B icmp
|
|
これは、ICMP プロトコルヘッダが後続することを示すために用います。ICMP ヘッダの
|
|
オプションについては、\fBICMP\fP の節を参考にしてください。
|
|
.TP
|
|
.B data
|
|
これは、IP パケットに生データが含まれることを示すために用います。指定可能な
|
|
オプションの詳細については、\fBデータ\fP の節を参考にして下さい。
|
|
.SH "IPv4 のオプション"
|
|
これらのキーワードは、対応する IP オプションを IP ヘッダに追加すべき
|
|
ことを表します (このときヘッダ長フィールドは適切に調節されます)。
|
|
.TP
|
|
.B nop
|
|
無動作 (No Operation) [RFC 791] (埋め草として使います)。
|
|
.TP
|
|
.B rr <number>
|
|
経路記録 (Record Router) [RFC 791]。与えられた番号は、情報を保持するのに
|
|
用いる領域の \fBバイト\fP 数を指定します。ちゃんと動作させるには、この値は
|
|
4 の倍数に指定しておく必要があります。
|
|
.TP
|
|
.B zsu
|
|
測定実験 (Experimental Measurement)。
|
|
.TP
|
|
.B mtup [RFC 1191].
|
|
最大転送単位 (Maximum Transmission Unit, MTU) 探査 (MTU Probe)。
|
|
.TP
|
|
.B mtur [RFC 1191].
|
|
最大転送単位レディ (MTU Ready)。
|
|
.TP
|
|
.B encode
|
|
.TP
|
|
.B ts
|
|
タイムスタンプ (Timestamp) [RFC 791]。
|
|
.TP
|
|
.B tr
|
|
経路追跡 (Traceroute) [RFC 1393]。
|
|
.TP
|
|
.B "sec-class <security-level>, sec"
|
|
セキュリティ (Security) [RFC1108]。このオプションはパケットのセキュリティ
|
|
レベルを指定します。
|
|
\fBsec\fP はセキュリティオプションの枠組みを設定しますが、
|
|
\fBsec-class\fP を指定しないとレベルは設定されないままとなります。
|
|
.TP
|
|
.B "lsrr <ip-address>"
|
|
厳密でない始点経路制御 (Loose Source Route) [RFC 791]。
|
|
.TP
|
|
.B e-sec
|
|
拡張セキュリティ (Extended Security) [RFC 1108]。
|
|
.TP
|
|
.B cipso
|
|
商用セキュリティ (Commercial Security)。
|
|
.TP
|
|
.B satid
|
|
ストリーム ID [RFC 791]。
|
|
.TP
|
|
.B "ssrr <ip-address>"
|
|
厳密な始点経路制御 [RFC 791]。
|
|
.TP
|
|
.B addext
|
|
アドレス拡張 (Address Extension)。
|
|
.TP
|
|
.B visa
|
|
実験的アクセス制御 (Experimental Access Control)。
|
|
.TP
|
|
.B imitd
|
|
IMI 流量記述子 (IMI Traffic Descriptor)。
|
|
.TP
|
|
.B eip
|
|
[RFC 1358]。
|
|
.TP
|
|
.B finn
|
|
実験的フロー制御 (Experimental Flow Control)。
|
|
.SH TCP
|
|
.TP
|
|
.B sport <port>
|
|
始点ポート番号を与えられた番号/名前で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B dport <port>
|
|
終点ポート番号を与えられた番号/名前で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B seq <number>
|
|
シーケンス番号を指定した数で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B ack <number>
|
|
応答番号を指定した数で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B off <number>
|
|
データ先頭からのオフセット値を指定した数で設定します。つまり TCP
|
|
ヘッダの大きさを意味します。TCP オプションが含まれる場合、この値は自動
|
|
的に修正されます。デフォルトは 5 です。
|
|
.TP
|
|
.B urp <number>
|
|
緊急データポインタの値を指定した数で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B win <number>
|
|
TCP ウィンドウの大きさを指定した数で設定します。デフォルトは 4096 です。
|
|
.TP
|
|
.B sum <number>
|
|
TCP 疑似ヘッダとデータに対するチェックサムを手動で指定します。特に設定
|
|
しなければ、デフォルトの 0 になり、自動的に計算されます。
|
|
.TP
|
|
.B flags <tcp-flags>
|
|
指定したフラグに一致する TCP フラグフィールドが設定されます。有効な
|
|
フラグは、"S" (SYN), "A" (ACK), "R" (RST), "F" (FIN), "U" (URG), "P"
|
|
(PUSH) です。
|
|
.TP
|
|
.B opt
|
|
TCP オプションが後続することを示します。TCP オプションを TCP
|
|
ヘッダに追加する際には、\fBoff\fP フィールドが一致するように更新
|
|
されます。
|
|
.TP
|
|
.B data
|
|
これ以後がデータセクションであり、ヘッダの後ろに追加すべき生データが
|
|
含まれることを示します。
|
|
.SH "TCP オプション"
|
|
TCP ヘッダには、いくつかのヘッダオプションを追加することが可能です。
|
|
ヘッダの大きさが変わるにつれ TCP ヘッダオフセットは自動的に更新されます。
|
|
有効なオプションは、\fBnop\fP 無動作(No Operation), \fBeol\fP
|
|
オプションリストの終り(End Of (option) List), \fBmss [ size ]\fP
|
|
最大セグメント長 (Maximum Segment Size - これはデータを含むパケットの
|
|
受信可能な最大長を設定します),
|
|
\fBwscale\fP ウィンドウスケール(Window Scale), \fBts\fP
|
|
タイムスタンプ(Timestamp) です。
|
|
.SH UDP
|
|
.TP
|
|
.B sport <port>
|
|
始点ポート番号を与えられた番号/名前で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B dport <port>
|
|
終点ポート番号を与えられた番号/名前で設定します。デフォルトは 0 です。
|
|
.TP
|
|
.B len <number>
|
|
UDP ヘッダとデータの長さを手動で指定します。特に設定しなければ、今ある
|
|
ヘッダと今あるデータに合致するように自動的に修正されます。
|
|
.TP
|
|
.B sum <number>
|
|
UDP 疑似ヘッダとデータに対するチェックサムを手動で指定します。特に設定し
|
|
なければ、デフォルトの 0 になり、自動的に計算されます。
|
|
.TP
|
|
.B data
|
|
これ以後がデータセクションであり、ヘッダの後ろに追加すべき生データが
|
|
含まれることを示します。
|
|
.SH ICMP
|
|
.TP
|
|
.B type <icmptype>
|
|
これは icmptype タグにしたがって ICMP タイプを設定します。これは数値か
|
|
認識されるタグのひとつです (認識されるタグ名の一覧については、\fBICMP
|
|
タイプ\fP の節を参照のこと)。
|
|
.TP
|
|
.B code <icmpcode>
|
|
ICMP コードを設定します。
|
|
.TP
|
|
.B data
|
|
これ以後がデータセクションであり、ヘッダの後ろに追加すべき生データが
|
|
含まれることを示します。
|
|
.SH データ
|
|
以下に示すものは、それぞれ異なったやり方でパケットを拡張します。
|
|
\fBlen\fP は (内容は付加せずに) 単に長さを増やすだけです。\fBvalue\fP
|
|
は文字列を使います。\fBfile\fP はファイルを使います。
|
|
.TP
|
|
.B len <number>
|
|
パケットの長さを \fBnumber\fP バイト拡張します (特定のデータで埋める
|
|
ことはしません)。
|
|
.TP
|
|
.B value <string>
|
|
与えられた文字列を今あるパケットのデータとして追加することを示します。
|
|
文字列は文字もしくは数値の連続したリスト (空白文字をはさみません)、
|
|
もしくは "' で区切られています (この場合、たとえ \\ したとしても、
|
|
これらの文字は含みません)。文字 \\ は 後続の文字(もしくは 8 進数)といっしょに
|
|
して、C 言語のエスケープ値と解釈されます。
|
|
.TP
|
|
.B file <filename>
|
|
指定したファイルからデータを読み込み、今あるパケットに追加します。その
|
|
結果の全長が 64k を越える場合、エラーとなります。
|
|
.SH "ICMP タイプ"
|
|
.TP
|
|
.B echorep
|
|
エコー応答 (Echo Reply)。
|
|
.TP
|
|
.B "unreach [ unreachable-code ]"
|
|
汎用の到達不可能エラー。これは、ネットワークをまたいでパケットを伝送
|
|
しようとしているうちにエラーが発生し、終点に到達できないことを示します。
|
|
到達不可能コード(unreachable-code)の名前は、
|
|
\fBnet-unr\fP ネットワーク到達不可能 (network unreachable),
|
|
\fBhost-unr\fP ホスト到達不可能 (host unreachable),
|
|
\fBproto-unr\fP プロトコル到達不可能 (protocol unreachable),
|
|
\fBport-unr\fP ポート到達不可能 (port unreachable),
|
|
\fBneedfrag\fP, \fBsrcfail\fP 始点経路制御失敗 (source route failed),
|
|
\fBnet-unk\fP ネットワーク不明 (network unknown),
|
|
\fBhost-unk\fP ホスト不明 (host unknown),
|
|
\fBisolate\fP, \fBnet-prohib\fP 管理上の理由によりネットワーク接触禁止,
|
|
\fBhost-prohib\fP 管理上の理由によりホスト接触禁止,
|
|
\fBnet-tos\fP 指定した TOS でネットワーク到達不可能,
|
|
\fBhost-tos\fP 指定した TOS でホスト到達不可能,
|
|
\fBfilter-prohib\fP パケットフィルタにより禁止されたパケット,
|
|
\fBhost-preced\fP,
|
|
\fBcutoff-preced\fP です。
|
|
.TP
|
|
.B squench
|
|
始点抑制 (Source Quence)。
|
|
.TP
|
|
.B "redir [ redirect-code ]"
|
|
(経路の) 方向転換 (Redirect (routing))。パケットを送付するために選択
|
|
された経路が最適といえないので、パケットの送信側が他の経路を経路指定
|
|
すべきであることを表すために用います。方向転換コード (redirect-code) の名前は、
|
|
\fBnet-redir\fP ネットワークに到達するための方向転換,
|
|
\fBhost-redir\fP ホストに到達するための方向転換,
|
|
\fBtos-net-redir\fP 与えられた TOS でネットワークに到達するための方向転換,
|
|
\fBtos-host-redir\fP 与えられた TOS でホストに到達するための方向転換
|
|
です。
|
|
.TP
|
|
.B echo
|
|
エコー。
|
|
.TP
|
|
.B routerad
|
|
ルータの公示 (Router advertisment)。
|
|
.TP
|
|
.B routersol
|
|
ルータの請求 (Router solicitation)。
|
|
.TP
|
|
.B "timex [ timexceed-code ]"
|
|
全体時間経過済み (Time Exceeded)。道程が長過ぎて (つまり、ttl が 0 に
|
|
なってしまい) パケットが終点に到達できなかったことを表すために用います。
|
|
有効なコードの名前は、\fBintrans\fP, \fBreass\fP 与えられた時間内で
|
|
フラグメントからパケットの再構成ができなかった、です。
|
|
.TP
|
|
.B "paramprob [ paramprob-code ]"
|
|
パラメータの問題。パラメータ問題のコードの名前で利用できるものはひとつ
|
|
だけで、\fBoptabsent\fP です。
|
|
.TP
|
|
.B timest
|
|
タイムスタンプ要求。
|
|
.TP
|
|
.B "timestrep [ { timestamp-code } ]"
|
|
タイムスタンプ応答。タイムスタンプ応答の中で、以下の値を提供することが
|
|
できます。\fBrtime\fP, \fBotime\fP, \fBttime\fP。
|
|
.TP
|
|
.B inforeq
|
|
情報要求。
|
|
.TP
|
|
.B inforep
|
|
情報応答。
|
|
.TP
|
|
.B maskreq
|
|
アドレスマスク要求。
|
|
.TP
|
|
.B maskrep
|
|
アドレスマスク応答。
|
|
.SH 関連ファイル
|
|
/etc/hosts
|
|
.br
|
|
/etc/protocols
|
|
.br
|
|
/etc/services
|
|
.SH 関連項目
|
|
ipsend(1), iptest(1), hosts(5), protocols(5), services(5)
|