Rechercher une page de manuel
raw
Langue: ja
Version: 1998-10-02 (openSuse - 09/10/07)
Section: 7 (Divers)
Sommaire
̾Á°
raw, SOCK_RAW - Linux ¤Î IPv4 raw ¥½¥±¥Ã¥È½ñ¼°
#include <sys/socket.h>#include <netinet/in.h>
raw_socket = socket(PF_INET, SOCK_RAW, int protocol);
ÀâÌÀ
raw ¥½¥±¥Ã¥È¤ò»È¤¦¤È¡¢¿·¤·¤¤ IPv4 ¥×¥í¥È¥³¥ë¤ò¥æ¡¼¥¶¶õ´Ö¤Ç ¼ÂÁõ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¡£ raw ¥½¥±¥Ã¥È¤Ï¡¢¥ê¥ó¥¯¥ì¥Ù¥ë¥Ø¥Ã¥À¤ò ´Þ¤Þ¤Ê¤¤ raw ¥Ç¡¼¥¿¥°¥é¥à¤ÎÁ÷¼õ¿®¤¬¤Ç¤¤ë¡£IPv4 ¥ì¥¤¥ä¤Ï¡¢°·¤Ã¤Æ¤¤¤ë¥½¥±¥Ã¥È¤Ç IP_HDRINCL ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ ¥Ñ¥±¥Ã¥È¤òÁ÷¿®¤¹¤ë¤È¤¤Ë IP ¥Ø¥Ã¥À¤òÀ¸À®¤¹¤ë¡£ IP_HDRINCL ¥ª¥×¥·¥ç¥ó¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤¤Ï¡¢¥Ñ¥±¥Ã¥È¤Ë¤Ï IP ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¼õ¿®»þ¤Ë¤Ï¡¢ IP ¥Ø¥Ã¥À¤Ï¾ï¤Ë¥Ñ¥±¥Ã¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤Î¥×¥í¥»¥¹¤«¡¢ CAP_NET_RAW ¸¢¸Â¤ò»ý¤Ä¥×¥í¥»¥¹¤À¤±¤¬ raw ¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤³¤Î raw ¥½¥±¥Ã¥È¤Ë»ØÄꤵ¤ì¤¿ protocol ÈÖ¹æ¤Ë¥Þ¥Ã¥Á¤¹¤ëÁ´¤Æ¤Î¥Ñ¥±¥Ã¥È¤È¥¨¥é¡¼¤È¤¬¡¢¤³¤Î¥½¥±¥Ã¥È¤ËÅϤµ¤ì¤ë¡£ µö²Ä¤µ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Î¥ê¥¹¥È¤Ï RFC 1700 ¤Î³ä¤êÅö¤ÆÈÖ¹æ¤È getprotobyname(3) ¤ò¸«¤è¡£
IPPROTO_RAW ¤Î¥×¥í¥È¥³¥ë¤Ï°ÅÌۤΤ¦¤Á¤Ë IP_HDRINCL ¤ò͸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ ÅϤµ¤ì¤¿¥Ø¥Ã¥À¤Ç»ØÄꤵ¤ì¤¿¡¢¤¢¤é¤æ¤ë IP ¥×¥í¥È¥³¥ë¤òÁ÷¿®¤Ç¤¤ë¡£ IPPROTO_RAW ·Ðͳ¤Ç¤Î¤¢¤é¤æ¤ë IP ¥×¥í¥È¥³¥ë¤Î¼õ¿®¤Ï¡¢ raw ¥½¥±¥Ã¥È¤òÍѤ¤¤Æ¤Ï¹Ô¤¨¤Ê¤¤¡£
IP ¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¡£ IP_HDRINCL ¤Ë¤è¤Ã¤ÆÁ÷¿®»þ¤ËÊѹ¹¤µ¤ì¤ë¡£ | |
IP ¥Á¥§¥Ã¥¯¥µ¥à | ¾ï¤ËÊѹ¹¤µ¤ì¤ë¡£ |
¥½¡¼¥¹¥¢¥É¥ì¥¹ | ¸µ¤ÎÃͤ¬ 0 ¤Î»þ¤ËÊѹ¹¤µ¤ì¤ë¡£ |
¥Ñ¥±¥Ã¥È ID | ¸µ¤ÎÃͤ¬ 0 ¤Î»þ¤ËÊѹ¹¤µ¤ì¤ë¡£ |
Á´ÂΤÎŤµ | ¾ï¤ËËä¤á¤é¤ì¤ë¡£ |
IP_HERINCL ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢ IP ¥Ø¥Ã¥À¤Ë 0 ¤Ç¤Ê¤¤Á÷¿®À襢¥É¥ì¥¹¤¬µÆþ¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢ ¤½¤ÎÁ÷¿®À襢¥É¥ì¥¹¤¬¥Ñ¥±¥Ã¥È¤Î·ÐÏ©¤ò·è¤á¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ MSG_DONTROUTE ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ë¤Ï¡¢ Á÷¿®À襢¥É¥ì¥¹¤Ï¥í¡¼¥«¥ë¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»²¾È¤¹¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤µ¤â¤Ê¤¤¤È¡¢¥ë¡¼¥Æ¥£¥ó¥°¥Æ¡¼¥Ö¥ë¤Î»²¾È¤Ï¤¤¤º¤ì¤Ë¤»¤è¹Ô¤ï¤ì¤ë¤¬¡¢ ¥²¡¼¥È¥¦¥§¥¤¤¬É¬ÍפʷÐÏ©¤Ï̵»ë¤µ¤ì¤ë¡£
IP_HDRINCL ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ raw ¥½¥±¥Ã¥È¤Î IP ¥Ø¥Ã¥À¥ª¥×¥·¥ç¥ó¤ò setsockopt(2) ¤òÍѤ¤¤ÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£¾ÜºÙ¤Ê¾ðÊó¤Ï ip(7) ¤ò¸«¤è¡£
Linux 2.2 ¤Ç¤Ï¡¢ IP ¥Ø¥Ã¥À¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤È¥ª¥×¥·¥ç¥ó¤È¤ò IP ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ raw ¥½¥±¥Ã¥È¤¬É¬Íפˤʤë¤Î¤Ï¡¢¿·¤·¤¤¥×¥í¥È¥³¥ë¤òÀ߷פ¹¤ë¾ì¹ç¤«¡¢ ¥æ¡¼¥¶¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ý¤¿¤Ê¤¤¥×¥í¥È¥³¥ë (ICMP ¤Ê¤É) ¤ò°·¤¦¾ì¹ç¤Ë ¸Â¤é¤ì¤ë¡£
¥Ñ¥±¥Ã¥È¤Ï¡¢¼õ¿®¤µ¤ì¤ë¤È¤Þ¤º¥×¥í¥È¥³¥ë¤Ë¥Ð¥¤¥ó¥É¤·¤Æ¤¤¤ë raw ¥½¥±¥Ã¥È¤ËÅϤµ¤ì¡¢ ¤½¤Î¸å¤Ç¾¤Î¥×¥í¥È¥³¥ë¥Ï¥ó¥É¥é (¥«¡¼¥Í¥ë¤Î¥×¥í¥È¥³¥ë¥â¥¸¥å¡¼¥ë¤Ê¤É) ¤ËÅϤµ¤ì¤ë¡£
¥¢¥É¥ì¥¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
raw ¥½¥±¥Ã¥È¤Ïɸ½à¤Î sockaddr_in ¥¢¥É¥ì¥¹¹½Â¤ÂΤòÍѤ¤¤ë¡£ÄêµÁ¤Ï ip(7) ¤Ç¤Ê¤µ¤ì¤Æ¤¤¤ë¡£ sin_port ¥Õ¥£¡¼¥ë¥É¤ò IP ¥×¥í¥È¥³¥ëÈÖ¹æ¤Î»ØÄê¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤ë¤¬¡¢ Linux 2.2 ¤Ç¤Ï¤³¤ì¤ÏÁ÷¿®»þ¤Ë¤Ï̵»ë¤µ¤ì¡¢¾ï¤Ë 0 ¤Ë¤µ¤ì¤ë (¥Ð¥° ¤Î¹à¤ò»²¾È)¡£ ¼õ¿®¥Ñ¥±¥Ã¥È¤ËÂФ·¤Æ¤Ï¡¢ sin_port ¤Ï¤½¤Î¥Ñ¥±¥Ã¥È¤Î¥×¥í¥È¥³¥ë¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£ ÍѤ¤¤ë¤³¤È¤Î¤Ç¤¤ë IP ¥×¥í¥È¥³¥ë¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë <netinet/in.h> ¤ò¸«¤è¡£¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó
raw ¥½¥±¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ IPPROTO_RAW ¥Õ¥¡¥ß¥ê¡¼¥Õ¥é¥°¤òÍ¿¤¨¤Æ setsockopt(2) ¤ò¸Æ¤Ù¤ÐÀßÄê¤Ç¤¡¢ getsockopt(2) ¤ò¸Æ¤Ù¤Ð¼èÆÀ¤Ç¤¤ë¡£- ICMP_FILTER
- IPPROTO_ICMP ¥×¥í¥È¥³¥ë¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ raw ¥½¥±¥Ã¥È¤Î¤¿¤á¤ÎÆüì¤Ê¥Õ¥£¥ë¥¿¤ò͸ú¤Ë¤¹¤ë¡£ ¤³¤ÎÃÍ¤Ï ICMP ¥á¥Ã¥»¡¼¥¸¤Î¥¿¥¤¥×¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤É¤ì¤ò¥Õ¥£¥ë¥¿¡¼¥¢¥¦¥È ¤¹¤ë¤«¤òɽ¤·¤¿¥Ó¥Ã¥È¥»¥Ã¥È¤Ç¤¢¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï ICMP ¥á¥Ã¥»¡¼¥¸¤ÏÁ´¤¯¥Õ¥£¥ë¥¿¡¼¤·¤Ê¤¤¡£
¤µ¤é¤Ë¡¢¥Ç¡¼¥¿¥°¥é¥à¥½¥±¥Ã¥È¤Ë»È¤¨¤ëÁ´¤Æ¤Î ip(7) SOL_IP ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
¥¨¥é¡¼½èÍý
¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÀ¸¤¸¤¿¥¨¥é¡¼¤¬¥æ¡¼¥¶¤ËÅϤµ¤ì¤ë¤Î¤Ï¡¢ ¥½¥±¥Ã¥È¤¬ÀܳºÑ¤ß¤Î¾ì¹ç¤« IP_RECVERR ¥Õ¥é¥°¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£ ÀܳºÑ¤ß¤Î¥½¥±¥Ã¥È¤ËÂФ·¤Æ¤Ï¡¢ EMSGSIZE ¤ª¤è¤Ó EPROTO ¤À¤±¤¬ÅϤµ¤ì¤ë (¸ß´¹À¤Î¤¿¤á)¡£ IP_RECVERR ¤òÀßÄꤹ¤ë¤È¡¢Á´¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¨¥é¡¼¤¬¥¨¥é¡¼¥¥å¡¼¤ËÊݸ¤µ¤ì¤ë¡£¥¨¥é¡¼
- EMSGSIZE
- ¥Ñ¥±¥Ã¥È¤¬Â礤¹¤®¤ë¡£ Path MTU Discoverry ¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë (IP_MTU_DISCOVER ¥½¥±¥Ã¥È¥Õ¥é¥°) ¤«¡¢¥Ñ¥±¥Ã¥È¤Î¥µ¥¤¥º¤¬ IPv4 ¤Çµö¤µ¤ì¤Æ¤¤¤ë ¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤ÎºÇÂçÃÍ 64KB ¤ò±Û¤¨¤Æ¤¤¤ë¡£
- EACCES
- ¥æ¡¼¥¶¡¼¤¬ broadcast ¥Õ¥é¥°¤òÀßÄꤷ¤Æ¤¤¤Ê¤¤¥½¥±¥Ã¥È¤òÍѤ¤¤Æ ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ËÁ÷¿®¤ò¹Ô¤ª¤¦¤È¤·¤¿¡£
- EPROTO
- ¥Ñ¥é¥á¡¼¥¿¤ÎÌäÂê¤òÊó¹ð¤¹¤ë ICMP ¥¨¥é¡¼¤ò¼õ¤±¼è¤Ã¤¿¡£
- EFAULT
- ÉÔÀµ¤Ê¥á¥â¥ê¥¢¥É¥ì¥¹¤¬Í¿¤¨¤é¤ì¤¿¡£
- EOPNOTSUPP
- ¥½¥±¥Ã¥È¸Æ¤Ó½Ð¤·¤ËÉÔÀµ¤Ê¥Õ¥é¥° (MSG_OOB ¤Ê¤É) ¤¬ÅϤµ¤ì¤¿¡£
- EINVAL
- °ú¿ô¤¬Àµ¤·¤¯¤Ê¤¤¡£
- EPERM
- ¥æ¡¼¥¶¡¼¤Ï raw ¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ ¼Â¹Ô¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤Î¥×¥í¥»¥¹¤«¡¢ CAP_NET_RAW °À¤ò»ý¤Ä¥×¥í¥»¥¹¤À¤±¤¬¤³¤ì¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¡£
¥Ð¡¼¥¸¥ç¥ó
IP_RECVERR ¤È ICMP_FILTER ¤Ï Linux 2.2 ¤ÇÅо줷¤¿¡£¤³¤ì¤é¤Ï Linux ¤Ç¤Î³ÈÄ¥¤Ç¤¢¤ê¡¢ °Ü¿¢À¤ÎɬÍ×¤Ê¥×¥í¥°¥é¥à¤Ç¤ÏÍѤ¤¤ë¤Ù¤¤Ç¤Ê¤¤¡£Linux 2.0 ¤Ç¤Ï SO_BSDCOMPAT ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë¤È¡¢ BSD ¤Î raw ¥½¥±¥Ã¥È¤Ë¤¢¤ë¥Ð¥°¤Ë¸ß´¹À¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤¿ --- Linux 2.2 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤â¤Ï¤ä¸úÎϤò»ý¤¿¤Ê¤¤¡£
Ãí°Õ
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢raw ¥½¥±¥Ã¥È¤Ï Path MTU Discovery ¤ò¹Ô¤¦¡£ ¤Ä¤Þ¤ê¡¢¥«¡¼¥Í¥ë¤ÏÆÃÄê¤Î°¸Àè IP ¥¢¥É¥ì¥¹¤Î MTU (Maximum Transmission Unit; ºÇÂçžÁ÷ñ°Ì) ¤òµÏ¿¤·¡¢raw ¥Ñ¥±¥Ã¥È¤Î½ñ¤¹þ¤ß¤¬ MTU ¤òĶ¤¨¤¿¾ì¹ç EMSGSIZE ¤òÊÖ¤¹¡£ EMSGSIZE ¤òÊÖ¤µ¤ì¤¿¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤Ù¤¤Ç¤¢¤ë¡£ ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó IP_MTU_DISCOVER ¤Þ¤¿¤Ï ip_no_pmtu_disc sysctl ¤ò»È¤Ã¤Æ Path MTU Discovery ¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤ë (¾ÜºÙ¤Ï ip(7) ¤ò»²¾È)¡£ Path MTU Discovery ¤ò̵¸ú¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤¬ ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î MTU ¤è¤ê¤âÂ礤¤¤È raw ¥½¥±¥Ã¥È¤Ï¤½¤Î¥Ñ¥±¥Ã¥È¤ò ¥Õ¥é¥°¥á¥ó¥È²½¤·¤ÆÁ÷½Ð¤¹¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢Àǽ¤È¿®ÍêÀ¤ÎÍýͳ¤«¤é Path MTU Discovery ¤ò ̵¸ú¤Ë¤¹¤ë¤Î¤Ï¿ä¾©¤Ç¤¤Ê¤¤¡£bind(2) ¥·¥¹¥Æ¥à¥³¡¼¥ë¤òÍѤ¤¤ë¤È¡¢ raw ¥½¥±¥Ã¥È¤ò ÆÃÄê¤Î¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ¤³¤Î¥Ð¥¤¥ó¥É¤¬¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿ IP ¥×¥í¥È¥³¥ë¤Î ¤¹¤Ù¤Æ¤Î¥Ñ¥±¥Ã¥È¤¬¼õ¿®¤µ¤ì¤ë¡£ ¤µ¤é¤Ë¡¢ SO_BINDTODEVICE ¤òÍѤ¤¤ì¤Ð raw ¥½¥±¥Ã¥È¤òÆÃÄê¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤Ë ¥Ð¥¤¥ó¥É¤µ¤»¤ë¤³¤È¤â¤Ç¤¤ë¡£ socket(7) ¤ò¸«¤è¡£
IPPROTO_RAW ¥½¥±¥Ã¥È¤ÏÁ÷¿®ÀìÍѤǤ¢¤ë¡£¤â¤·¤É¤¦¤·¤Æ¤â¤¹¤Ù¤Æ¤Î IP ¥Ñ¥±¥Ã¥È¤ò ¼õ¿®¤·¤¿¤¤¾ì¹ç¤Ï¡¢ packet(7) ¥½¥±¥Ã¥È¤ò ETH_P_IP ¥×¥í¥È¥³¥ë¤ÇÍѤ¤¤ë¤³¤È¡£ packet ¥½¥±¥Ã¥È¤Ï raw ¥½¥±¥Ã¥È¤Î¤è¤¦¤Ë IP ¥Õ¥é¥°¥á¥ó¥È¤òºÆ¹½À®¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
datagram ¥½¥±¥Ã¥È¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î ICMP ¥Ñ¥±¥Ã¥È¤ò¼õ¿®¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ÆÃÄê¤Î¥½¥±¥Ã¥È¤ËÂФ·¤Æ IP_RECVERR ¤òÍѤ¤¤ë¤Û¤¦¤¬Îɤ¤¾ì¹ç¤¬Â¿¤¤¡£ ip(7) ¤ò¸«¤è¡£
raw ¥½¥±¥Ã¥È¤Ï¡¢ Linux ¤Î¤¹¤Ù¤Æ¤Î IP ¥×¥í¥È¥³¥ë¤ò¼õ¿®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ICMP ¤ä TCP ¤Î¤è¤¦¤Ë¡¢¥«¡¼¥Í¥ëÆâÉô¤Ë¥×¥í¥È¥³¥ë¥â¥¸¥å¡¼¥ë¤ò»ý¤Ä¤è¤¦¤Ê ¤â¤Î¤â²Äǽ¤Ç¤¢¤ë¡£¤³¤Î¾ì¹ç¤Ë¤Ï¡¢¥Ñ¥±¥Ã¥È¤Ï¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤È raw ¥½¥±¥Ã¥È¤ÎξÊý¤ËÅϤµ¤ì¤ë (raw ¥½¥±¥Ã¥È¤¬Ê£¿ô¤¢¤ì¤Ð¤½¤ì¤¾¤ì¤ËÅϤµ¤ì¤ë)¡£ °Ü¿¢À¤ÎɬÍ×¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¤³¤Îµ¡Ç½¤Ë°Í¸¤¹¤ë¤Ù¤¤Ç¤Ï¤Ê¤¤¡£ ¾¤Î¿¤¯¤Î BSD ¤Ë¤ª¤±¤ë¥½¥±¥Ã¥È¤Î¼ÂÁõ¤Ç¤Ï¤³¤ÎÅÀ¤Ë¤ª¤¤¤ÆÀ©¸Â¤¬¤¢¤ë¡£
Linux ¤Ï¥æ¡¼¥¶¡¼¤«¤éÅϤµ¤ì¤¿¥Ø¥Ã¥À¤ò·è¤·¤ÆÊѹ¹¤·¤Ê¤¤ (¤¿¤À¤· IP_HDRINCL ¤ÎÀâÌÀ¤Ë¤¢¤ë¤è¤¦¤Ë¡¢ 0 ¤ò¤¤¤¯¤Ä¤«Ëä¤á¤ë¾ì¹ç¤ò½ü¤¯)¡£ ¤³¤ì¤Ï¾¤Î¿¤¯¤Î raw ¥½¥±¥Ã¥È¤Î¼ÂÁõ¤Ç¤Ï°Û¤Ê¤ë¡£
°ìÈÌ¤Ë raw ¥½¥±¥Ã¥È¤Ï°Ü¿¢À¤¬¤Ê¤¤¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¢ °Ü¿¢À¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤Ç¤ÏÈò¤±¤ë¤Ù¤¤Ç¤¢¤ë¡£
raw ¥½¥±¥Ã¥È¤Ø¤ÎÁ÷¿®¤Ç¤Ï¡¢ IP ¥×¥í¥È¥³¥ë¤ò sin_port ¤«¤é¼èÆÀ¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Îµ¡Ç½¤Ï Linux 2.2 ¤Ç¤Ï»È¤¨¤Ê¤¯¤Ê¤Ã¤¿¡£ IP_HDRINCL ¤òÍѤ¤¤ì¤ÐƱÍͤΤ³¤È¤¬¼Â¸½¤Ç¤¤ë¡£
¥Ð¥°
Æ©²á¥×¥í¥¯¥· (transparent proxy) ³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Ïµ½Ò¤·¤Æ¤¤¤Ê¤¤¡£IP_HDRINCL ¥ª¥×¥·¥ç¥ó¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¥Ç¡¼¥¿¥°¥é¥à¤Ï¥Õ¥é¥°¥á¥ó¥È²½¤µ¤ì¤º¡¢ ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î MTU ¤ÎÂ礤µ¤ËÀ©¸Â¤µ¤ì¤ë¡£
Á÷¿®ÍѤΠIP ¥×¥í¥È¥³¥ë¤ÎÀßÄê¤ò sin_port ¤Ë¤·¤Æ¤ª¤¯µ¡Ç½¤Ï Linux 2.2 ¤«¤é»È¤¨¤Ê¤¯¤Ê¤Ã¤¿¡£ ¥½¥±¥Ã¥È¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤«¡¢ºÇ½é¤Î socket(2) ¥³¡¼¥ë¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤¬¾ï¤ËÍѤ¤¤é¤ì¤ë¡£
´ØÏ¢¹àÌÜ
recvmsg(2), sendmsg(2), capabilities(7), ip(7), socket(7)¥Ñ¥¹ MTU ȯ¸«¤Ë´Ø¤¹¤ë¾ðÊó¤Ï RFC 1191 ¤Ë¤¢¤ë
IP ¥×¥í¥È¥³¥ë¤Ë´Ø¤·¤Æ¤Ï RFC 791 ¤È¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë <linux/ip.h> ¤ò»²¾È¡£
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre