E-Detective
ºô¸ôºÊÅ¥¨t²Î¤§¤u§@ì²z ¥Ò.
Snifferºô¸ô°ò¦ì²z§Þ¥©¸Ô¸Ñ ¤@¡BSniffer¾ú¥v Sniffer¬O¤@Ó¥j¦Ñªº§Þ³N¡AÃö©óÀb«È¡BºôºÞ¡Bĵ¹î¤Î±¡³ø¤Hû¦bºô¸ô¤W¨Ï¥ÎSniffer¨ÓÀò¨ú¸ê°T¤w¸g¤£¬O¤°»ò·sÂA¨Æ¡A¹L¥h¦³«Ü¦h¦¨¥\¯}®×ªº®×¨Ò¡C¤°»ò¬OSniffer©O¡H Sniffer´N¬Oºô¸ôÅÑÅ¥¾¹¡ASnifferÀR®¨®¨ªº¤u§@¦bºô¸ôªº©³¼h¡A§â§Aªº¯µ±K¥þ³¡°O¿ý¤U¨Ó¡C¬Ý¹L«Âº¸¥v±K´µºtªº¡m¥þ¥Á¤½¼Ä¡n¹q¼v¶Ü¡H Sniffer´N¹³¹q¼vùرºë¥©ªºÅÑÅ¥¾¹¤@¼Ë¡AÅý§A¨¾¤£³Ó¨¾ªº¥ý¶i§Þ³N¤Î³]³Æ¡C Sniffer¥i¥H¬O³nÅé¡A¤]¥i¥H¬Oµ²¦X¤F³nÅ骺µwÅé(Appliance)¡A¬JµM¬O³nÅ騺´Nn¤À§@·~¨t²Î¡A±`¨£ªº¦³¦bWindows¡B UNXI ¡BLinux ¡BFreeBSDµ¥§@·~¨t²Î¤U¾Þ§@ªº¡AµwÅ骺SnifferºÙ¬°ºô¸ô«Ê¥]±´¶å¾¹¡A¤£½×¬OµwÅé³]³Æ©ÎªÌ¬O³nÅé¡A¥\¯à¥Øªº¥u¦³¤@Ó¡A´N¬OnÂ^¨ú¦bºô¸ô¤W¶Ç¿éªº¦UºØ«Ê¥]¤Î¸ê°T¡C ·í §A¦b¦¬¨ú§AªºEmail®É©ÎªÌ¬O¤WeBayÁʶR§A³ßÅwªºª««~ªº®ÉÔ¡A§A¬O§_·|·Q¨ì§AªºªB¤Í±Hµ¹§Aªº¹q¤l¶l¥ó¡A§Aªº«H¥Î¥d±b¸¹Åܦ¨¤F¤@Ó¤S¤@Óªº¸ê°T«Ê¥]¦b ºô¸ô¤W¤£°±ªº¶Ç°e®É¡A¨Ç¸ê°T«Ê¥]·|³Q¦³¤ß¤H¤hºÊÅ¥©O¡H§Aªº¾á¼~¤£¬O¨S¦³¹D²zªº¡A¦]¬°Sniffer¥i¥HÅý§Aªº¾á¼~Åܦ¨¹ê»Úµo¥Íªº¦MÀI¡C´N¦p¦P¹q¸Ü½u¸ô¥i¥H ³QÅÑÅ¥¤@¼Ë¡C ¤G¡Bºô¸ô°ò¦ª¾ÃÑ ¦b¦¹Â²³æªº¤¶²Ð¤@¤Uºô¸ô°ò¦ª¾ÃÑ ¡]1¡^TCP/IPµ²ºc ¶}©ñ¨t²Î¤¬³s¡]OSI¡^¼Ò«¬±Nºô¸ô¹º¤À¬°¤C¼h¼Ò«¬¡A¤À§O¥Î¥H¦b¦U¼h¤W¹ê²{¤£¦Pªº¥\¯à¡C ³o¤C¼h¤À§O¬°¡GÀ³¥Î¼h¡Bªí¥Ü¼h¡B·|¸Ü¼h¡B¶Ç¿é¼h¡Bºô¸ô¼h¡B¸ê®Æ³sµ²¼h¤Îª«²z¼h¡C¦ÓTCP/IPÅé¨t¤]¦P¼Ë¿í´` ³o¤C¼h¼Ð·Ç¡A¥u¤£¹L¦b¬Y¨ÇOSI¥\¯à¤W¶i¦æ¤FÀ£ÁY¡A±Nªí¥Ü¼h¤Î·|¸Ü¼h¦X¨Ö¤JÀ³¥Î¼h¤¤¡A©Ò¥H¹ê»Ú¤W§ÚÌ¥´¥æ¹DªºTCP/IP¶È¶È¦³5¼h¦Ó¤w¡Aºô¸ô¤Wªº¤À¼hµ² ºc¨M©w¤F¦b¦U¼h¤Wªº¨óij¤À§G¤Î¥\¯à¹ê²{¡A±q¦Ó¨M©w¤F¦U¼h¤Wºô¸ô³]³Æªº¨Ï¥Î¡C¹ê»Ú¤W«Ü¦h¦¨¥\ªº¨t²Î³£¬O°ò©óOSI¼Ò«¬ªº¡A¦p¡G¦p«Ê¥]¤¤Ä~¡BATM¡BISDN µ¥¡C TCP/IPªººô¸ôÅé¨tµ²ºc ----------------------------------- | SMTP | DNS | HTTP | FTP | TELNET| À³¥Î¼h ----------------------------------- | TCP | UDP | ¶Ç¿é¼h ----------------------------------- | IP | ICMP | ARP RARP | ºô¸ô¼h ------------------------ | IEEE 802 ¤A¤Óºô SLIP/PPP PDN etc| ¸ê®Æ³sµ²¼h ----------------------------------- | ºô¥d ¹qÆl Âùµ±½u etc | ª«²z¼h ----------------------------------- ±q¤W±ªº¹Ï¤¤§ÚÌ¥i¥H¬Ý¥X¡A²Ä¤@¼hª«²z¼h©M²Ä¤G¼h¸ê®Æ³sµ²¼h¬OTCP/IPªº°ò¦¡A¦ÓTCP/IP¥»¨¨Ã¤£¤Q¤ÀÃö¤ß§C¼h¡A¦]¬°³B¦b¸ê®Æ³sµ²¼hªººô¸ô³]³ÆÅX°Êµ{¦¡±N¤W¼hªº¨ó©w©M¹ê»Úªºª«²z¤¶±¹jÂ÷¶}¨Ó¡Cºô¸ô³]³ÆÅX°Êµ{¦¡¦ì©ó¤¶½è³X°Ý¤l¼h(MAC)¡C ¡]2¡^©M«Ê¥]Â^¨ú¦³Ãöªººô¸ô³]³Æ ¸ô¥Ñ¾¹Router¡G¸ô¥Ñ¾¹¤SºÙ¬°¸ô®|¾¹¡A¥Î¤á¦bºô¸ô¼h¤W³s±µ¤£¦Pºô¸ô©Ò¥ÎªºµwÅé»P³nÅé¡A¸ô¥Ñ¾¹»P¾ô±µ¾¹ (Bridge) ªº¥\¯àÃþ¦ü¡AÂǵ۱N³\¦h¸û¤pªººô¸ô³sµ²¦b¤@°_¡A¥H«K¦³®ÄÂX¥Rºô¸ô¡C¸ô¥Ñ¾¹¥i¥H³s±µ¨Ï¥Î¤£¦Pºô»Úºô¸ô³q°T¨ó©w (IP ) ©M¶Ç¿é¤èªkªº°Ï°ìºô¸ô (LAN ) ¡C ¥æ´«¾÷Switch : §@¥Î¬O¦b³s±µ°Ï°ìºô¸ô¡A¨Ï±o²³¦h°Ï°ìºô¸ô³sµ²°_¨Ó¡A¦Ó¦¨¬°¤@Ó¤jªººô»Úºô¸ô¡C ¡]3¡^TCP/IP»P¤A¤Óºô¸ô ¤A¤Óºô¸ô©MTCP/IP¥i¥H»¡¬O¬Û¤¬¬Û¦¨ªº¡A¥i¥H»¡¨âªÌªºÃö«Y´X¥G¬O±K¤£¥i¤À¡A¤A¤Óºô¸ô¦b¤@©M¤G¼h´£¨Ñª«²z¤WªºÁp¾÷¡A¦Ó TCP/IP¤u§@¦b¤W¼h¡A¨Ï¥Î32¦ì¤¸ªºIP¦ì§}¡A¤A¤Óºô«h¨Ï¥Î48¦ì¤¸ªºMAC¦ì§}¡A¨âªÌ¶¡¨Ï¥ÎARP©MRARP¨óij¶i¦æ¬Û¤¬Âà´«¡C±q§Ṳ́W± TCP/IPªº¼Ò«¬¹Ï¤¤¥i¥H²M·¡ªº¬Ý¨ì¨âªÌªºÃö«Y¡C ¸üªiºÊÅ¥/½Ä¬ðÀË´ú(CSMA/CD)§Þ³N³Q´¶¹Mªº¨Ï¥Î¦b¤A¤Óºô¤¤¡A©Ò¿×¸üªiºÊÅ¥¬O«ü¦b¤A¤Óºô¤¤ªº¨CÓ¯¸ÂI³£ ¨ã¦³¦Pµ¥ªºÅv§Q¡A¦b¶Ç¿é¦Û¤vªº¸ê®Æ®É¡Aº¥ýºÊÅ¥«H¹D¬O§_ªÅ¶¢¡A¦pªGªÅ¶¢¡A´N¶Ç¿é¦Û¤vªº¸ê®Æ¡A¦pªG³q¹D³Q¦û¥Î¡A´Nµ¥«Ý³q¹DªÅ¶¢¡C¦Ó½Ä¬ðÀË´ú«h¬O¬°¤F¨¾¤îµo¥Í ¨âÓ¯¸ÂI¦P®ÉºÊ´ú¨ìºô¸ô¨S¦³³Q¨Ï¥Î®É¦Ó²£¥Í½Ä¬ð¡C¤A¤Óºô±Ä¥Î¼s¼½¾÷¨î¡A©Ò¦³»Pºô¸ô³s±µªº¤u§@¯¸³£¥i¥H¬Ý¨ìºô¸ô¤W¶Ç»¼ªº¸ê®Æ¡C ¤U±ªº¹Ï¬O¤@Ө嫬ªº¦b¤A¤Óºô¤¤«È¤á»P¦øªA¾¹¨Ï¥Î TCP/IP¨óijªº³q«H¡C ¥Î¤á¶iµ{ FTP«È¤á <-------------------------> FTP¦øªA¾¹ À³¥Î¼h | | ¤º®Ö¤¤ªº¨óij´Ì TCP <-------------------------> TCP ¶Ç¿é¼h | | ¤º®Ö¤¤ªº¨ó©w´Ì IP <-------------------------> IP ºô¸ô¼h | | ¤A¤ÓºôÅX°Êµ{¦¡ <-------------------------> ¤A¤ÓºôÅX°Êµ{¦¡ ¸ê®Æ³sµ²¼h ¢w¢w¢w¢w¢w¢w------------------------------- ¤T¡BSnifferªºì²z nª¾¹D¦b¤A¤Óºô¤¤¡A©Ò¦³ªº³q°T³£¬O¼s¼½ªº¡A¤]´N¬O»¡³q±`¦b¦P¤@Óºô¬qªº©Ò¦³ºô¸ô¤¶±³£¥i¥H³X°Ý¦bª«²z´CÅé¤W¶Ç¿éªº©Ò¦³¸ê®Æ¡A¦Ó¨C¤@Óºô¸ô¤¶±³£¦³¤@Ӱߤ@ªºµwÅé¦ì§}¡A³oÓµwÅé¦ì§}¤]´N¬Oºô¥dªºMAC¦ì§}¡A¤j¦h¼Æ¨t²Î¨Ï¥Î48 bitªº¦ì§}¡A³oÓ¦ì§}¥Î¨Óªí¥Üºô¸ô¤¤ªº¨C¤@Ó³]³Æ¡A¤@¯ë¨Ó»¡¨C¤@¶ôºô¥d¤WªºMAC¦ì§}³£¬O¤£¦Pªº¡A¨CÓºô¥d¼t®a±o¨ì¤@¬q¦ì§}¡AµM«á¥Î³o¬q¦ì§}¤À°tµ¹¨ä¥Í²£ªº¨CÓºô¥d¤@Ó¦ì§}¡C¦bµwÅé¦ì§}©MIP¦ì§}¶¡¨Ï¥ÎARP©MRARP¨óij¶i¦æ¬Û¤¬Âà´«¡C ¦b¥¿±`ªº±¡ªp¤U¡A¤@Óºô¸ô¤¶±À³¸Ó¥u¦^À³³o¼Ëªº¨âºØ«Ê¥]¸ê®Æ¡G 1.»P¦Û¤vµwÅé¦ì§}¬Û¤Ç°tªº«Ê¥]¸ê®Æ¡C 2.µo¦V©Ò¦³¾÷¾¹ªº¼s¼½«Ê¥]¸ê®Æ¡C ¦b¤@Ó¹ê»Úªº¨t²Î¤¤¡A¸ê®Æªº¦¬µo¬O¥Ñºô¸ô¥d¨Ó§¹¦¨¤u§@ªº¡Aºô¥d±µ¦¬¨ì¶Ç¿é¨Óªº¸ê®Æ¡Aºô¥d¤ºªº³æ¤ùµ{¦¡±µ¦¬¸ê®Æ «Ê¥]ªº¥ØªºMAC¦ì§}¡A®Ú¾Ú¹q¸£¤Wªººô¥dÅX°Êµ{¦¡³]¸mªº±µ¦¬¼Ò¦¡§PÂ_¸Ó¤£¸Ó±µ¦¬¡A»{¬°¸Ó±µ¦¬´N±µ¦¬«á²£¥Í¤¤Â_«H¸¹³qª¾CPU¡A»{¬°¤£¸Ó±µ¦¬´N¥á±¼¤£ºÞ¡A©Ò ¥H¤£¸Ó±µ¦¬ªº¸ê®Æºô¥d´NºIÂ_¤F¡A¹q¸£®Ú¥»´N¤£ª¾¹D¡CCPU±o¨ì¤¤Â_«H¸¹²£¥Í¤¤Â_¡A§@·~¨t²Î´N®Ú¾Úºô¥dªºÅX°Êµ{¦¡³]¸mªººô¥d¤¤Â_µ{¦¡¦ì§}½Õ¥ÎÅX°Êµ{¦¡±µ¦¬¸ê ®Æ¡AÅX°Êµ{¦¡±µ¦¬¸ê®Æ«á©ñ¤J«H¸¹°ïÅ|Åý§@·~¨t²Î³B²z¡C¦Ó¹ï©óºô¥d¨Ó»¡¤@¯ë¦³¥|ºØ±µ¦¬¼Ò¦¡¡G
Á` µ²¤@¤U¡Aº¥ý¡A§Ú̪¾¹D¤F¦b¤A¤Óºô¸ô¤¤¬O°ò©ó¼s¼½¤è¦¡¶Ç°e¸ê®Æªº¡A¤]´N¬O»¡¡A©Ò¦³ªº¹êÅé«H¸¹³£n¸g¹L§Úªº¾÷¾¹¡A¦A¦¸¡Aºô¥d¥i¥H¸m©ó¤@ºØ¼Ò¦¡¥s²VÂø¼Ò¦¡ ¡]promiscuous¡^¡A¦b³oºØ¼Ò¦¡¤U¤u§@ªººô¥d¯à°÷±µ¦¬¨ì¤@¤Á³q¹L¥¦ªº¸ê®Æ¡A¦Ó¤£ºÞ¹ê»Ú¤W¸ê®Æªº¥Øªº¦a§}¬O¤£¬O¥L¡C³o¹ê»Ú¤W´N¬O§ÚÌSniffer ¤u§@ªº°ò¥»ì²zÅýºô¥d±µ¦¬¤@¤Á¥L©Ò¯à±µ¦¬ªº¸ê®Æ¡C §Ų́Ӭݤ@Ó²³æªº¨Ò¤l¡A¾÷¾¹A¡BB¡BC»P¶°½u¾¹HUB¬Û³s±µ¡A¶°½u¾¹HUB³q¹L¸ô¥Ñ¾¹Router³X°Ý ¥~³¡ºô¸ô¡C³o¬O¤@ӫܲ³æ¤]«Ü±`¨£ªº±¡ªp¡A¤ñ¦p»¡¦b¤½¥q¤j¼ÓùØ¡A§Ú©Ò¦bªººô¸ô³¡¿ì¤½«Çùتº´X¥x¾÷¾¹³q¹L¶°½u¾¹³s±µ¡A¦Óºô¸ô³¡¡B¶}µo³¡¡B¥«³õ³¡¤]¬O¦P¼Ë¦p ¦¹¡A´XÓ³¡ªùªº¶°½u¾¹³q¹L¸ô¥Ñ¾¹³s±µ¡CÁÙ¬O¦^¨ì§Ú̪º¹Ï¤@¤W¨Ó¡Aȱoª`·Nªº¤@ÂI¬O¾÷¾¹A¡BB¡BC¨Ï¥Î¤@Ó´¶³qªºHUB³s±µªº¡A¤£¬O¥ÎSWITCH¡A¤]¤£¬O ¥ÎROUTER¡A¨Ï¥Î SWITCH©MROUTERªº±¡ªpn¤ñ³o½ÆÂø±o¦h¡C ![]() §Ú ̰²³]¤@¤U¾÷¾¹A¤WªººÞ²zû¬°¤FºûÅ@¾÷¾¹C¡A¨Ï¥Î¤F¤@ÓFTP©R¥O¦V¾÷¾¹C¶i¦æ»·ºÝµn³°¡A¨º»ò¦b³oÓ¥ÎHUB³s±µªººô¸ôùØ¸ê®Æ¨«¦V¹Lµ{¬O³o¼Ëªº¡Cº¥ý¾÷¾¹ A¤WªººÞ²zû¿é¤Jªºµn³°¾÷¾¹CªºFTP©R¥O¸g¹LÀ³¥Î¼hFTP¨ó©w¡B¶Ç¿é¼hTCP¨ó©w¡Bºô¸ô¼hIP¨ó©w¡B¸ê®Æ³sµ²¼h¤Wªº¤A¤Óºô¸ôÅX°Êµ{¦¡¤@¼h¤@¼hªº¥]»q¡A³Ì «á°e¨ì¤Fª«²z¼h¡A§Ú̪ººô½u¤W¡C±µ¤U¨Ó«Ê¥]¸ê®Æ°e¨ì¤FHUB¤W¡A²{¦b¥ÑHUB¦V¨C¤@Ó±µÂI¼s¼½¥Ñ¾÷¾¹Aµo¥Xªº«Ê¥]¸ê®Æ¡A¾÷¾¹B ±µ¦¬¨ì¥ÑHUB¼s¼½µo¥Xªº«Ê¥]¸ê®Æ¡A¨ÃÀˬd¦b«Ê¥]¸ê®Æ¤¤ªº¦ì§}¬O§_©M¦Û¤vªº¦a§}¬Û¤Ç°t¡Aµo²{¤£¬Oµo¦V¦Û¤vªº«á§â³o«Ê¥]¸ê®Æ¥á±ó¡A¤£¤©²z¸B¡C¦Ó¾÷¾¹C¤]±µ¦¬ ¨ì¤F«Ê¥]¸ê®Æ¡A¨Ã¦b¤ñ¸û¤§«áµo²{¬Oµo²{¦Û¤vªº¡A±µ¤U¨Ó¥L´N¹ï³o«Ê¥]¸ê®Æ¶i¦æ¤ÀªR³B²z¡C ¦b¤W±³oÓ²³æªº¨Ò¤l¤¤¡A¾÷¾¹B¤WªººÞ²zû¦pªG«Ü¦n©_¡A¥L«Ü·Qª¾¹D¨s³ºµn³°¾÷¾¹C¤WFTP©R¥O¬O¤°»ò¡H¨º»ò¥Ln°µªº«Ü²³æ¡A¶È¶È»Ýn§â¦Û¤v¾÷¾¹¤Wªººô¥d¸m©ó²VÂø¼Ò¦¡¡A¨Ã¹ï±µ¦¬¨ìªº«Ê¥]¸ê®Æ¶i¦æ¤ÀªR¡A±q¦Ó§ä¨ì¦x¥]§t¦b«Ê¥]¸ê®Æ¤¤ªº¸ê°T¡C ¥|¡B°µ¤@Ó¦Û¤vªºsniffer ¦b¤W¤@¸`ùØ¡A§Ṳ́w¸gª¾¹D¤FSnifferªº°ò¥»ì²z¬O«ç»ò¤@¦^¨Æ¡A³o¤@¸`§Ų́ӿ˦۰ʤⰵ¤@Ó¦Û¤vªºsniffer¡A¥Îµ{¦¡½X¨Ó¸ÑÄÀ¤ñ¤°»ò³£n¨Ó±o¯u¹ê¡A¤]§ó®e©ö²z¸Ñ¡C ¦^ÀY·Q¤@·Q§Ṳ́W±»¡ªºì²z¡A§ÚÌn°µªº¨Æ±¡¦³´X¥ó¡G 1. §âºô¥d¸m©ó²VÂø¼Ò¦¡¡C 2. Â^¨ú¼Æ¾Ú¥]¡C 3. ¤ÀªR¸ê®Æ¥]¡C ª`¡G¤U±ªº·½©l½X¨ú¦ÜChad Renfroªº<< Basic Packet-Sniffer Construction from the Ground Up>>¤@¤å¤¤ /************************Tcp_sniff_2.c********************/ 1.#include 2.#include 3.#include 4.#include 5.#include 6.#include 7.#include 8.#include 9.#include "headers.h" #define INTERFACE "eth0" /*Prototype area*/ 10.int Open_Raw_Socket(void); 11.int Set_Promisc(char *interface, int sock); 12.int main() { 13.int sock, bytes_recieved, fromlen; 14.char buffer[65535]; 15.struct sockaddr_in from; 16.struct ip *ip; 17.struct tcp *tcp; 18.sock = Open_Raw_Socket(); 19. Set_Promisc(INTERFACE, sock); 20. while(1) 22. { 23. fromlen = sizeof from; 24. bytes_recieved = recvfrom(sock, buffer, sizeof buffer, 0, (struct sockaddr *)&from, &fromlen); 25. printf("\nBytes received ::: %5d\n",bytes_recieved); 26. printf("Source address ::: %s\n",inet_ntoa(from.sin_addr)); 27. ip = (struct ip *)buffer; /*See if this is a TCP packet*/ 28. if(ip->ip_protocol == 6) { 29. printf("IP header length ::: %d\n",ip->ip_length); 30. printf("Protocol ::: %d\n",ip->ip_protocol); 31. tcp = (struct tcp *)(buffer + (4*ip->ip_length)); 32. printf("Source port ::: %d\n",ntohs(tcp->tcp_source_port)); 33. printf("Dest port ::: %d\n",ntohs(tcp->tcp_dest_port)); 34. } 35. } 36.} 37.int Open_Raw_Socket() { 38. int sock; 39. if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { /*Then the socket was not created properly and must die*/ 40. perror("The raw socket was not created"); 41. exit(0); 42. }; 43. return(sock); 44. } 45.int Set_Promisc(char *interface, int sock ) { 46. struct ifreq ifr; 47. strncpy(ifr.ifr_name, interface,strnlen(interface)+1); 48. if((ioctl(sock, SIOCGIFFLAGS, &ifr) == -1)) { /*Could not retrieve flags for the interface*/ 49. perror("Could not retrive flags for the interface"); 50. exit(0); 51. } 52. printf("The interface is ::: %s\n", interface); 53. perror("Retrieved flags from interface successfully"); 54. ifr.ifr_flags |= IFF_PROMISC; 55. if (ioctl (sock, SIOCSIFFLAGS, &ifr) == -1 ) { /*Could not set the flags on the interface */ 56. perror("Could not set the PROMISC flag:"); 57. exit(0); 58. } 59. printf("Setting interface ::: %s ::: to promisc", interface); 60. return(0); 61. } /***********************EOF**********************************/ ¤W±³o¬qµ{¦¡¤¤¦³«Ü¸Ô²Óªºµù¸Ñ¡Aº¥ý ²Ä10¦æ--int Open_Raw_Socket(void); ¬O§Ú̪º¦Û©w¨ç¼Æ¡A¤º®e¦p¤U¡G 37.int Open_Raw_Socket() { 38. int sock; 39. if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { /*Then the socket was not created properly and must die*/ 40. perror("The raw socket was not created"); 41. exit(0); 42. }; 43. return(sock); 44. } ²Ä39¦æ if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { ³oùاŲ́ϥΤFsocket¨ç¼Æ¡A¨Ï³Ð«Ø¤F¤@Óì©l®M¥ó¤¶±¡A¨Ï¤§Â^¨úTCP/IP«Ê¥]¸ê®Æ¡C ±µ¤U¨Ó²Ä11¦æ-int Set_Promisc(char *interface, int sock)¡A³o¤]¬O§Ú̪º¦Û©w¨ç¼Æ¡A¥Øªº¬O§âºô¥d³]©w¨ì²VÂø¼Ò¦¡¡A¤º®e¦p¤U¡G 45.int Set_Promisc(char *interface, int sock ) { 46. struct ifreq ifr; 47. strncpy(ifr.ifr_name, interface,strnlen(interface)+1); 48. if((ioctl(sock, SIOCGIFFLAGS, &ifr) == -1)) { /*Could not retrieve flags for the interface*/ 49. perror("Could not retrive flags for the interface"); 50. exit(0); 51. } 52. printf("The interface is ::: %s\n", interface); 53. perror("Retrieved flags from interface successfully"); 54. ifr.ifr_flags |= IFF_PROMISC; 55. if (ioctl (sock, SIOCSIFFLAGS, &ifr) == -1 ) { /*Could not set the flags on the interface */ 56. perror("Could not set the PROMISC flag:"); 57. exit(0); 58. } 59. printf("Setting interface ::: %s ::: to promisc", interface); 60. return(0); 61. } º¥ý struct ifreq ifr;©w¤@¤F¤@Óifrregªºµ²ºcifr¡A±µ¤U¨Óstrncpy(ifr.ifr_name, interface,strnlen(interface)+1);¡A´N¬O§â§Ú̺ô¸ô³]³Æªº¦W¦r¶ñ¼g¨ìifrµ²ºc¤¤¡A¦b³oùØ #define INTERFACE "eth0" ¡AÅý§Ú̦A©¹¤U¬Ý, ioctl(sock, SIOCGIFFLAGS, &ifr),SIOCGIFFLAGS½Ð¨Dªí¥Ü»ÝnÀò¨ú¤¶±¼Ð»x¡A²{¦b¨ì¤F²Ä54¦æ¡A¦b§Ú̦¨¥\ªºÀò¨ú¤¶±¼Ð»x«á§â¥L³]©w¦¨²VÂø¼Ò¦¡¡A ifr.ifr_flags |= IFF_PROMISC;ioctl (sock, SIOCSIFFLAGS, &ifr)¡COK¡A²{¦b§Ú̩һ¡ªº²Ä¤@¨B¤w¸g§¹¦¨--------§âºô¥d³]©w¦b²VÂø¼Ò¦¡¡C ²{¦b¶i¤J²Ä¤G¨B¡AÂ^¨ú«Ê¥]¸ê®Æ¡C±q²Ä20¦æ¶}©l¡A§Ú̶i¤J¤F¤@Ó°j°é¡A while(1)¡A¦b²Ä24¦æ¡Arecvfrom(sock, buffer, sizeof buffer, 0, (struct sockaddr *)&from, &fromlen)¡A³oÓ¨ç¼Æn°µªº´N¬O±µ¦¬¸ê®Æ¡A¨Ã¥B§â±µ¦¬¨ìªº¸ê®Æ©ñ¤Jbuffer¤¤¡C´N¬O³o»ò²³æ¡A¤w¸g§¹¦¨¤F§ÚÌnÂ^¨ú«Ê¥]¸ê®Æªº¥ô°È¡C ¨ì¤F²Ä¤T¨B¡A¤ÀªR«Ê¥]¸ê®Æ¡C27¦æ¡Aip = (struct ip *)buffer¡A¨Ï§Ú̦bÀYÀɤ¤ªºIPµ²ºc¹ïÀ³©ó©Ò±µ¦¬¨ìªº¸ê®Æ¡A±µ¤U¨Ó§PÂ_¦bºô¸ô¼h¤¤¬O§_¨Ï¥Îªº¬OTCP¨óij¡Aif(ip-> ip_protocol == 6) ¡A¦pªGµª®×¬O¡Atcp¸ê°T¥]±q¾ãÓIP/TCP¥] buffer + (4*ip->ip_length) ¦ì§}³B¶}©l¡A©Ò¥H31¦æ tcp = (struct tcp *)(buffer + (4*ip->ip_length))¡AµM«á¹ïÀ³µ²ºc§â§A©Ò»Ýnªº¸ê°T¿é¥X¡C /*************************headers.h**************************/ /*structure of an ip header*/ struct ip { unsigned int ip_length:4; /*little-endian*/ unsigned int ip_version:4; unsigned char ip_tos; unsigned short ip_total_length; unsigned short ip_id; unsigned short ip_flags; unsigned char ip_ttl; unsigned char ip_protocol; unsigned short ip_cksum; unsigned int ip_source; unsigned int ip_dest; }; /* Structure of a TCP header */ struct tcp { unsigned short tcp_source_port; unsigned short tcp_dest_port; unsigned int tcp_seqno; unsigned int tcp_ackno; unsigned int tcp_res1:4, /*little-endian*/ tcp_hlen:4, tcp_fin:1, tcp_syn:1, tcp_rst:1, tcp_psh:1, tcp_ack:1, tcp_urg:1, tcp_res2:2; unsigned short tcp_winsize; unsigned short tcp_cksum; unsigned short tcp_urgent; }; /*********************EOF***********************************/ ±q¤W±ªº¤ÀªR§ÚÌ¥i¥H²M·¡ªº»{ÃѨì¡A»{ÃѤ@ÓSniffer»Ýn¹ïTCP/IP¨ó©w¦³µÛ¸Ô²ÓªºÁA¸Ñ¡A§_«h§A®Ú¥»µLªk§ä¨ì§A»Ýnªº¸ê°T¡C¦³¤F¤W±ªº°ò¦¡A§A¥i¥H¦Û¤v¨Ó°µ¤@Ó§A»ÝnªºSniffer¤F¡C ¤¡B±`¥ÎªºSniffer «Ü¤Ö¦³ì¦]·|Åý§A¦Û¤v¿Ë¦Û°Ê¤â¨Ó°µ¤@Ó¦Û¤vªºSniffer¡A°£«D§A¬O·QÁA¸Ñ¥Lªºì²z¡A©ÎªÌ¬O¨ä¥L¤@¨Ç¯S§Oªºì¦]¡A¤ñ¦p§An¦b¬YÓ¯S®íªºÀô¹ÒÄdºI¤@¨Ç¯S®íªº¸ê®Æ¥]¡C¤U±§ÚÌ´N¨Ó¬Ý¬Ý¤@¨Ç¦bºô¸ô¤W¸g±`¨Ï¥ÎªºSniffer¡C ¡]1¡^WindowsÀô¹Ò¤U WindowsÀô¹Ò¤U³ÌµÛ¦Wªº¬ONetxray¥H¤ÎSniffer pro¡C ¡]2¡^UNUX¤ÎLinuxÀô¹Ò¤U UNUX¤ÎLinuxÀô¹Ò¤UªºsnifferºØÃþ·Ð¦h,¦psniffit, snoop, tcpdump, dsniffµ¥³£¬O¤ñ¸û±`¨£ªº¡A¥L̳£¦³¤@Ó¦n³B´N¬O´£¨Ñ§K¶Oªºì©l½X¨Ñ§A¬ã¨s¨Ï¥Î¡C 1. Sniffit Sniffit¥i¥H¹B¦æ¦bSolaris¡BSGI©MLinuxµ¥¥»O¤W¡A¥ÑLawrence Berkeley Laboratory ¹êÅç«Ç¶}µoªº¤@Ó§K¶Oªººô¸ôºÊÅ¥³nÅé¡C³ÌªñSniffit 0.3.7¤]±À¥X¤FNTª©¥»¡A¨Ã¤]¤ä´©WINDOWS 2000. §A¥i¥H¦b³oùاä¨ìsniffit http://reptile.rug.ac.be/~coder/sniffit/sniffit.html 2. snoop Y¦w¸Ë¦bSolaris¤U¡A¬O¤@ӥΩóÅã¥Üºô¸ô¥æ³qªºµ{¦¡¡A¤£¹LSniffer¬O§âÂù¤b¼C¡A¬JµMºÞ²zû¯à¥Î¥L¨ÓºÊµø¦Û ¤vªººô¸ô¡A·íµM¤@Ó¤ßÃh´c·Nªº¤J«IªÌ¤]¥i¥H¥Î¥L¨ÓSniffer¦Û¤v·P¿³½ìªº¤º®e¡Cȱo¤@´£ªº¬O¡ASNOOP³Qµo²{¦s¦b¤@Ó½w½Ä°Ï·¸¥Xº|¬}¡A·í¥H¾ÉP¤J«I ªÌ¥H¹B¦æ snoop(³q±`¬°root)ªº¨¥÷»·ºÝ¶i¤J¨t²Î¡C 3. tcpdump tcpdmp¬O¤@Óª¾¦W«×«Ü°ªªººô¸ôºÊÅ¥³nÅé¡AFREEBSDÁÙ§â¥Lªþ±a¦b¤F¨t²Î¤W¡A¬O¤@Ó³Q«Ü¦hUNIX°ª¤â»{¬°¬O¤@Ó±M·~ªººô¸ôºÞ²z¤u¨ã¡C 4. dsniff ¤§©Ò¥Hn½Í½Ídsniff¡A¬O¦]¬°¥L¤£¶È¶È¬O¤@Ósniffer³nÅé¡A¦b¥Lªº¾ãÓ®M¥ó¥]¤¤¡A¥]§t¤F«Ü¦h¨ä¥L¦³¥Îªº¤u¨ã¡A¦p arpspoof¡Adnsspoof¡Amacof¡Atcpkillµ¥µ¥¡ASnifferªº¤â¬q§ó¥[ªº¦h¼Ë©M½ÆÂø¤Æ¡Cdsniff¬O¥ÑDugSong¶}µoªº§A¥i¥H¦b¥Lªº¥D¶¤W§ä¨ì³oÓ¤u¨ã¡C ¥Ø«edsniff¤ä«ùOpenBSD (i386), Redhat Linux (i386), ©MSolaris (sparc). ¨Ã¥B¦bFreeBSD, Debian Linux, Slackware Linux, AIX,©MHP-UX¤W¤]¯à¹BÂà±o«Ü¦n¡C¦ý¬Odsniff»Ýn´XÓ¨ä¥L®aªº³nÅé¦@¦P¨Ï¥Î¡A¥L̤À§O¬O¡ABerkeley DB ¡AOpenSSL¡A libpcap¡A libnet¡A libnids¡C¦pªG±ø¥ó¤¹³\ªº¸Ü¡A§A³Ì¦n¯à°÷¿Ë¦ÛŪ¤@Ūdsniffªºì©l½X¡A§A¥i¥H¦b http://naughty.monkey.org/~dugsong/ §ä¨ìdsniff¡C ¤»¡B²`¤J¤§Sniffer¤§¹B¥Î ³æ¯ÂªºSnifferªº¥\¯à©l²×¬O¦³ªº¡A©Ò¥H¦b¤j¦h¼Æªº±¡ªp¤U¡ASniffer©¹©¹©M¨ä¥Lµ{¦¡µ²¦X°_¨Ó¨Ï¥Î¡A Sniffer©M spoof¥H¤Î¨ä¥¦µ{¦¡µ²¦X¦b¤@°_¨Ï¥Î¹ïºô¸ô«Ê¥]¸ÑªR¸û¬°§¹¾ã¡C³æ¯ÂªºSniffer¦n¤ñ¯Ê¤F¤@°¦»L¡AµLªkµo´§¤jªº§@¥Î¡A¨Ò¦p¦bSnifferì²z¤@¸`¤¤ §Ṵ́Q½×ªº¨Ò¤lùØ¡A§Ú¤@¦Aªº±j½Õ§Ų́ϥΪº¬O¤@Ó´¶³qªºHUB¶i¦æ³s±µ¬O¦³ì¦]ªº¡A¦pªG§Ú̱NHUB¥Î¤@Óswitch¥N´À¡A¨º±¡ªp´Nn½ÆÂø¤@¨Ç¤F¡A§ÚÌ ªº¾÷¾¹A¡BB¡BC»PSwitch¬Û³s±µ¡A¦ÓSwitch³q¹L¸ô¥Ñ¾¹Router³X°Ý¥~³¡ºô¸ô¡C§ÚÌ¥ý¨ÓÁA¸ÑSwitchªº¤u§@ì²z¡G ¦bHUB ¥u¬O²³æ¦a§â©Ò±µ¦¬¨ìªº«H¸¹³q¹L©Ò¦³°ð¡]°£¤F«H¸¹¨Óªº¨ºÓ°ð¤f¡^«½Æµo°e¥X¥h¤£¦P¡A¦ÓªºSwitch«o¥i¥HÀˬd¨C¤@Ó¦¬¨ìªº¸ê®Æ¥]¡A¨Ã¹ï¸ê®Æ¥]¶i¦æ¬ÛÀ³ªº³B²z¡C ¦bSwitch¤º«O¦sµÛ¨C¤@Óºô¬q¤W©Ò¦³¸`ÂIªºª«²z¦ì§}¡A¥u¤¹³\¥²nªººô¸ô¬y¶q³q¹LSwitch¡CÁ|¨Ò¨Ó»¡¡A ·íSwitch±µ¦¬¨ì¤@Ó«Ê¥]¸ê®Æ¤§«á¡A®Ú¾Ú¦Û¨«O¦sªººô¸ô¦ì§}ªíÀˬd¸ê®Æ¥]¤º¥]§tªºµo°e©M±µ¦¬¤è¦ì§}¡C¦pªG±µ¦¬¤è¦ì©óµo°e¤è¤§ºô¬q¡A¸Ó¸ê®Æ¥]´N·|³Q Switch¥á±ó¡A¤£¯à³q¹L¥æ´«¾÷¶Ç°e¨ì¨ä¥Lªººô¬q¡F¦pªG±µ¦¬¤è©Mµo°e¤è¦ì©ó¨âÓ¤£¦Pªººô¬q¡A¸Ó¸ê®Æ¥]´N·|³QSwitchÂàµo¨ì¥Ø¼Ð¤§ºô¬q¡C³o¼Ë¡A³q¹L¥æ ´«¾÷ªº¹LÂo©MÂàµo¡A¥i¥H¦³®ÄÁ×§Kºô¸ô¼s¼½¸I¼V¡A´î¤Ö¿ù»~«Ê¥]©M¯}¸H«Ê¥]ªº¥X²{¡C²{¦b¥«°â¦h¬°Switch¡C ²{¦b¦^¨ì§Ú̪º¨Ò¤l¤¤¨Ó¡A§Ṵ́²³]¾÷¾¹A¤WªººÞ²zû¬°¤FºûÅ@¾÷¾¹C¡A¨Ï¥Î¤F¤@ÓFTP©R¥O¦V¾÷¾¹C¶i¦æ»· ºÝµn¤J¡A¨º»ò¦b³oùØ¡A¸ê®Æ¬O³o¼Ë¨«ªº¡Gº¥ý¾÷¾¹A¤WªººÞ²zû¿é¤Jªºµn³°¾÷¾¹CªºFTP«ü¥O¸g¹LÀ³¥Î¼hFTP¨ó©w¡B¶Ç¿é¼hTCP¨ó©w¡Bºô¸ô¼hIP¨ó©w¡B¸ê®Æ ³sµ²¼h¤Wªº¤A¤Óºô¸ôÅX°Êµ{¦¡¤@¼h¤@¼hªº¥]»q¡A³Ì«á°e¨ì¤Fª«²z¼h¡A§Ú̪ººô½u¤W¡C±µ¤U¨Ó«Ê¥]¸ê®Æ°e¨ì¤FSwitch¤W¡A¦ÓSwitchÀˬd«Ê¥]¸ê®Æ¤¤ªº¥Øªº ¦a§}¡A¨Ã¦b¥L¦Û¨«O¦sªººô¸ô¦ì§}ªí¤¤ª¾¹D¤F¥LÀ³¸Ó§â³o«Ê¥]¸ê®Æµo¨ì¾÷¾¹C¨ºùØ¡A©ó¬O¡A±µ¤U¨Ó¾÷¾¹C±µ¦¬¨ì¤F±qAµo¨Óªº¸ê°T¡Aµo²{¥L¬Oµoµ¹¦Û¤vªº¸ê°T¡A©ó¬O ¶i¦æ¤ÀªR³B²z¡C OK¡A²{¦b§Ú̾÷¾¹B¤WªººÞ²zûªº¦n©_¤ß¥u¯à²`²`ªº®IÂæb¤ßùؤF¡A¦]¬°¸ê®Æ¥]®Ú¥»´N¨S¦³¸g¹L¥L¡A´Nºâ¥L§â¦Û¤vªººô¥d³]¸m¦¨²VÂø¼Ò¦¡¤]¬O¦³¤OµL³B¨Ï¡C ¤A. ¹q¸£Å²ÃÑ (Computer Forensics) ![]() ¤@¡B¹q¸£Å²ÃÑ ¹q ¸£Å²ÃÑ (Computer Forensics)¬O§Q¥Î¬ì¾Çªº¤èªk¹ï¹q¸£µ¥¸ê°T¬ì§Þ³]³Æ¶i¦æ¥Ç¸o»`ÃÒ¡A¥H´£¨Ñ¦³¤Oªº½u¯Á¡A¨ÓÀ°§U¥Ç¸o®×¥óªº°»¹î©Î¬Oªk®xªº¼f°T¡C¹q¸£Å²ÃѨ䣬O¤@¶µ·s ¿³ªº¬ì¾Ç¬ã¨s¡A¦b¼Ú¬üµ¥°ê®a¬ù©ó¤Q¦~«e´N¤v¸g¦¨¥ß¤F±M·~ªº¹q¸£Å²Ãѳ¡ªù¡A¬°¬F©²©Îxĵµ¥°õªk³æ¦ì´£¨Ñ¥Ç¸o»`ÃÒ¸ê°T¡A¥H¤Î¸ê·½©M¤H¤~¤§¾ã¦X¡C¥Ñ©óºô¸ô¤Î¹q¸£ ³]³Æªº¤éº¥´¶¤Î¡A¦b³\¦h°Ó·~Àô¹Ò¦p¤½¥q¦æ¸¹¤º±±½]®Ö¤]¶}©l¦³¤F³oÃþªº»Ý¨D¡A¦]¦¹³o´X¦~¹q¸£Å²ÃѤ~¶}©l³vº¥°Ó·~¤Æ¡C¦A¥[¤W°ª¬ì§Þ¥Ç¸o¨Æ¥ó¦¨ªø¤ñ²v¹L°ª¡B¬ì§Þ ¶i¨B¹L©ó¨³³t¡B®×¥ó½ÆÂø©Ê¤]¤éº¥´£ª@¡A¨Ï±o¬F©²©Îxĵµ¥°õªk³æ¦ì¦³ªº¹q¸£Å²ÃѤHû¤]¤O¤£±q¤ß¡A¦Ó¤@¨Ç¬F©²°õªk³æ¦ì¶}©l¹ï¥~»P·~¬Éªº±M·~¤H¤~¦X§@¡A¦@¦P¶i ¦æ®×¥ó°»¿ì¨Ï¥Î¤§Å²Ãѳ]³Æ»s³y¬ãµo¤uµ{¤u§@¡C¦Óºô¸ô«Ê¥]Â^¨ú»PÁÙì¸ÑªR¥¿¬OÄÝ©ó¹q¸£Å²ÃѬì¾Ç¤§¤@³¡¥÷¡C ¤G¡B±`¨£ºô¸ô¤W¶Ç°eªº«Ê¥] ¹q¸£¦bºô¸ô¤W¶Ç°eªº«Ê¥]«H®§¡A±`¨£ªº¦Ü¤Ö¦³500 ~ 600ºØ¡A³o¨Ç±`¨£ªºªA°È®e©ö³Q§Q¥Î¬°¥Ç¸o´C¤¶ªÌ¥]§t: 1. ¹q¤l¶l¥ó»P·s»D¸s²Õ(Email and News Group)¡A 2. §Y®É«H®§(Instant Message)¡A 3. ÀÉ®×¶Ç»¼(FTP)¡A 4. ºô¶ÂsÄý(Web Browser)¡A 5. ºô¶¶l¥ó(Web Mail)¡A 6. »·ºÝµn¤J(Telnet)¡A 7. ºô¸ô¹q¸Ü(VOIP)¤Îµø°T·|ij(Video Conference)¡A 8. 綫¤W¹CÀ¸(Network Online Game) µù: E-Detective¨t²Î¥Ø«e¥iºÊµø ºÊÅ¥ °¼¿ý¤§ºô¸ôªA°È ÂŦ⬰¤w¥þ³¡§¹¦¨ ¬õ¦â¬°³¡¤À§¹¦¨ ¶Â¦â¬°©|¥¼°õ¦æ ![]() ¤T¡B¥H¤U¬O¦UÃþ«Ê¥]¸ÑªRÀ³¥Î¤§Â²³æ»¡©ú¡G
¥|¡B±M·~ª¾ÃѤιï¬ì§Þ¥»¨ªºÁA¸Ñ ![]() «Ê¥]¸Ñͤu§@«nªº¤@Àô´N¬O±M·~ª¾ÃѤιï¬ì§Þ¥»¨ªºÁA¸Ñ¡C¥Ñ©ó¬ì§Þ¥»¨¶i¨B§Ö³t¡A¦]¦¹¹ï¤£¦P¬ì§Þ¥¥x¶i¦æ¥Ç¸o»`ÃÒ¥i¥H»¡¬O§¹¥þ¤£¦Pªº»â°ì¡C¨Ò ¦p¦b Windows §@·~¨t²Î¤W»`ÃÒ¡A«h§¹¥þ©M¦b Linux §@·~¨t²Î¤W¤£¦P¡A©Ònª`·Nªº¨Æ¶µ¤Î¨BÆJ¤]¤£¦P¡C´Nºâ¬O¦b¦P¤@¥¥x¤W¡A¥i¬O¹ï¤£¦P¬ì§Þªº»`ÃÒÁÙ¬O»Ýn±Ä¥Î¤£¦Pªº§Þ¥©¡A¨Ò¦p¦P¼Ë¬O¦b Windows¥¥x¤W¡A¦Ó¥B¦P¼Ë¬O¹q¤l¶l¥ó¨t²Î (Email Client)¡A¦ý¬O¹ï MS outlook ¤Î¹ï Lotus Notes ©Ò»Ý±Ä¨úªº«Ê¥]¸ÑĶ»`ÃÒ§Þ¥©«h¬O§¹¥þ¤£¦Pªº¡C¦b«Ê¥]¸Ñͤu§@¤¤±`±`·|¾D¹J¨ì¦b½Ò¥»¤W¨S¦³¾Ç¹Lªº³W®æ¡A¦Ó¥@¬É¤W¤]§ä¤£¨ì§¹¾ãªº¤åÄm¨Ó°O¸ü»¡©ú³o¨Ç³W®æ¡A¬Æ¦Ü ©ó³s²£¥Í³o¨Ç«Ê¥]ªº³nÅé³£¬O§ÚÌ¥¼´¿¨£¹L©Î¥¼ª¾³W®æªºÀ³¥Î³nÅé¡C¦]¦¹§Ú̱o¹³¤j®ü¼´°w¯ë´£°_«H¤ß¡A¹ª°_«i®ð¾aµÛ«÷¤j«¬«÷¹Ï¯ëªº¤èªk¡A¤@ÂI¤@ÂIª¼¤HºN¶H¯ë±N ¯u¹ê´ê¥X¨Ó¡A³]ªkÁÙì¨ì쪬¡F¦A«·s¼g¥Xì©l³W®æ¡A§ä¥X³W«h¡C¦³®ÉÔ§ÚÌ·|¾D¹J¨ì¤@¨Ç§x¹Ò¡A²¦³º¡A§Ú̬O§Q¥ÎÁÙì¤uµ{¨Ó¸Ñ͏ê°T¡A§Ų́䣤@©w¯à¦Vì³]p ªÌ½Ð¯q¡A¥u¯à¾a¤vª¾ªºª¾ÃѾ¨¶q¥h°²³]¡C°¸º¸¤]·|¦]¥Ñ©ó¤£¦Pªº E-Mail ¦¬µo³nÅé¡B©Î¬O FTP¡B©Î¬O§Y®É³q«H³nÅé¦b¤£¦Pªººô¸ôÀô¹Ò©Î¬[ºc¤U¡A«Ê¥]©Î°T®Ø®æ¦¡·|²£¥Í¤£¦Pµ²ºc¡A¦Óµo¥Í«Ê¥]¸ÑĶ¥Yºlªº¨Æ¥ó¡C¦b¦¹¤@ª¬ªp¤U¥u¦n««Ø¼ÒÀÀÀô¹Ò¡A§ä¥Xì¦] §ï¶iµ{¦¡©ÎªÌ¬OµwÅé¸Ë¸m¡C²¦³º³o¨Ç«Ê¥]¸ÑĶªºÀ³¥Îµ{¦¡¬O¸g¹L¨Ï¥ÎªÌªø´Á¨Ï¥Î¸gÅç¡A¤Î¹ê¥Î»Ý¨D©Ò´£¥X¤§«ØÄ³¡A¤£Â_§ï¶i¦Ó±N¦UºØºô¸ô¬[ºc¤W©Ò¾D¹Jªº§xÃø¤§³B¤© ¥H×¥¿§¹¦¨(µù ¤@)¡C ¦p¦P¦D¨ÆÅ²©w®õ¤æ §õ©÷à±³Õ¤h©Ò»¡¹Lªº¸Ü¡G¡y¨CÁû¤l¼u¦b»s³y¹Lµ{¤¤¡A©ÎªÌ¬OÀ»µo«á³£·|¦bª«²z¤W²£¥Í¤u¨ã²ª¡A¥un¨Ì¤u¨ã²ª´N¦³¾÷·|§ä¨ì¨Ó·½¡A°l¥X¯u¶H¡z¡C¼Æ¦ìŲÃѧޥ©¥ç¦P¡A¨CÓ¤£¦PÀ³¥Î³nÅé©ÎªÌ¬O³]³Æ¡A²£¥Íªº«Ê¥]¥ç·|¨ã¦³¨ä¿W¯Sªº¤u¨ã²ª¡C·í§Ú̧Q¥Î¤@¨Ç¤èªkŲ§O¥X«Ê¥]¨ä©Ò¥]§tªº¤u¨ã²ª®É¡A´N´X¥G¥i¥H½T©w§ÚÌ¥i¥H§¹¦¨¥¿½T¸Ñ͍ÃÁÙ즹¤@³W®æ«Ê¥]¡AµL½×¬Oºô¶¶l¥ó(Web Mail)¡BFTP¡BTelnet¡B§Y®É«H®§(IM)¡B¬Æ¦Ü©ó VOIP¡B¼v¹³¡K ¡Kµ¥¡CÁÙ¦³¥t¤@¶µ¥O§ÚÌı±o³Â·Ð¤Î¦Y¤Oªº¤u§@¡A¦]¬°§Ṳ́£¦ýn¸ÑĶ«Ê¥]¡AÁÙn±N¨ä¯Ç¤J¸ê®Æ®w¤¤ºÞ²z¡B³Æ¬d¡A¦]¦¹¸ÑĶ©Ò±oµ²ªG¡A±`»Ý°µ®æ¦¡Âà´«¥H«K¸ê®Æ¥¿½T§e²{¡A¨Ï±o¥¦¦¨¬°¤@®M«D±`½ÆÂø¦a¨t²Î¡C µù ¤@¡G ¨Ò¦p ¨p¤H¬ã¨sMSN ºô¯¸ http://www.hypothetic.org/docs/msn/index.php It is written primarily for programmers that want to write software that uses the MSN Messenger protocol. ¨Ò¦p ¨p¤H¬ã¨sICQ ºô¯¸ http://iserverd.khstu.ru/oscar/ OSCAR. "Open System for Communication in Realtime" - the internal project name (as opposed to the external marketing name) used to identify Instant Messenger protocol. ³o¬Ò¬O¥Ñ¤@¸s·R¦nªÌ±Ú¸s¦@¦PºûÅ@¡A¦b³oÓºô¯¸¤W»¡©ú¤F¸ê®Æ¦h¨Ó¦Û±Àºt¤Î²q´ú¡C ¤¡B¥¼¨Ó¨t²Îµo®i¤§®i±æ ¡V ¥Ø¼Ð¦¨¬°¦h¤¸¥\¯à¤§±M·~¨t²Î ¹L¥h¤@¦~¨t²Î¶}©lµo®i¨Ã¦¨¬°±M·~¦D¨ÆÅ²ÃѤu¨ã¤§©l¡A¬ãµo¥Ø¼ÐµÛ«©ó°ò¦«Ê¥]¸ÑĶ¤Îºô¸ôÀ³¥Îµ{¦¡¤§¬ã¨s¡C¥Ñ©ó°ò¦«Ê¥]¸ÑĶ¤Îºô¸ôÀ³¥Îµ{¦¡¤§¬ã¨s¤w¸g§¹¦¨¡A¥¼¨Ó¤@¦~±NµÛ«©ó¤U¦C¬ã¨s«ÂI¡G a. ¶i¶¥«Ê¥]¸ÑªR¤§¬ã¨s»P¥[±j§ï¶i b. ºô¸ô¹q¸Ü(VOIP)¤Îµø°T·|ij(Video conference)°¼¿ýºÊÅ¥ c. µL綫ºô¸ôºÊÅ¥¤Î©w¦ì d. ¨ä¥L¦]Á{®É©Ê»Ýn²£¥Í¤§¬ã¨sÃD¥Ø e. ¸ê®Æ¥[±K»P¸Ñ±K§Þ³N¬ã¨s ±i¨Ô May. 08, 2005 |