¡¾×ª¡¿linux socket()µ÷ÓÃÓëarp±¨ÎÄ·¢ËÍ
LinuxÌṩ×î³£ÓõÄÍøÂçͨÐÅÓ¦ÓóÌÐò¿ª·¢½Ó¿Ú--BerkerleyÌ×½Ó×Ö(Socket)£®Ëü¼ÈÊÊÓÃÓÚͬһÖ÷»úÉϽø³Ì¼äͨÐÅ(IPC)£¬ÓÖÊÊÓÃÓÚ²»Í¬Ö÷»úÉϵĽø³Ì¼äͨÐÅ¡£Ì×½Ó×ÖµÄÉèÖÃͨ¹ýsocketµ÷ÓÃÍê³É£º
int socket(int family,int type,int protocol);
ÆäÖÐfamilyָͨÐÅÓò»òÐÒé×壬Linuxϵͳ֧³ÖµÄÍøÂçÐÒé×åÓÐPF_UNIX£¬PF_IPX£¬PF_PACKETµÈ¼¸Ê®ÖÖ£»typeΪÌ×½Ó×ÖÀàÐÍ,Ä¿Ç°ÓÐSOCK_STREAM¡¢SOCK_DGRAM¡¢SOCK_RAW¡¢SOCK_PACKETµÈ£»protocolÊÇÌ×½Ó×ÖËùÓõÄÌض¨ÐÒéÀàÐͺţ®
LinuxϵͳÌṩµÄ»ùÓÚÊý¾ÝÁ´Â·²ã¿ª·¢Ó¦ÓóÌÐòµÄ½Ó¿Ú¼¯³ÉÔÚÌ×½Ó×ÖÖУ¬ËüÊÇͨ¹ý´´½¨packetÀàÐ͵ÄÌ×½ÓÓʹӦÓóÌÐò¿ÉÖ±½ÓÔÚÊý¾ÝÁ´Â·²ã½ÓÊÕ»ò·¢ËÍδ±»ÏµÍ³´¦ÀíµÄÔʼµÄÊý¾Ý±¨ÎÄ(ÈçARP±¨ÎÄ)£¬Óû§Ò²¿ÉÒÔʹÓÃpacketÀàÐ͵ÄÌ×½ÓÓîÔÚÎïÀí²ãÉ϶¨Òå×Ô¼ºÌØÊâµÄÍøÂçÐÒé¡£Ö»ÓÐ×¢²áºÅΪ0µÄÓû§(³¬¼¶Óû§)½ø³Ì²ÅÄܽ¨Á¢»ò´ò¿ªÓÃÓÚ·ÃÎÊÍøÂçµÍ²ãµÄÌ×½Ó×Ö£®ÔÚLinuxϵͳÖУ¬ÓÃÒÔÏÂÈýÖÖ·½Ê½´´½¨µÄpacketÌ×½Ó×Ö¿ÉÖ±½ÓÓÃÓÚ·ÃÎÊÊý¾ÝÁ´Â·²ã£º
(1)PF_INETÐÒé×åÖÐSOCK_PACKEIÀàÐ͵ÄÌ×½Ó×Ö
(2)PF_PACKETÐÒé×åÖÐSOCK_RAWÀàÐ͵ÄÌ×½Ó×Ö
(3)PF_PACKETÐÒé×åÖÐSOCK_DGRAMÀàÐ͵ÄÌ×½Ó×Ö
Linux 2£®0ÖжÔÊý¾ÝÁ´Â·²ãµÄ²Ù×÷Ö÷ҪʹÓÃSOCK_PACKET¶¨ÒåµÄpacketÌ×½Ó×Ö£®³õʼ»¯¶¨ÒåÈçÏ£º
sockfd=socket(AF_INET,SOCK_PACKET,protocol)£»
ÆäÖУ¬protocolÓÃÓÚ¾ö¶¨Ì×½Ó×ÖËùʹÓõÄÎïÀí²ãÐÒé(ÔÚIEEE802.3Öж¨Òå)£®±ÊÕßÔÚ´ËÑ¡Ôñ³£ÓõÄÎïÀí²ãÐÒéETH_P_IP(InternetÐÒé)£®SOCK_PACKETʹÓÃÒ»ÖֱȽÏÀϵÄsockaddr_pktÊý¾Ý½á¹¹À´ÉèÖÃÍøÂç½Ó¿Ú¡£
ÔÚLinux 2 2ÖÐʹÓÃPF_PACKET´úÌæSOCK_PACKETÀ´¶¨ÒåpacketÌ×½Ó×Ö£®ÕâÖÖÌ×½Ó×ֵijõʼ»¯¶¨ÒåÈçÏ£º
sockfd=socket(PF_PACKET,socket_type,protocol)£»
ÆäÖÐsocket_typeÖ»ÄÜΪSOCK_RAW»òSOCK_DGRAM,protocolΪÎïÀí²ãͨÐÅÐÒé(ͬÉÏ)¡£SOCK_RAWºÍSOCK_DGRAMÀàÐÍÌ×½Ó×ÖʹÓÃÒ»ÖÖÓëÉ豸Î޹صıê×¼ÎïÀí²ãµØÖ·½á¹¹sockaddr_ll£¬µ«¾ßÌå²Ù×÷µÄ±¨Îĸñʽ²»Í¬¡£SOCK_RAWÌ×½Ó×ÖÖ±½ÓÏòÍøÂçÓ²¼þÇý¶¯³ÌÐò·¢ËÍ(»ò´ÓÍøÂçÓ²¼þÇý¶¯³ÌÐò½ÓÊÕ)ûÓÐÈκδ¦ÀíµÄÍêÕûÊý¾Ý±¨ÎÄ(°üÀ¨ÎïÀíÖ¡µÄÖ¡Í·)£¬Õâ¾ÍÒªÇó³ÌÐòÔ±±ØÐëÁ˽â¶ÔÓ¦É豸µÄÎïÀíÖ¡Ö¡Í·½á¹¹£¬²ÅÄÜÕýÈ·µØ×°ÔغͷÖÎö±¨ÎÄ¡£SOCK_DGRAMÌ×½Ó×ÖÊÕµ½µÄÊý¾Ý±¨ÎĵÄÎïÀíÖ¡Ö¡Í·»á±»ÏµÍ³×Ô¶¯È¥µô£¬Í¬Ñù,ÔÚ·¢ËÍʱ£®ÏµÍ³½«»á¸ù¾Ýsockaddr_ll½á¹¹ÖеÄÄ¿µÄµØÖ·ÐÅϢΪÊý¾Ý±¨ÎÄÌò¼ÓÒ»¸ǫ̈ÊʵÄÎïÀíÖ¡Ö¡Í·¡£
ĬÈÏÇé¿öÏ£®´ÓÈκνӿÚÊÕµ½µÄ·ûºÏÖ¸¶¨ÐÒéµÄËùÓÐÊý¾Ý±¨ÎĶ¼»á±»´«Ë͵½packetÌ×
Ïà¹ØÎĵµ£º
Linux Ê×ÏÈ´´½¨ramfsÎļþϵͳ(/)
È»ºó°Ñinitrd.imgÎļþ¼ÓÔص½ / Ŀ¼Ï¡£
ÆäËüÎļþϵͳÊÇ×öΪramfsµÄÒ»¸öĿ¼½áµã¹ÒÔØÉÏÈ¥µÄ¡£
initrd.imgÊÇÒ»¸öÓÃzipѹËõµÄcpio¸ñʽµÄѹËõÎļþ¡£°´ÏÂÃæ²½ÖèʵÏÖ½âѹ
µÚÒ»²½£º½«initrd.img¸ÄÃûΪinitrd.img.gz
mv initrd.img initrd.img.gz
µÚ¶þ²½£ºÓÃgunzip½âѹÉú³Éinitrd.img
gunzi ......
×°ºÃapacheºÍsubversionºó½ÓÏÂÀ´ÅäÖÃÅäÖÃÎļþ,ÏÈÓÃÃüÁîsvnadmin svnadmin create /home/repository/svn1 svnadmin create /home/repository/svn2 ÔÚ/home/repository/Ŀ¼ÀïÃæ´´½¨ÁË2¸ö²Ö¿âsvn1ºÍsvn2 ÐÞ¸Ähttp.conf¼ÓÉϹØÓÚsvnµÄÅäÖÃÑ¡Ïî LoadModule dav_svn_module modules/mod_dav_svn.so
LoadM ......
Linux·þÎñcannot change directory´íÎó½â¾ö·½·¨
ÔÚ°²×°Íêvsftp·þÎñºóµÇ½ʱ¿ÉÄÜÓöµ½cannot change directoryºóÃæÊǵǽÕßµÄĿ¼µÄ´íÎó¡£ÕâÊÇÒòΪSEÉèÖõĹرÕÁËftpµÄÔÒò¡£
ʹÓÃÃüÁî
getsebool ftpd_disable_trans
¿ÉÒԲ鿴µ±Ç°µÄ״̬Èç¹û²»ÊÇon
ÄÇôÊÇÊäÈëÃüÁî
setsebool ftpd_disable_trans 1
µ±È»Ò²¿ÉÒÔ¼ÓÈë-P² ......
Ç°ÑÔ£º
µ±ÎÒÃÇʹÓÃǶÈëʽlinux ½øÐпª·¢Ê±£¬kernel ÅÜÆðÀ´Ö®ºó£¬ÎÒÃÇÏ£ÍûÄÜͨ¹ý´®¿Ú£¨±ê×¼ÊäÈë¡¢Êä³ö£©£¬ÔÚÓ¦ÓóÌÐòÕýÔÚÔËÐеĹý³ÌÖУ¬½øÐÐһЩµ÷ÊÔ¹¤×÷£¬ÀýÈ磬¶ÔCPUһЩ¼Ä´æ½øÐе÷Õû£¬ÒÔ¹Û²âµ÷ÕûÒÔºóµÄ½á¹û£¬²¢ÇÒ£¬µ±ÎÒÃÇÎÞ·¨°ÑÎÒÃǵÄÓ¦ÓóÌÐò·ÅÔÚºǫ́ÔËÐУ¬ÄÇôÎÒÃǾÍÐèÒªÊ ......