½èÖúsnifferÕï¶ÏLinuxÍøÂç¹ÊÕÏ
Ðá̽Æ÷(sniffer)ÔÚÍøÂ簲ȫÁìÓòÊÇÒ»°ÑË«Èн££¬Ò»·½Ãæ³£±»ºÚ¿Í×÷ΪÍøÂç¹¥»÷¹¤¾ß£¬´Ó
¶øÔì³ÉÃÜÂë±»µÁ¡¢Ãô¸ÐÊý¾Ý±»ÇԵȰ²È«Ê¼þ£»ÁíÒ»·½ÃæÓÖÔÚÐÖúÍøÂç¹ÜÀíÔ±¼à²âÍøÂç×´¿ö¡¢Õï¶ÏÍøÂç¹ÊÕÏ¡¢ÅųýÍøÂçÒþ»¼µÈ·½ÃæÓÐ×Ų»¿ÉÌæ´úµÄ×÷Óá£Ðá̽Æ÷ÊÇÆóÒµ
±Ø²»¿ÉÉÙµÄÍøÂç¹ÜÀí¹¤¾ß¡£±¾ÎÄÒÔLinuxƽ̨ÏÂÈý¸ö³£ÓõÄÍøÂçÐá̽Æ÷Tcpdump¡¢EtherealºÍEtherApeΪÀý£¬½éÉÜÈçºÎ½èÖú
snifferÀ´Õï¶ÏÍøÂç¹ÊÕÏ£¬´Ó¶ø±£ÕÏÍøÂç¸ßЧ°²È«µØÔËÐС£
¼ò½é
Ðá̽Æ÷(sniffer)ÓÖ³ÆΪ°üÐá̽Æ÷£¬ÊÇÓÃÀ´½Ø»ñ¼ÆËã»úÍøÂçͨÐÅÊý¾ÝµÄÈí¼þ»òÓ²
¼þ¡£Óëµç»°µç·²»Í¬£¬¼ÆËã»úÍøÂçÊǹ²ÏíͨÐÅͨµÀµÄ£¬´Ó¶øÒâζ×Åÿ̨¼ÆËã»ú¶¼¿ÉÄܽÓÊÕµ½·¢Ë͸øÆäËü¼ÆËã»úµÄÐÅÏ¢£¬²¶»ñÔÚÍøÂçÖд«ÊäµÄÊý¾ÝÐÅϢͨ³£±»³ÆΪ¼àÌý
(sniffing)¡£Ðá̽Æ÷³£³£×÷ΪһÖÖÊÕ¼¯ÍøÂçÖÐÌض¨Êý¾ÝµÄÓÐЧ·½·¨£¬ÊÇÀûÓüÆËã»úµÄÍøÂç½Ó¿Ú½Ø»ñÄ¿µÄµØΪÆäËü¼ÆËã»úÊý¾Ý±¨ÎĵÄÒ»ÖÖ¹¤¾ß¡£
Ðá̽Æ÷¹¤×÷ÔÚÍøÂç»·¾³Öеĵײ㣬¿ÉÒÔÀ¹½ØËùÓÐÕýÔÚÍøÂçÉÏ´«Ë͵ÄÊý¾Ý£¬´Ó¶ø³ÉΪÍøÂ簲ȫµÄÒ»¸ö¾Þ´óÍþв¡£Í¨¹ý¶ÔÍøÂç½øÐÐÐá̽£¬Ò»Ð©¶ñÒâÓû§Äܹ»ºÜÈÝÒ×µØÇÔÈ¡µ½¾øÃÜÎĵµºÍÃô¸ÐÊý¾Ý£¬Òò´ËÐá̽Æ÷¾³£±»ºÚ¿Íµ±×÷ÍøÂç¹¥»÷µÄÒ»ÖÖ»ù±¾ÊֶΡ£
Èκι¤¾ß¶¼Óб×ÓÐÀû£¬Ðá̽Æ÷¼È¿ÉÒÔ×÷ΪºÚ¿Í»ñµÃ·Ç·¨Êý¾ÝµÄÊֶΣ¬µ«Í¬Ê±¶ÔÍøÂç¹ÜÀíÔ±
À´½²ÓÖÊÇÖ¹ØÖØÒªµÄ¡£Í¨¹ýÐá̽Æ÷£¬¹ÜÀíÔ±¿ÉÒÔÕï¶Ï³öÍøÂçÖдóÁ¿µÄ²»¿É¼ûÄ£ºýÎÊÌâ¡£ÕâЩÎÊÌâͨ³£»áÉæ¼°µ½¶ą̀¼ÆËã»úÖ®¼äµÄÒ쳣ͨÐÅ£¬¶øÇÒ¿ÉÄÜ»áÇ£Éæµ½¶àÖÖͨ
ÐÅÐÒé¡£½èÖúÐá̽Æ÷£¬¹ÜÀíÔ±»¹¿ÉÒԺܷ½±ãµØÈ·¶¨³öÄÄЩͨÐÅÁ¿ÊôÓÚij¸öÌض¨µÄÍøÂçÐÒé¡¢Õ¼Ö÷ҪͨÐÅÁ¿µÄÖ÷»úÊÇÄĄ̈¡¢¸÷´ÎͨѶµÄÄ¿±êÊÇÄĄ̈Ö÷»ú¡¢±¨ÎÄ·¢ËÍÕ¼ÓÃ
¶àÉÙʱ¼ä¡¢¸÷Ö÷»ú¼ä±¨ÎÄ´«µÝµÄ¼ä¸ôʱ¼äµÈ¡£ÕâЩÐÅϢΪ¹ÜÀíÔ±ÅжÏÍøÂçÎÊÌâ¼°ÓÅ»¯ÍøÂçÐÔÄÜ£¬ÌṩÁËÊ®·Ö±¦¹óµÄÐÅÏ¢¡£
×÷ΪһÖÖ·¢Õ¹±È½Ï³ÉÊìµÄ¼¼Êõ£¬Ðá̽Æ÷ÔÚÐÖú¼à²âÍøÂçÊý¾Ý´«Êä¡¢ÅųýÍøÂç¹ÊÕϵȷ½
ÃæÓÐ×Ų»¿ÉÌæ´úµÄ×÷Ó㬱¶ÊÜÍøÂç¹ÜÀíÔ±µÄÇàíù¡£¿ÉÒÔͨ¹ý·ÖÎöÍøÂçÁ÷Á¿À´È·¶¨ÍøÂçÉÏ´æÔڵĸ÷ÖÖÎÊÌ⣬ÈçÆ¿¾±Ð§Ó¦»òÐÔÄÜϽµ£»Ò²¿ÉÒÔÓÃÀ´ÅжÏÊÇ·ñÓкڿÍÕýÔÚ¹¥
»÷ÍøÂçϵͳ¡£Èç¹û»³ÒÉÍøÂçÕýÔÚÔâÊܹ¥»÷£¬Í¨¹ýÐá̽Æ÷½Ø»ñµÄÊý¾Ý°ü¿ÉÒÔÈ·¶¨ÕýÔÚ¹¥»÷ϵͳµÄÊÇʲôÀàÐ͵ÄÊý¾Ý°ü£¬ÒÔ¼°ËüÃǵÄÔ´Í·£¬´Ó¶ø¿ÉÒÔ¼°Ê±µØ×ö³öÏìÓ¦£¬»ò
Õ߶ÔÍøÂç½øÐÐÏàÓ¦µÄµ÷Õû£¬ÒÔ±£Ö¤ÍøÂçÔËÐеÄЧÂʺͰ²È«¡£
ÍøÂç¹ÜÀíÔ±ÔÚ¼ì²âÍøÂç¹ÊÕϼ°Î¬»¤ÍøÂçÕý³£Í¨ÐŵĹý³ÌÖУ¬¾³£ÐèÒª½èÖúÐá̽Æ÷ÌṩµÄijЩ¹¦ÄÜ¡£Ò»°ãµÄÐá̽Æ÷¶¼ÌṩÒÔÏÂһЩ¹¦ÄÜ£º
1. ×Ô¶¯´ÓÍøÂçÖй
Ïà¹ØÎĵµ£º
ͨ³£Çé¿öÏ£¬ÎÒÃÇ´ÓÃüÁîÐÐÊäÈëÃüÁîÿÊäÈëÒ»´Î¾ÍÄܹ»µÃµ½ÏµÍ³µÄÒ»´ÎÏìÓ¦¡£Ò»µ©ÐèÒªÎÒÃÇÒ»¸ö½Ó×ÅÒ»¸öµÄÊäÈëÃüÁî¶ø×îºó²ÅµÃµ½½á¹ûµÄʱºò£¬ÕâÑùµÄ×ö·¨ÏÔÈ»¾ÍûÓÐЧÂÊ¡£Òª´ïµ½ÕâÑùµÄÄ¿µÄ£¬Í¨³£ÎÒÃÇÀûÓÃshell³ÌÐò»òÕßshell½Å±¾À´ÊµÏÖ¡£
Ò»¡¢¼ò½é
Shell±à³ÌÓкܶàÀàËÆCÓïÑÔºÍÆäËû³ÌÐòÓïÑÔµÄÌØÕ÷£¬µ«ÊÇÓÖûÓбà³ÌÓïÑÔÄÇÑù¸´ÔÓ¡£ ......
setitimer()ÊDZȽϾ«×¼µÄ¶¨Ê±Æ÷£¬ÊÇLinuxµÄAPI
ÒÔÏ´úÂëÊǸöµ¹¼ÆʱÀý×Ó£º
#include <signal.h>
#include <sys/time.h>
static int time_count=30;
static void sigalrm_handler(int sig)
{
time_count--;
printf("timer signal.. %d\n", time_count);
}
struct itimerval v; ......
Linux select()Ïê½â
selectϵͳµ÷ÓÃÊÇÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±ú(file descriptor)µÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐijһ¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
ÎļþÔÚ¾ä±úÔÚLinuxÀïºÜ¶à£¬Èç¹ûÄãmanij¸öº¯Êý£¬ÔÚº¯Êý·µ»ØÖµ²¿·Ö˵µ½³É¹¦ºóÓÐÒ»¸öÎļþ¾ä±ú±»´´½¨µÄ¶¼ÊÇ ......
Linux® ¿É¼ÓÔØÄÚºËÄ£¿é£¨´ÓÄÚºËµÄ 1.2 °æ±¾¿ªÊ¼ÒýÈ룩ÊÇ Linux Äں˵Ä×îÖØÒª´´ÐÂÖ®Ò»¡£ËüÃÇÌṩÁË¿ÉÉìËõµÄ¡¢¶¯Ì¬µÄÄںˡ£Ì½Ë÷Òþ²ØÔڿɼÓÔØÄ£¿éºóÃæµÄÔÀí£¬²¢Ñ§Ï°ÕâЩ¶ÀÁ¢µÄ¶ÔÏóÈçºÎ¶¯Ì¬µØת»»³É Linux Äں˵ÄÒ»²¿·Ö¡£
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©
£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆΪÄÚº ......
½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ Linux ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬ Linux ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
×ݹÛÈ«¾Ö£¬ÆÕ¼°×ÀÃæ Linux µÄ×î´óÕÏ°Ö®Ò»ÊÇϵͳ°²×°µÄ²Ù×÷À§ÄÑÐÔ¡£Ô¤×° Windows Òѳɴó ......