traceroute 有使用两种:使用icmp的与使用udp的.microsoft使用icmp,所以win95上发出的tracert应使用的是icmp,但我没有用 sniffer查过;其它包括unix与cisco router都使用udp. 【程序编程相关:UNIX系统下的应急响应工具介绍】
【推荐阅读:一个使用setjmp/longjmp从信】 【扩展信息:PPTPD简单安装手册】 icmp traceroute: =========== 使用icmp echo request, echo reply and ttl-expired. 源发出 icmp equest,第一个request的ttl为1,第二个request的ttl为2,以后依此递增直至第30个;中间的router送回icmp ttl-expired ( icmp type 11) 通知source,(packet同时因ttl超时而被drop),由此source知晓一路上经过的每一个router;最后的destination送回icmp echo reply. 所以中间任何一个router上如果封了icmp echo request, traceroute就不能工作;如果封了type 11 (ttl-expired), 中间的router全看不到,但能看到packet 到达了最后的destination;如果封了icmp echo reply,中间的全能看到,最后的destination看不到. udp traceroute: ========== ... 下一页