LinuxÍøÂç½Ó¿ÚµÄÔ´Âë½á¹¹
Ò».Ç°ÑÔ
¡¡¡¡LinuxµÄÔ´ÂëÀÍøÂç½Ó¿ÚµÄʵÏÖ²¿·ÝÊǷdz£ÖµµÃÒ»¶ÁµÄ£¬Í¨¹ý¶ÁÔ´Â룬²»½ö¶ÔÍøÂçÐÒé»áÓиüÉîµÄÁ˽⣬ҲÓÐÖúÓÚÔÚÍøÂç±à³ÌµÄʱºò£¬¶ÔÓ¦Óú¯ÊýÓиü¾«È·µÄÁ˽âºÍ°ÑÎÕ¡£
¡¡¡¡±¾ÎÄ°ÑÖصã·ÅÔÚÍøÂç½Ó¿Ú³ÌÐòµÄ×ÜÌå½á¹¹ÉÏ£¬Ï£ÍûÄÜ×÷Ϊ¶ÁÔ´ÂëʱһЩָµ¼ÐÔµÄÎÄ×Ö¡£
¡¡¡¡±¾ÎÄÒÔLinux2.4.16ÄÚºË×÷Ϊ½²½âµÄ¶ÔÏó£¬ÄÚºËÔ´Âë¿ÉÒÔÔÚhttp://www.kernel.orgÉÏÏÂÔØ¡£ÎÒ¶ÁÔ´Âëʱ²Î¿¼µÄÊÇhttp://lxr.linux.no/Õâ¸ö½»²î²Î¿¼µÄÍøÕ¾£¬ÎÒ¸öÈËÈÏΪÊÇÒ»¸öºÜºÃµÄ¹¤¾ß£¬Èç¹ûÓÐÌõ¼þ×îºÃÉÏÕâ¸öÍøÕ¾¡£
¡¡¡¡¶þ.ÍøÂç½Ó¿Ú³ÌÐòµÄ½á¹¹
¡¡¡¡LinuxµÄÍøÂç½Ó¿Ú·ÖΪËIJ¿·Ý£ºÍøÂçÉ豸½Ó¿Ú²¿·Ý£¬ÍøÂç½Ó¿ÚºËÐIJ¿·Ý£¬ÍøÂçÐÒé×岿·Ý£¬ÒÔ¼°ÍøÂç½Ó¿Úsocket²ã¡£
¡¡¡¡ÍøÂçÉ豸½Ó¿Ú²¿·ÝÖ÷Òª¸ºÔð´ÓÎïÀí½éÖʽÓÊպͷ¢ËÍÊý¾Ý¡£ÊµÏÖµÄÎļþÔÚlinu/driver/netĿ¼ÏÂÃæ¡£
¡¡¡¡ÍøÂç½Ó¿ÚºËÐIJ¿·ÝÊÇÕû¸öÍøÂç½Ó¿ÚµÄ¹Ø¼ü²¿Î»£¬ËüΪÍøÂçÐÒéÌṩͳһµÄ·¢Ëͽӿڣ¬ÆÁ±Î¸÷ÖÖ¸÷ÑùµÄÎïÀí½éÖÊ£¬Í¬Ê±ÓиºÔð°ÑÀ´×ÔϲãµÄ°üÏòºÏÊʵÄÐÒéÅäËÍ¡£ËüÊÇÍøÂç½Ó¿ÚµÄÖÐÊಿ·Ý¡£ËüµÄÖ÷ҪʵÏÖÎļþÔÚlinux/net/coreĿ¼Ï£¬ÆäÖÐlinux/net/core/dev.cΪÖ÷Òª¹ÜÀíÎļþ¡£
¡¡¡¡ÍøÂçÐÒé×岿·ÝÊǸ÷ÖÖ¾ßÌåÐÒéʵÏֵIJ¿·Ý¡£LinuxÖ§³ÖTCP/IP£¬IPX£¬X.25£¬AppleTalkµÈµÄÐÒ飬¸÷ÖÖ¾ßÌåÐÒéʵÏÖµÄÔ´ÂëÔÚlinux/net/Ŀ¼ÏÂÏàÓ¦µÄÃû³Æ¡£ÔÚÕâÀïÖ÷ÒªÌÖÂÛTCP/IP(IPv4)ÐÒ飬ʵÏÖµÄÔ´ÂëÔÚlinux/net/ipv4,ÆäÖÐlinux/net/ipv4/af_inet.cÊÇÖ÷ÒªµÄ¹ÜÀíÎļþ¡£
¡¡¡¡ÍøÂç½Ó¿ÚSocket²ãΪÓû§ÌṩµÄÍøÂç·þÎñµÄ±à³Ì½Ó¿Ú¡£Ö÷ÒªµÄÔ´ÂëÔÚlinux/net/socket.c
¡¡¡¡Èý.ÍøÂçÉ豸½Ó¿Ú²¿·Ý
¡¡¡¡ÎïÀí²ãÉÏÓÐÐí¶à²»Í¬ÀàÐ͵ÄÍøÂç½Ó¿ÚÉ豸, ÔÚÎļþinclude/linux/if_arp.hµÄ28ÐÐÀﶨÒåÁËARPÄÜ´¦ÀíµÄ¸÷ÖÖµÄÎïÀíÉ豸µÄ±êÖ¾·û¡£ÍøÂçÉ豸½Ó¿ÚÒª¸ºÔð¾ßÌåÎïÀí½éÖʵĿØÖÆ£¬´ÓÎïÀí½éÖʽÓÊÕÒÔ¼°·¢ËÍÊý¾Ý£¬²¢¶ÔÎïÀí½éÖʽøÐÐÖîÈç×î´óÊý¾Ý°üÖ®ÀàµÄ¸÷ÖÖÉèÖá£ÕâÀïÎÒÃÇÒԱȽϼòµ¥µÄ3Com3c501 Ì«Íø¿¨µÄÇý¶¯³ÌÐòΪÀý£¬´ó¸Å½²Ò»ÏÂÕâ²ãµÄ¹¤×÷ÔÀí¡£Ô´ÂëÔÚLinux/drivers/net/3c501.c¡£
ÎÒÃÇ´ÓÖ±¾õÉÏÀ´¿¼ÂÇ£¬Ò»¸öÍø¿¨µ±È»×îÖ÷ÒªµÄÊÇÍê³ÉÊý¾ÝµÄ½ÓÊպͷ¢ËÍ£¬ÔÚÕâÀïÎÒÃÇÀ´¿´¿´½ÓÊպͷ¢Ë͵Ĺý³ÌÊÇÔõôÑùµÄ¡£
¡¡¡¡·¢ËÍÏà¶ÔÀ´Ëµ±È½Ï¼òµ¥£¬ÔÚLinux/drivers/net/3c501.cµÄÐÐ475 ¿ªÊ¼µÄel_start_xmit()Õâ¸öº¯Êý¾ÍÊÇʵ¼ÊÏò3Com3c501ÒÔÌ«Íø¿¨·¢ËÍÊý¾ÝµÄº¯Êý£¬¾ßÌåµÄ·¢Ë͹¤×÷²»ÍâºõÊǶÔһЩ¼Ä´æÆ÷µÄ¶Áд£¬Ô´ÂëµÄ×¢ÊͺÜÇå³þ£¬´ó¼Ò¿ÉÒÔ¿´¿´¡£
¡¡¡¡½ÓÊյŤ×÷Ïà¶ÔÀ´Ëµ±È½Ï¸´ÔÓ¡£Í¨³£À´Ëµ£
Ïà¹ØÎĵµ£º
¹¦ÄÜ˵Ã÷£ºÇãµ¹ÍøÂç´«ÊäÊý¾Ý¡£
Óï¡¡¡¡·¨£ºtcpdump [-adeflnNOpqStvx][-c<Êý¾Ý°üÊýÄ¿>][-dd][-ddd][-F<±í´ïÎļþ>][-i<ÍøÂç½çÃæ>][-r<Êý¾Ý°üÎļþ>][-s<Êý¾Ý°ü´óС>][-tt][-T<Êý¾Ý°üÀàÐÍ>][-vv][-w<Êý¾Ý°üÎļþ>][Êä³öÊý¾ÝÀ¸Î»]
²¹³ä˵Ã÷£ºÖ´ÐÐtcpdumpÖ¸Áî¿ÉÁгö¾¹ýÖ¸¶¨ÍøÂç½çÃæµ ......
1.¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
Òª¸ù¾Ý¶¯Ì¬¿âÖÐҩʹÓõĺ¯Êý£¬ÔÚÍâÃ涨ÒåͬÑùÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ£¬¹©ÒÔºóʹÓÃ
typedef unsigned long(*POpenDev)(IN unsigned long int);
2. ¶¨Ò庯ÊýÖ¸Õë
POpenDev OpenDev;
3.¶¯Ì¬¼ÓÔض¯Ì¬¿â
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);
......
++++++++++++++++++++++++++++++++++++++++++++++++
¼¼Êõ×ÊÁϱ¸·Ý
++++++++++++++++++++++++++++++++++++++++++++++++
0¡¢¼ÜÉèSamba ·þÎñÆ÷µÄÇ°Ì᣻
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ£¬¶ÔÈκηþÎñÆ÷µÄ¼ÜÉèÓ붼Óû§¡¢Óû§×鼰ȨÏÞÏà¹Ø£¬ÕâÊDzÙ×÷µÄ»ù´¡¡£Samba·þÎñÆ÷Ò²²»ÀýÍ⣬¶ÔÕâЩ֪ʶµÄÕÆÎÕÒ²ÊǼ«ÎªÖØÒªµÄ¡£ÔÚWindowsϵͳ ......
......
1 Ç°ÑÔ
Ðí¶àÈËÔÚ·ÖÎölinux´úÂëʱ¶ÔÍøÂ粿·Ö£¨Ö÷ÒªÊÇsrc/linux/net£¬src/linux/include/net¼°src/linux/include/linuxĿ¼ÏµÄÎļþ£©±È½Ï¸ÐÐËȤ£¬È·Êµ£¬¾¡¹ÜÒѾ´ÓÊé±¾ÉÏѧµ½ÁË´óÁ¿µÄTCP/IPÔÀí£¬²»¶ÁÔ´ÂëµÄ»°£¬Í·ÄÔÖл¹Êǽ¨Á¢²»Æð¾ßÌåµÄÓ¡Ï󡣶ø·ÖÎöÕⲿ·Ö´úÂëµÄÒ»¸öÎÊÌâ±ãÊÇ´úÂëÖÚ¶à¶ø×ÊÁϺÜÉÙ¡£ÕâƪÎÄÕµÄÄ¿µÄ¾ÍÊǹ´ÀÕ³ö ......