资源描述:
《tracerou1te经典详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、什么是traceroute,什么是tcpdump? 通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。traceroute就是用来追踪出发点到目的地所经过的路径(路由器),UNIX系统中,我们称之为Traceroute,MSWindows中为Tracert。 TcpDump,用简单的话来定义tcpdump,就是:dumpthetrafficeonanetwork,根
2、据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。二、traceroute的使用我的实验网络如下图: 192.168.1.1/24 172.16.11.254/24 ____ ____ ____ ____
3、
4、
5、
6、
7、
8、
9、
10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、 A
21、----------
22、 B
23、--------
24、 C
25、------
26、 D
27、172.16.11.252/24
28、
29、
30、
31、
32、
33、
34、
35、
36、____
37、
38、____
39、
40、____
41、
42、____
43、192.168.1.52/24172.16.11.156/24 172.16.10.254/24上图中,上面的IP地址为左
44、边网络接口的IP,下面为右面网口的IP。现在我们看看从A机到D机经过那些路由器。下面命令在Debian/Linuxetch上完成,无特殊说明,本文的实验环境皆为该系统:[giny@giny-x31]~$traceroute-n172.16.10.252tracerouteto172.16.10.252(172.16.10.252),30hopsmax,40bytepackets1 192.168.1.1 28.960ms 0.262ms 2.485ms2 172.16.11.254 7.909ms 7.871ms 11.897ms3 172.16.10.252
45、 7.861ms 11.938ms 11.863ms上面的例子显示,从A机到D机,中间经过了B,C两个路由器。traceroute是如何发现经过的路由器的呢?三、用tcpdump抓包分析在运行上面的traceroute命令前,现用心tcpdump进行抓包,tcpdump需要root权限。traceroute探测路由器的包是UDP包,路由器返回的包是ICMP报,为了避免本机其他网络通信的干扰,我们只抓ICMP包和到主机172.16.10.252的UDP包。giny-x31~#tcpdump-ieth3-v-nicmpor (udpandhost172.16.10.252
46、)tcpdump:listeningoneth3,link-typeEN10MB(Ethernet),capturesize96bytes21:42:00.335644IP(tos0x0,ttl1,id52719,offset0,flags[none],proto:UDP(17),length:40)192.168.1.52.52718>172.16.10.252.33435:UDP,length1221:42:00.336441IP(tos0xc0,ttl 64,id6695,offset0,flags[none],proto:ICMP(1),length:68)1
47、92.168.1.1>192.168.1.52:ICMPtimeexceededin-transit,length48 IP(tos0x0,ttl1,id52719,offset0,flags[none],proto:UDP(17),length:40)192.168.1.52.52718>172.16.10.252.33435:UDP,length1221:42:00.342394IP(tos0x0,ttl1,id52720,offset0,flags[none],pr