µ±ÍøÂçÑÓ³Ù¡¢Êý¾Ý°ü¶ªÊ§»òÁ¬½ÓÖжϵÈÎÊÌâ³öÏÖʱ£¬Á˽âÊý¾Ý°ü´ÓÔ´µ½Ä¿±êÖ®¼äµÄ·¾¶³ÉΪ½â¾öÎÊÌâµÄ¹Ø¼ü
ÔÚLinuxϵͳÖУ¬`traceroute`ÃüÁîÊÇÕï¶Ï´ËÀàÎÊÌâµÄÇ¿´ó¹¤¾ß
±¾ÎĽ«ÉîÈë̽ÌÖ`traceroute`µÄ¹¤×÷ÔÀí¡¢Ê¹Ó÷½·¨ÒÔ¼°ÈçºÎÀûÓÃÆäÊä³öÀ´·ÖÎöºÍ½â¾öÍøÂçÎÊÌâ
Ò»¡¢`traceroute`¸ÅÊö `traceroute`£¨¸ú×Ù·ÓÉ£©ÊÇÒ»ÖÖÍøÂçÕï¶Ï¹¤¾ß£¬ÓÃÓÚÏÔʾÊý¾Ý°ü´ÓÔ´Ö÷»úµ½Ä¿±êÖ÷»úËù¾¹ýµÄ·ÓÉÆ÷£¨»òÖмä½Úµã£©µÄÁбí
Ëüͨ¹ý·¢ËÍһϵÁдøÓеÝÔöÉú´æÊ±¼ä£¨TTL£¬Time To Live£©ÖµµÄICMP EchoÇëÇó»òUDP/TCPÊý¾Ý°üÀ´ÊµÏÖÕâÒ»¹¦ÄÜ
ÿµ±Êý¾Ý°ü¾¹ýÒ»¸ö·ÓÉÆ÷£¬ÆäTTLÖµ¾Í»á¼õ1£¬µ±TTLÖµ¼õÖÁ0ʱ£¬Â·ÓÉÆ÷½«¶ªÆú¸ÃÊý¾Ý°ü²¢ÏòÔ´Ö÷»ú·¢ËÍÒ»¸öICMP³¬Ê±ÏûÏ¢
ͨ¹ýÕâÖÖ·½Ê½£¬`traceroute`Äܹ»Öð²½½ÒʾÕû¸ö·¾¶ÉϵĽڵã
¶þ¡¢`traceroute`µÄ¹¤×÷ÔÀí 1.³õʼÉèÖãºÓû§Ö¸¶¨Ä¿±êIPµØÖ·»òÓòÃû£¬ÒÔ¼°¿ÉÑ¡µÄ²ÎÊý£¬Èç×î´óÌøÊý¡¢³¬Ê±Ê±¼ä¡¢Ê¹ÓõÄÐÒ飨ICMP¡¢UDP¡¢TCP£©µÈ
2.·¢ËÍ̽²â°ü£ºtraceroute´ÓTTL=1¿ªÊ¼£¬ÏòÄ¿±ê·¢Ë͵ÚÒ»¸ö̽²â°ü
Õâ¸ö°ü»áÔÚµÚÒ»¸ö·ÓÉÆ÷´¦±»¶ªÆú£¬²¢·µ»ØÒ»¸öICMP³¬Ê±ÏûÏ¢£¬´Ó¶ø½ÒʾÁ˵ÚÒ»ÌøÂ·ÓÉÆ÷µÄIPµØÖ·
3.µÝÔöTTL£ºËæºó£¬traceroute½«TTLÖµµÝÔö1£¬²¢Öظ´·¢ËÍ̽²â°üµÄ¹ý³Ì
ÿ´ÎTTLÔö¼Ó£¬Êý¾Ý°ü¾ÍÄܵ½´ïÏÂÒ»¸ö·ÓÉÆ÷£¬Ö±µ½Êý¾Ý°üµ½´ïÄ¿±êÖ÷»ú»ò´ïµ½Óû§Ö¸¶¨µÄ×î´óÌøÊý
4.¼Ç¼½á¹û£º¶ÔÓÚÃ¿Ò»Ìø£¬traceroute¼Ç¼·µ»ØÏûÏ¢µÄÀ´Ô´IPµØÖ·¡¢Íù·µÊ±¼ä£¨RTT£¬Round-Trip Time£©£¬ÒÔ¼°ÊÇ·ñ³É¹¦ÊÕµ½»ØÓ¦£¨³É¹¦»ò³¬Ê±£©
5.ÐÒéÑ¡Ôñ£ºÄ¬ÈÏÇé¿öÏ£¬tracerouteʹÓÃICMP EchoÇëÇó
È»¶ø£¬ÔÚijЩÇé¿öÏ£¨Èç·À»ðǽÏÞÖÆICMP£©£¬¿ÉÒÔÑ¡ÔñʹÓÃUDP»òTCPÊý¾Ý°ü½øÐÐ̽²â
ʹÓ÷ÇICMPÐÒéʱ£¬Ä¿±êÖ÷»ú¿ÉÄÜ»áÏìÓ¦Ò»¸ö¡°¶Ë¿Ú²»¿É´ï¡±ÏûÏ¢£¬´Ó¶ø°ïÖúÈ·ÈÏ·¾¶
Èý¡¢`traceroute`ÃüÁîµÄʹÓà ÔÚLinuxϵͳÖУ¬`traceroute`ÃüÁîµÄ»ù±¾Óï·¨ÈçÏ£º traceroute¡¾Ñ¡Ïî¡¿ Ä¿±êIPµØÖ·»òÓòÃû ³£ÓõÄÑ¡Ïî°üÀ¨£º - `-m`£ºÉèÖÃ×î´óÌøÊý
- `-w`£ºÉèÖÃÃ¿ÌøµÄµÈ´ýʱ¼ä£¨Ã룩
- `-q`£ºÉèÖÃÿ´Î·¢Ë͵Ä̽²â°üÊýÁ¿
- `-I`£ºÊ¹ÓÃICMP EchoÇëÇó
- `-T`£ºÊ¹ÓÃTCP SYN°ü£¨ÊÊÓÃÓÚ·À»ðǽÏÞÖÆICMPµÄ³¡¾°£©
- `-U`£ºÊ¹ÓÃUDPÊý¾Ý°ü
- `-p`£ºÖ¸¶¨UDP»òTCP̽²âʹÓõÄÄ¿±ê¶Ë¿Ú
ÀýÈ磬Ҫ¸ú×Ùµ½`example.com`µÄ·ÓÉ·¾¶£¬Ê¹ÓÃĬÈÏÉèÖã¨ICMPÐÒ飩£¬¿ÉÒÔÔËÐУº traceroute example.com ÈôҪʹÓÃTCPÐÒé̽²â£¬²¢Ö¸¶¨Ä¿±ê¶Ë¿ÚΪ80£¨HTTP·þÎñĬÈ϶˿ڣ©£¬¿ÉÒÔÔËÐУº traceroute -T -p 80 example.com ËÄ¡¢½â¶Á`traceroute`Êä³ö `traceroute`µÄÊä³öͨ³£°üº¬ÒÔϼ¸ÁУº 1.ÌøÊý£º±íʾÊý¾Ý°ü¾¹ýµÄ·ÓÉÆ÷ÊýÁ¿£¨´Ó1¿ªÊ¼¼ÆÊý£©
2.IPµØÖ·£ºÃ¿ÌøÂ·ÓÉÆ÷µÄIPµØÖ·
3.ÓòÃû£¨¿ÉÑ¡£©£ºÍ¨¹ýDNS½âÎöµÃµ½µÄ·ÓÉÆ÷Ãû³Æ£¨ÐèÒª¶îÍâÅäÖûòʹÓÃÔÚÏß·þÎñ£©
4.Íù·µÊ±¼ä£¨RTT£©£ºÏÔʾÈý´Î̽²âµÄƽ¾ùÍù·µÊ±¼ä£¨µ¥Î»£ººÁÃ룩
Èç¹ûÓжà¸öÖµ£¬±íʾÿ´Î̽²âµÄRTT
5.״̬£ºÖ¸Ê¾¸ÃÌøÊÇ·ñ³É¹¦ÏìÓ¦£¨ÀýÈ磬!X±íʾÊÕµ½ICMP³¬Ê±ÏûÏ¢£¬±íʾ³¬Ê±ÇÒδÊÕµ½ÈκÎÏìÓ¦£©
ÀýÈ磬һ¸öµäÐ͵Ä`traceroute`Êä³ö¿ÉÄÜÈçÏ£º traceroute to example.com(93.184.216.34),30 hops max, 60 byte packets 1 192.168.1.1(192.168.1.1)1.234 ms 1.123 ms 1.012 ms 2 10.0.0.1 (10.0.0.1)5.678 ms 5.567 ms 5.456 ms 3 203.0.113.1(203.0.113.1)10.123 ms 10.023 ms 9.923 ms ... 10 93.184.216.34(example.com)25.345 ms 25.234 ms 25.123 ms Îå¡¢ÀûÓÃ`traceroute`·ÖÎöÍøÂçÎÊÌâ 1.ʶ±ðÆ¿¾±£ºÍ¨¹ý±È½Ï¸÷ÌøµÄRTT£¬¿ÉÒÔʶ±ð³öÍøÂç·¾¶ÖеÄÑÓ³ÙÆ¿¾±
¸ßÑÓ³ÙµÄÌøÊý¿ÉÄÜÖ¸Ê¾ÍøÂçÓµÈû»òÓ²¼þÐÔÄÜÎÊÌâ
2.¶¨Î»¶ªÊ§£ºÈç¹ûÄ³Ò»ÌøÏÔʾ£¨³¬Ê±£©£¬¿ÉÄÜÒâζן÷ÓÉÆ÷´æÔÚÎÊÌ⣬»òÕßÖмäÁ´Â·ÓйÊÕÏ
½øÒ»²½¼ì²é¸ÃÌøÇ°ºóµÄ·ÓÉÆ÷¿ÉÒÔ°ïÖúËõСÎÊÌⷶΧ
3.ÈÆ¹ý·À»ðǽ£ºµ±ICMP±»·À»ðǽ×èֹʱ£¬Ê¹ÓÃTCP»òUDP̽²â¿ÉÒÔ°ïÖúÈÆ¹ýÏÞÖÆ£¬»ñÈ¡ÍêÕûµÄ·ÓÉ·¾¶
4.²»¶Ô³ÆÂ·ÓÉ£ºÍ¨¹ý´ÓÁ½¸ö²»Í¬·½Ïò£¨Èç´ÓÔ´µ½Ä¿±ê£¬ÔÙ´ÓÄ¿±ê»ØÔ´£©ÔËÐÐ`traceroute`£¬¿ÉÒÔ¼ì²âÊÇ·ñ´æÔÚ²»¶Ô³ÆÂ·ÓÉÎÊÌ⣬Õâ¿ÉÄܵ¼ÖÂÁ¬½Ó²»Îȶ¨
5.ÅäÖôíÎó£ºÒì³£µÄTTLÖµ£¨ÈçTTL=0µÄÏìÓ¦£©»ò´íÎóµÄICMPÏûÏ¢ÀàÐÍ¿ÉÄܱíÃ÷ÍøÂçÉ豸ÅäÖôíÎó
Áù¡¢×¢ÒâÊÂÏî - Òþ˽Ó밲ȫ£ºtraceroute¿ÉÄÜ»á±©Â¶ÍøÂçÍØÆËÐÅÏ¢£¬ÕâÔÚijЩÇé¿öÏ¿ÉÄÜÉæ¼°Òþ˽ÎÊÌâ
´ËÍ⣬¶ÔÃô¸ÐÍøÂç½øÐÐδ¾ÊÚȨµÄ`traceroute`̽²â¿ÉÄÜÎ¥·´·þÎñÌõ¿î
- ׼ȷÐÔ£ºÓÉÓÚÍøÂ綯̬ÐԺ͸ºÔر仯£¬`traceroute`µÄ½á¹û¿ÉÄÜËæÊ±¼ä¶ø±ä»¯
¶à´ÎÔËÐв¢×ۺϷÖÎö½á¹û¿ÉÒÔÌṩ¸ü׼ȷµÄÍøÂç×´¿ö
- ȨÏÞ£ºÔÚijЩLinux·¢ÐаæÖУ¬Ê¹ÓÃICMPÐÒéµÄ`traceroute`¿ÉÄÜÐèÒªrootȨÏÞ£¬¶øÊ¹ÓÃUDP/TCPÔòͨ³£²»ÐèÒª
½áÓï `traceroute`ÊÇLinuxϵͳϲ»¿É»òȱµÄÍøÂçÕï¶Ï¹¤¾ß£¬ËüÄܹ»°ïÖúÍøÂç¹ÜÀíÔ±¿ìËÙ¶¨Î»²¢½â¾öÁ¬½ÓÎÊÌâ
ͨ¹ýÉîÈëÀí½âÆä¹¤×÷ÔÀí¡¢ÊìÁ·Ê¹Óø÷ÖÖÑ¡Ï²¢½áºÏÊä³ö½á¹û½øÐÐϸÖ·ÖÎö£¬¿ÉÒÔÏÔÖøÌáÉýÍøÂçÎÊÌâµÄÕï¶ÏЧÂʺÍ׼ȷÐÔ
ÎÞÂÛÊǶÔÓÚ¼ÒÍ¥ÍøÂçµÄС¹æÄ£ÅŲ飬»¹ÊǶÔÓÚÆóÒµÍøÂçµÄ´ó¹æÄ£¼à¿Ø£¬`traceroute`¶¼ÊÇÒ»°Ñ²»¿É»òȱµÄ¡°ÈðÊ¿¾üµ¶¡±