日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
ICMP6(4) FreeBSD カーネルインタフェースマニュアル ICMP6(4) 名称 icmp6 -- IPv6 のためのインターネット制御メッセージプロトコル 書式 #include <sys/socket.h> #include <netinet/in.h> #include <netinet/icmp6.h> int socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); 解説 ICMPv6 は、IPv6 によって使用されるエラーとコントロールメッセージプロトコ ルと IPv6 プロトコルファミリです (ip6(4) と inet6(4) 参照)。それは、ネッ トワーク監視と診断機能のために ``生のソケット'' を通してアクセスされま す。 ICMPv6 ソケットを作成するための socket(2) 呼び出しへの proto パラメータ は、getprotobyname(3) から取得できます。ICMPv6 ソケットは、コネクションレ スであり、sendto(2) と recvfrom(2) 呼び出しで通常使用されますが、 connect(2) 呼び出しは、その後のパケットのための宛先 (終点) を固定するため に使用されます (この場合、read(2) または recv(2) と write(2) または send(2) システムコールが使用されます)。 発信パケットは、(宛先 (終点) アドレスに基づいて) 自動的にそれらに IPv6 ヘッダを先頭に追加します。ソケット上の着信パケットは、IPv6 ヘッダと任意の 拡張ヘッダを取り除いて受信します。 タイプ ICMPv6 メッセージは、ICMPv6 ヘッダに存在しているタイプとコードフィールド に従って分類されます。タイプとコードのための省略形は、pf.conf(5) の規則が 使用されます。次のタイプが定義されています: 番号 省略形 説明 1 unreach Destination unreachable 2 toobig Packet too big 3 timex Time exceeded 4 paramprob Invalid IPv6 header 128 echoreq Echo service request 129 echorep Echo service reply 130 groupqry Group membership query 130 listqry Multicast listener query 131 grouprep Group membership report 131 listenrep Multicast listener report 132 groupterm Group membership termination 132 listendone Multicast listener done 133 routersol Router solicitation 134 routeradv Router advertisement 135 neighbrsol Neighbor solicitation 136 neighbradv Neighbor advertisement 137 redir Shorter route exists 138 routrrenum Route renumbering 139 fqdnreq FQDN query 139 niqry Node information query 139 wrureq Who-are-you request 140 fqdnrep FQDN reply 140 nirep Node information reply 140 wrurep Who-are-you reply 200 mtraceresp mtrace response 201 mtrace mtrace messages 次のコードが定義されています: 番号 省略形 タイプ 説明 0 noroute-unr unreach No route to destination 1 admin-unr unreach Administratively prohibited 2 beyond-unr unreach Beyond scope of source address 2 notnbr-unr unreach Not a neighbor (obsolete) 3 addr-unr unreach Address unreachable 4 port-unr unreach Port unreachable 0 transit timex Time exceeded in transit 1 reassemb timex Time exceeded in reassembly 0 badhead paramprob Erroneous header field 1 nxthdr paramprob Unrecognized next header 2 redir Unrecognized option 0 redironlink redir Redirection to on-link node 1 redirrouter redir Redirection to better router ヘッダ すべての ICMPv6 メッセージは、ICMPv6 ヘッダと共に前に置かれます。このヘッ ダは、icmp6_hdr 構造体に対応し、次の定義があります: struct icmp6_hdr { uint8_t icmp6_type; /* タイプフィールド */ uint8_t icmp6_code; /* コードフィールド */ uint16_t icmp6_cksum; /* checksum フィールド */ union { uint32_t icmp6_un_data32[1]; /* タイプ特有 */ uint16_t icmp6_un_data16[2]; /* タイプ特有 */ uint8_t icmp6_un_data8[4]; /* タイプ特有 */ } icmp6_dataun; } __packed; #define icmp6_data32 icmp6_dataun.icmp6_un_data32 #define icmp6_data16 icmp6_dataun.icmp6_un_data16 #define icmp6_data8 icmp6_dataun.icmp6_un_data8 #define icmp6_pptr icmp6_data32[0] /* parameter prob */ #define icmp6_mtu icmp6_data32[0] /* packet too big */ #define icmp6_id icmp6_data16[0] /* echo request/reply */ #define icmp6_seq icmp6_data16[1] /* echo request/reply */ #define icmp6_maxdelay icmp6_data16[0] /* mcast group membership*/ icmp6_type は、メッセージのタイプを説明します。適切な値は、 <netinet/icmp6.h> に定義されています。icmp6_code は、メッセージのサブタイ プを説明し、icmp6_type に依存します。icmp6_cksum は、メッセージのために チェックサムを含んでいて、メッセージの発信時にカーネルによって書き込まれ ます。他のフィールドは、タイプ特有の目的のために使用されます。 フィルタ ICMPv4 と比較して ICMPv6 の特別の機能のために、ICMPv6 ソケット上で潜在的 により多くのメッセージを受信します。したがって、入力フィルタは、着信 ICMPv6 メッセージの部分集合に入力を制限するために使用されので、関心がある メッセージだけがアプリケーションへの呼び出しの recv(2) ファミリによって返 されます。 icmp6_filter 構造体は、ICMPv6 タイプに従って入力メッセージセットを絞り込 むために使用されます。デフォルトで、すべてのメッセージタイプは、新たに作 成された生の ICMPv6 ソケット上で許されます。次のマクロは、入力セットを絞 り込むために使用されます: void ICMP6_FILTER_SETPASSALL(struct icmp6_filter *filterp) すべての着信メッセージを許可します。filterp は、すべてのメッセー ジタイプを許可するように変更されます。 void ICMP6_FILTER_SETBLOCKALL(struct icmp6_filter *filterp) すべての入力メッセージを無視します。filterp は、すべてのメッセー ジタイプを無視するように変更されます。 void ICMP6_FILTER_SETPASS(int type, struct icmp6_filter *filterp) 与えられた type の ICMPv6 メッセージを許可します。filterp は、そ のようなメッセージを許可するように変更されます。 void ICMP6_FILTER_SETBLOCK"(int type, struct icmp6_filter *filterp) 与えられた type の ICMPv6 メッセージを無視します。filterp は、そ のようなメッセージを無視するように変更されます。 int ICMP6_FILTER_WILLPASS"(int type, const struct icmp6_filter *filterp) 与えられたフィルタが与えられたタイプの ICMPv6 メッセージを許可す るかどうか決定します。 int ICMP6_FILTER_WILLBLOCK"(int type, const struct icmp6_filter *filterp) 与えられたフィルタが与えられたタイプの ICMPv6 メッセージを無視す るかどうか決定します。 getsockopt(2) と setsockopt(2) 呼び出しは、オプションの値として icmp6_filter 構造体へのポインタでオプションレベル IPPROTO_ICMPV6 と名前 ICMP6_FILTER の ICMPv6 ソケット上のフィルタを取得して、インストールするた めに使用されます。 関連項目 getsockopt(2), recv(2), send(2), setsockopt(2), socket(2), getprotobyname(3), inet6(4), ip6(4), netintro(4) W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC 2292, February 1998. A. Conta and S. Deering, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, RFC 2463, December 1998. FreeBSD 11.4 November 7, 2012 FreeBSD 11.4