Linux TCP/IP ÐÒéÕ»Ô´Âë·ÖÎö£¨Ò»£©
ÕâÆªÎÄÕÂдÓÚÈýÄêǰ£¬µ±Ê±ÊÖÖÐÄÃ×ÅStevensµÄÈý±¾¾ÞÖø TCP v1/v2/v3 µÄÃþ²»×ÅÍ·ÄÔ£ÒòΪËüÃÇÌ«ºñÁË¡£ÎÒÖªµÀÎÒ²»ÐèÒªÄÇô¶à£¬ÄÇôÏêϸ¡£ÓÚÊÇÓÐÁË×Ô¼º·ÖÎöÔ´´úÂëµÄÏë·¨......
ÎÒ²»¶ÔÎÄÖеÄÄÚÈÝÌṩÈκα£Ö¤£¬µ«»¶ÓÓëÎÒÁªÏµÒԱ㲻¶ÏµÄÐÞ¸ÄËü£¬×îÖÕ¸øÐèÒªÖªµÀ¹ØÓÚLinux TCP/IPʵÏÖµÄÈËÌṩ¶ÌС¾«º·µÄÎÄÕÂÄÚÈÝ¡£
µÚÒ»²¿·Ö£ºLinuxµÄTCP/IPʵÏÖ¸ÅÊö
Linuxͨ¹ýͬʱ¶Ô¶àÖÖͨÐÅÐÒéµÄÖ§³ÖÀ´ÌṩͨÓõĵײã»ù´¡·þÎñ¡£ËüµÄµÚÒ»¸öÍøÂçÄ£Ð͵İ汾ÊÇ4.3 BSD£¬Ò²³ÆÎªNet/1£¬½ñÌìµÄLinuxÒѾʹÓÃNet/4 £¨Linux 2.2£©£¬ÆäÖдó¶àÊý´úÂëÒѾÍêÈ«ºÍBSDµÄ°æ±¾²»Í¬£¬µ«ÊÇËüÒÀȻ֧³ÖUINXƽ̨֮¼ä³ÌÐòµÄÒÆÖ²¡£
LinuxÍøÂçÌ×½Ó×ÖʵÏÖµÄģʽÊÇUNIXÏÂµÄÆÕ±é±ê×¼¡£Í¬Ê±£¬Net/4µÄÍøÂç²ãÊÇÍêÈ«ÁíÆð¯ÔîÖØÐ´µÄ¡£Ê×ÏÈ£¬ÐµÄÍøÂç²ã¾¡¿ÉÄܵØÊµÐв¢Ðд¦Àí£¬ Òò´ËÆäÉìËõÐÔ±ÈÆðÒÔǰµÄ°æ±¾£¬²»¿ÉͬÈÕ¶øÓï¡£Æä´Î£¬Ëü°üÀ¨ÁËÐí¶àµÄÓÅ»¯£¬ÒÔ±ãÈÆ¹ý²»ÉÙÁ÷ÐвÙ×÷ÏµÍ³ÍøÂçʵÏÖÖеIJ»ºÏÀí´¦£¨ÀýÈçWindows£©¡£µ½Ä¿Ç°ÎªÖ¹£¬Linux ÊÇΨһÓëIPv4ºÍIPv6ÐÒé±ê×¼ÍêÈ«±£³Ö¼æÈݵIJÙ×÷ϵͳ£¬¶øLinux2.4µÄIPv4ÉìËõÐÔÓÖ´óÓÐÌá¸ß¡£
LinuxÖ§³ÖµÄÁùÖÖ²»Í¬Í¨ÐÅÐÒé×壺
1£© TCP/IP £¨Ê¹ÓÃTCP/IPµÄInternet ÐÒé×壩£¬±¾ÎÄÌÖÂÛµÄÖØµã¡£
2£© UNIXÓòÐÒé £¨Ò»ÖÖ½ø³Ì¼äͨÐŵÄÐÒ飩
3£© X25ÐÒé
4£© AX25ÐÒé £¨ÒµÓàÎÞÏßX25£©
5£©IPXÐÒé £¨Novell IPX£©
6£© APPLETALKÐÒé £¨AppleTalk DDP£©
1.1 ÄÚºËÔ´´úÂëµÄ×éÖ¯
±í1ÊDZ¾ÎÄҪʹÓõÄLinux Net/4ÍøÂçÔ´´úÂëµÄ,ÆäÖд󲿷ÖλÓÚĿ¼/usr/src/linux-2.2.x/net,ÁбíÈçÏ£¬
²å¿Ú²ã
BSD Socket
/net/socket.c??????????????
/net/protocols.c????????????
INET Socket
/ipv4/protocol.c???????????
/ipv4/af_inet.c??????
/net/ipv4/core/sock.c?????????
ÐÒé²ã
TCP/UDP
/net/ipv4/udp.c
/net/ipv4/datagram.c
/net/ipv4/tcp_input.c
/net/ipv4//tcp_output.c
/net/ipv4/tcp.c
/net/ipv4/tcp_minisocks.c???
/net/ipv4/tcp_timer.c ?etc...
IP
/net/ipv4/ip_forward.c?
/net/ipv4/ip_fragment.c
/net/ipv4/ip_input.c???
/net/ipv4/ip_output.c
½Ó¿Ú²ã
Ethernet
......
1.2 LinuxÖÐTCP/IPÍøÂç²ã´Î½á¹¹ÓëʵÏÖ
Linuxͨ¹ýÒ»×éÏàÁÚµÄÈí¼þ²ãʵÏÖÁËTCP/IPÄ£ÐÍ£¬ËüÓÉBSD Socket²ã¡¢INET
Socket²ã¡¢´«Êä²ã¡¢ÍøÂç²ã£¬ºÍÁ´Â·²ã¹¹³É¡£Ó¦ÓóÌÐòʹÓÃϵͳµ
Ïà¹ØÎĵµ£º
linux strace ½ø³Ì¸ú×Ù
µ÷ÓÃ:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
¹¦ ......
¼ò½é
½« Linux²Ù×÷ϵͳÓÃÓÚ·þÎñÆ÷ÔÚÏÖÔÚÊÇÔ½À´Ô½ÆÕ±éÁË¡£Òò´Ë,ÈëÇÖLinuxÔÚ½ñÌìÒ²±äµÃÔ½À´Ô½ÓÐȤ.Ŀǰ×îºÃµÄ¹¥»÷LinuxµÄ¼¼Êõ¾ÍÊÇÐÞ¸ÄÄں˴úÂë¡£ÓÉ ÓÚÒ»ÖÖ½Ð×ö¿ÉÐ¶ÔØÄÚºË(LoadableKernelModules(LKMs))µÄ»úÖÆ,ÎÒÃÇÓпÉÄܱàдÔÚÄں˼¶±ðÔËÐеĴúÂë,¶øÕâÖÖ´úÂë¿ÉÒÔÔÊÐíÎÒÃÇ ½Ó´¥µ½²Ù×÷ϵͳÖзdz£Ãô¸ÐµÄ²¿·Ö¡£
ÔÚ¹ýÈ¥ÓÐһЩºÜº ......
µÚ¶þ²¿·Ö ½¥Èë¼Ñ¾³
2.1 ÈçºÎ½Ø»ñϵͳµ÷ÓÃ
ÏÖÔÚÎÒÃÇ¿ªÊ¼ÈëÇÖLKM£¬ÔÚÕý³£Çé¿öÏÂLKMsÊÇÓÃÀ´À©Õ¹Äں˵Ä(ÌØ±ðÊÇÄÇЩӲ¼þÇý¶¯)¡£È»¶øÎÒÃǵđHacks’×öһЩ²»Ò»ÑùµÄÊÂÇé¡£ËûÃÇ»á½Ø»ñϵͳµ÷Óò¢ÇÒ¸ü¸ÄËûÃÇ£¬ÎªÁ˸ıäϵͳijЩÃüÁîµÄÏìÓ¦·½Ê½¡£
ÏÂÃæµÄÕâ¸öÄ£¿é¿ÉÒÔʹµÃÈκÎÓû§¶¼²»ÄÜ´´½¨Ä¿Â¼¡£ÕâÖ»²»¹ýÊÇÎÒÃÇËæºó·½·¨µ ......
µÚËIJ¿·Ö һЩ¸üºÃµÄÏë·¨
4.1 »÷°Üϵͳ¹ÜÀíÔ±µÄLKMµÄ·½·¨
ÕâÒ»²¿·Ö»á¸øÎÒÃǶԸ¶Ò»Ð©Ê¹ÓÃLKM±£»¤Äں˵ĶàÒÉ£¨ºÃµÄ£©µÄ¹ÜÀíÔ±µÄ·½·¨¡£ÔÚ½âÊÍÁËËùÓÐϵͳ¹ÜÀíÔ±Äܹ»Ê¹Óõķ½·¨Ö®ºó£¬ºÜÄÑΪÎÒÃÇ£¨hackers£©ÕÒµ½Ò»¸ö¸üºÃµÄ°ì·¨¡£ÎÒÃÇÐèÒªÀ뿪LKMÒ»»á¶ù£¬À´Ñ°ÕÒ»÷°ÜÕâЩÀ§Äѵı£»¤µÄ·½·¨¡£
¼Ù¶¨Ò»¸öϵͳ¿ÉÒÔ±»¹ÜÀíÔ±°²×°ÉÏÒ»¸öÊ ......
¸ÐлÔÎÄ×÷Õߣºhttp://forum.ubuntu.org.cn/viewtopic.php?f=101&t=227869&sid=31fbca09f094a5e12ad6e3f6d9b90886
windows¸Õ¿ªÊ¼µÄʱºòÊǺÍunixÒ»ÑùûÓÐ×¢²á±íµÄ£¬ËüµÄ³ÌÐòÐÅÏ¢ÔÚºó׺ΪiniµÄÎı¾ÎļþÖС£ºóÀ´WindowsÒýÈË×¢²á±í£¬ÄÇôΪʲôWindowsÒª»¨Èç´Ë´óµÄÁ¦ÆøÒýÈË×¢²á±í»úÖÆ£¬ËüÒª½â¾öʲôÎÊÌ⣬Ëü±ÈÆðlinuxµ ......