#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages/man7/raw.7:13 #, no-wrap msgid "RAW" msgstr "" #. type: TH #: man-pages/man7/raw.7:13 #, no-wrap msgid "2012-05-10" msgstr "" #. type: TH #: man-pages/man7/raw.7:13 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: man-pages/man7/raw.7:13 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: man-pages/man7/raw.7:14 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:16 msgid "raw - Linux IPv4 raw sockets" msgstr "" #. type: SH #: man-pages/man7/raw.7:16 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:18 msgid "B<#include Esys/socket.hE>" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:20 msgid "B<#include Enetinet/in.hE>" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:22 msgid "BIB<);>" msgstr "" #. type: SH #: man-pages/man7/raw.7:22 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:26 msgid "" "Raw sockets allow new IPv4 protocols to be implemented in user space. A raw " "socket receives or sends the raw datagram not including link level headers." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:32 msgid "" "The IPv4 layer generates an IP header when sending a packet unless the " "B socket option is enabled on the socket. When it is enabled, " "the packet must contain an IP header. For receiving the IP header is always " "included in the packet." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:36 msgid "" "Only processes with an effective user ID of 0 or the B " "capability are allowed to open raw sockets." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:43 msgid "" "All packets or errors matching the I number specified for the raw " "socket are passed to this socket. For a list of the allowed protocols see " "RFC\\ 1700 assigned numbers and B(3)." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:53 msgid "" "A protocol of B implies enabled B and is able to " "send any IP protocol that is specified in the passed header. Receiving of " "all IP protocols via B is not possible using raw sockets." msgstr "" #. type: tbl table #: man-pages/man7/raw.7:58 #, no-wrap msgid "IP Header fields modified on sending by B\n" msgstr "" #. type: tbl table #: man-pages/man7/raw.7:59 #, no-wrap msgid "IP Checksum:Always filled in.\n" msgstr "" #. type: tbl table #: man-pages/man7/raw.7:60 #, no-wrap msgid "Source Address:Filled in when zero.\n" msgstr "" #. type: tbl table #: man-pages/man7/raw.7:61 #, no-wrap msgid "Packet Id:Filled in when zero.\n" msgstr "" #. type: tbl table #: man-pages/man7/raw.7:62 #, no-wrap msgid "Total Length:Always filled in.\n" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:76 msgid "" "If B is specified and the IP header has a nonzero destination " "address, then the destination address of the socket is used to route the " "packet. When B is specified, the destination address should " "refer to a local interface, otherwise a routing table lookup is done anyway " "but gatewayed routes are ignored." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:84 msgid "" "If B isn't set, then IP header options can be set on raw sockets " "with B(2); see B(7) for more information." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:89 msgid "" "In Linux 2.2, all IP header fields and options can be set using IP socket " "options. This means raw sockets are usually needed only for new protocols " "or protocols with no user interface (like ICMP)." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:93 msgid "" "When a packet is received, it is passed to any raw sockets which have been " "bound to its protocol before it is passed to other protocol handlers (e.g., " "kernel protocol modules)." msgstr "" #. type: SS #: man-pages/man7/raw.7:93 #, no-wrap msgid "Address format" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:109 msgid "" "Raw sockets use the standard I address structure defined in " "B(7). The I field could be used to specify the IP protocol " "number, but it is ignored for sending in Linux 2.2 and should be always set " "to 0 (see BUGS). For incoming packets, I is set to the protocol " "of the packet. See the Inetinet/in.hE> include file for valid IP " "protocols." msgstr "" #. type: SS #: man-pages/man7/raw.7:109 #, no-wrap msgid "Socket options" msgstr "" #. Or SOL_RAW on Linux #. type: Plain text #: man-pages/man7/raw.7:118 msgid "" "Raw socket options can be set with B(2) and read with " "B(2) by passing the B family flag." msgstr "" #. type: TP #: man-pages/man7/raw.7:118 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:126 msgid "" "Enable a special filter for raw sockets bound to the B " "protocol. The value has a bit set for each ICMP message type which should " "be filtered out. The default is to filter no ICMP messages." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:131 msgid "" "In addition, all B(7) B socket options valid for datagram " "sockets are supported." msgstr "" #. type: SS #: man-pages/man7/raw.7:131 #, no-wrap msgid "Error handling" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:144 msgid "" "Errors originating from the network are passed to the user only when the " "socket is connected or the B flag is enabled. For connected " "sockets, only B and B are passed for compatibility. With " "B, all network errors are saved in the error queue." msgstr "" #. type: SH #: man-pages/man7/raw.7:144 #, no-wrap msgid "ERRORS" msgstr "" #. type: TP #: man-pages/man7/raw.7:145 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:149 msgid "" "User tried to send to a broadcast address without having the broadcast flag " "set on the socket." msgstr "" #. type: TP #: man-pages/man7/raw.7:149 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:152 msgid "An invalid memory address was supplied." msgstr "" #. type: TP #: man-pages/man7/raw.7:152 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:155 msgid "Invalid argument." msgstr "" #. type: TP #: man-pages/man7/raw.7:155 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:162 msgid "" "Packet too big. Either Path MTU Discovery is enabled (the " "B socket flag) or the packet size exceeds the maximum " "allowed IPv4 packet size of 64KB." msgstr "" #. type: TP #: man-pages/man7/raw.7:162 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:166 msgid "Invalid flag has been passed to a socket call (like B)." msgstr "" #. type: TP #: man-pages/man7/raw.7:166 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:172 msgid "" "The user doesn't have permission to open raw sockets. Only processes with " "an effective user ID of 0 or the B attribute may do that." msgstr "" #. type: TP #: man-pages/man7/raw.7:172 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:175 msgid "An ICMP error has arrived reporting a parameter problem." msgstr "" #. type: SH #: man-pages/man7/raw.7:175 #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:181 msgid "" "B and B are new in Linux 2.2. They are Linux " "extensions and should not be used in portable programs." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:187 msgid "" "Linux 2.0 enabled some bug-to-bug compatibility with BSD in the raw socket " "code when the B socket option was set \\(em since Linux 2.2, " "this option no longer has that effect." msgstr "" #. type: SH #: man-pages/man7/raw.7:187 #, no-wrap msgid "NOTES" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:205 msgid "" "By default, raw sockets do path MTU (Maximum Transmission Unit) discovery. " "This means the kernel will keep track of the MTU to a specific target IP " "address and return B when a raw packet write exceeds it. When " "this happens, the application should decrease the packet size. Path MTU " "discovery can be also turned off using the B socket option " "or the I file, see B(7) for details." " When turned off, raw sockets will fragment outgoing packets that exceed " "the interface MTU. However, disabling it is not recommended for performance " "and reliability reasons." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:214 msgid "" "A raw socket can be bound to a specific local address using the B(2) " "call. If it isn't bound, all packets with the specified IP protocol are " "received. In addition, a RAW socket can be bound to a specific network " "device using B; see B(7)." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:225 msgid "" "An B socket is send only. If you really want to receive all IP " "packets, use a B(7) socket with the B protocol. Note " "that packet sockets don't reassemble IP fragments, unlike raw sockets." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:231 msgid "" "If you want to receive all ICMP packets for a datagram socket, it is often " "better to use B on that particular socket; see B(7)." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:238 msgid "" "Raw sockets may tap all IP protocols in Linux, even protocols like ICMP or " "TCP which have a protocol module in the kernel. In this case, the packets " "are passed to both the kernel module and the raw socket(s). This should not " "be relied upon in portable programs, many other BSD socket implementation " "have limitations here." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:243 msgid "" "Linux never changes headers passed from the user (except for filling in some " "zeroed fields as described for B). This differs from many other " "implementations of raw sockets." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:246 msgid "" "RAW sockets are generally rather unportable and should be avoided in " "programs intended to be portable." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:252 msgid "" "Sending on raw sockets should take the IP protocol from I; this " "ability was lost in Linux 2.2. The workaround is to use B." msgstr "" #. type: SH #: man-pages/man7/raw.7:252 #, no-wrap msgid "BUGS" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:254 msgid "Transparent proxy extensions are not described." msgstr "" #. type: Plain text #: man-pages/man7/raw.7:259 msgid "" "When the B option is set, datagrams will not be fragmented and " "are limited to the interface MTU." msgstr "" #. .SH AUTHORS #. This man page was written by Andi Kleen. #. type: Plain text #: man-pages/man7/raw.7:269 msgid "" "Setting the IP protocol for sending in I got lost in Linux 2.2. " "The protocol that the socket was bound to or that was specified in the " "initial B(2) call is always used." msgstr "" #. type: SH #: man-pages/man7/raw.7:269 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:275 msgid "" "B(2), B(2), B(7), B(7), B(7)" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:282 msgid "" "B for path MTU discovery. B and the Ilinux/ip." "hE> header file for the IP protocol." msgstr "" #. type: SH #: man-pages/man7/raw.7:282 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: man-pages/man7/raw.7:290 msgid "" "This page is part of release 3.70 of the Linux I project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/" "." msgstr ""