大学时计算机网络课的实验报告,当时提不起兴趣,今天看来还挺有用的。可以学习下怎样抓数据包,然后分析程序的通信协议。
一:学习使用网络协议分析工具Ethereal的方法,并用它来分析一些协议。
实验步骤:
1.用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(注:缺省路由器即”Default Gateway”)
命令行:Start->Run->CMD->ipconfig /all >C:\Mac.txt(在命令行中把ipconfig命令保存在文本文档里面备用)
结果:本机Mac地址:00.09.73.4B.8A.D7缺省路由器IP:192.168.8.254
步骤截图:
图1(本机网络信息:Mac.txt)
2.用“arp”命令清空本机的缓存:
命令行:Start->Run->CMD->arp –d
图2(arp命令–d参数的帮助说明)
3.运行Ethereal,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包:
图3(Capture->Options中关于网卡设置和Capture Filter)
图4(抓包截图)
4.执行命令:“ping”缺省路由器的IP地址:
图5(捕获包)
图6(ping过程)
二:用Ethereal观察tracert命令的工作过程:
1.用Ethereal语法内容及参数说明:
命令行操作步骤:Start->Run->CMD->tracert
图1(Tracert命令全部参数的帮助说明)
2.运行Ethereal,设定源和目的MAC地址是本机的包,捕获tracert命令中用到的消息:
Tracert使用ICMP,相应过滤规则为:
ether host 00:09:73:4B:8A:D7 and icmp
图3(Capture->Options中关于网卡设置和Capture Filter)
3.执行“tracert -dwww.dlut.edu.cn” ,捕获包:
执行命令:tracert -dwww.dlut.edu.cn:
图4(抓包截图)
图5(捕获包)
4.Tracert工作原理:
Tracert使用ICMP消息,具体地讲,tracert发出的是Echo Request消息,触发返回的是Time Exceeded消息和Echo Reply消息。
Tracert利用icmp数据报和IP数据报头部中的TTL值。
TTL(Time To Live)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都会把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。这样,TTL值就相当于一个路由器的计数器。当路由器接收到一个TTL为0或者1的IP数据报的时候,路由器就不再转发这个数据了,而直接丢弃,并且发送一个ICMP“超时”信息给源主机。Tracert程序的关键就是这个回显的ICMP报文的IP报头的信源地址就是这个路由器的IP地址。如果到达了目的主机,并没有任何反应,所以,Tracert还同时发送一个UDP信息给目的主机,并且选择一个很大的值作为UDP的端口,使主机的任何一个应用程序都不使用这个端口。当达到目的主机的时候,UDP模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。
决定走的路向目的地发送icmp的回声请求消息中具有不同生存时间(ttl)值送往目的地。每个路由器沿着须减量有关的ttl在一个ip包,由至少1才转发。当的ttl就一包到达0时,路由器可望返回一个icmp的时间超过讯息给源计算机。tracert确定路径派遣首回声请求消息具有的ttl的1和递增有关的ttl由1对以后每次传输,直到目标响应或最大数目的啤酒花是达成共识。最大数目的啤酒花是30默认,并可以指定使用- h参数。道路是取决于研究icmp的时间超过讯息经由中间路由器和回声答复讯息经由目的地。不过,有些路由器不返回时间超过讯息给包过期的ttl价值观和可能是无形的,以该tracert命令。在这种情况下,一排星号(*)显示为合。
三:用Ethereal观察TCP连接的建立过程和终止过程:
a.过滤规则:tcp port 23
b.三次握手:
过程:一端打开一个SOCKET,另一方连接,服务器端被打开,客户端向服务器端发送一个SYN,建立一次握手,服务器端返回一个SYN,ACK完成第二次握手,客户端发送一个ACK完成第三次握手。
过程:主动方发送一个FIN,另一方进入CLOSE,WAIT状态,并发送ACK,被动方发送FIN,被动方进入TIME,WAIT状态,发送ACK确认,CLOSE
d.TELNET服务器首先发起连接关闭。
四:用Ethereal观察使用DNS来进行域名解析的过程:
a.过滤规则:UDP PORT 53
b.向DNS服务器210.30.96.99发送一个DNS询问请求www.dlut.edu.cn,DNS服务器找到了www.dlut.edu.cn所对应的IP地址,然后回发给请求方。
c.MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。Tommx.163.net就是邮件交换服务器的域名。