抓包实验.docx
《抓包实验.docx》由会员分享,可在线阅读,更多相关《抓包实验.docx(11页珍藏版)》请在冰豆网上搜索。
![抓包实验.docx](https://file1.bdocx.com/fileroot1/2022-12/11/3d77a1ff-3e80-4e67-96b3-fcf0e5d0b799/3d77a1ff-3e80-4e67-96b3-fcf0e5d0b7991.gif)
抓包实验
四川大学计算机学院、软件学院
实验报告
学号:
__姓名:
专业:
班级:
第周
课程名称
计算网络课程设计
实验课时
2
实验项目
用Ethereal软件进行抓包并分析数据
实验时间
2010-11-29
实验目的
1.复习计算机网络相关原理;
2.学习Ethereal软件的安装和使用;
3.理解Ethereal软件抓包原理,观察协议的调用过程,分析相关数据。
实验环境
同一局域网下的计算机若干台、WindowsServer2003操作系统
Ethereal计算机网络调试和数据包嗅探软件(版本:
0.99.0)
实验内容(算法、程序、步骤和方法)
(接上)
实验内容(算法、程序、步骤和方法)
(接上)
实验内容(算法、程序、步骤和方法)
一.认识Ethereal抓包软件
ethereal(Ethereal:
ANetworkPacketSniffingTool)是当前较为流行的一种计算机网络调试和数据包嗅探软件。
用户通过Ethereal,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量。
Ethereal应用于故障修复、分析、软件和协议开发以及教育领域。
它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。
Ethereal可以从以太网、FDDI(光纤分布式数据接口)、PPP(点对点协议)、令牌环、IEEE802.11、ATM(异步传输模式) 上的 IP 和回路接口上读取实时数据。
二.安装Ethereal(实验室环境已为我们安装配置完成)并熟悉该软件的使用方法(详细请参照ethereal使用指南)。
三.使用Ethereal进行抓包实验。
1.启动Ethreal以后,选择菜单Capature->Options->interface中选择
正确的NIC,单击start就可以了,当不再抓数据包的时候,按一下
stop,抓的包就会显示在面板中,并且已经分析好了。
2.选择菜单Capature->Start时,(界面及设置情况如图A)
Interface:
指定在哪个接口(网卡)上抓数据包。
一般情况下都是单网卡,
调整为所有的网卡即可。
Limiteachpacket:
限制每个包的大小,缺省情况不限制
Capturepacketsinpromiscuousmode:
是否打开混杂模式。
如果打开,抓取所有的数据包。
一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。
Filter:
过滤器。
只抓取满足过滤规则的包(可暂时略过)
File:
如果需要将抓到的包写到文件中,在这里输入文件名称。
Useringbuffer:
是否使用循环缓冲。
缺省情况下不使用,即一直抓包。
注意,循环缓冲只有在写文件的时候才有效。
如果使用了循环缓冲,还需要设置文件的数目,文件多大时出现滚动条。
其他项设置为缺省即可。
3.Ethereal的抓包过滤器
抓包过滤器是用来抓取某种特定的数据包,用在抓包过程中。
如果上机过程中,想抓取某些特定的数据包时,可以有以下两种方法:
(1)在抓包的时候,先定义好抓包过滤器,这样结果就是只抓到设定好的那些类型的数据包;
(2)把本机所收到的数据包全部抓下来,然后使用显示过滤器,只让Ethereal显示那些用户想要的那些类型的数据包。
4.etheral的显示过滤器
在抓包完成以后,显示过滤器可以用来找到用户感兴趣的数据包,可以根据协议、是否存在某个域、域值、域值之间的比较来查找感兴趣的包。
例如,如果用户只想查看使用tcp协议的包,在ethereal窗口的左下角的Filter中输入tcp,然后回车,ethereal就会只显示tcp协议的包。
如图B所示。
通过网上查阅资料,知可以使用下面的操作符来构造显示过滤器,使用自然语言类c表示,如:
eq==ip.addr==10.1.10.20
ne!
=ip.addr!
=10.1.10.20
gt>frame.pkt_len>10
ltge>=frame.pkt_len>=10
le<=frame.pkt_len<=10
可以使用下面的逻辑操作符将表达式组合起来
and&&逻辑与,比如ip.addr=10.1.10.20&&tcp.flag.fin
or||逻辑或,比如ip.addr=10.1.10.20||ip.addr=10.1.10.21
xor^^异或,如tr.dst[0:
3]==0.6.29xortr.src[0:
3]==
not!
逻辑非,如!
llc(如图C)
注:
只要在Filter的背景是绿色,就说明设定的Filter的语法是正确的,但是当背景是红色时,就说明设定的Filter是Ethereal不允许的,是有问题的。
5.在捕获数据包时,用户可以使用FTP、BBS、HTTP等协议去访问网络相应资源,这样在Ethereal时,捕获的数据包种类比较多;也可以使用多种网络调试命令以增加数据包的种类。
四.常用协议数据的分析(TCP、UDP、HTTP等)
(图A)
(图B)
数据记录
和计算
(接上)
数据记录
和计算
(接上)
数据记录
和计算
(接上)
数据记录
和计算
(接上)
数据记录
和计算
(接上)
数据记录
和计算
截图一:
选择菜单Capature->Options->interface中选择正确的NIC.
截图二:
Ethereal正在进行抓包。
截图三:
在报文浏览器查看抓到的包。
截图四:
查看TCP数据报文段(三次握手),通过分析报文可知,源地址:
192.168.10.1,目的地址:
192.168.10.101,协议:
TCP,源端口号:
1463,目的端口号:
52869,seq 、ack、len的值。
点击下面的按钮,还可以获得更加详细的报文参数。
第一次握手:
建立连接:
客户端(192.168.10.101)发送SYN(seq=0,len=0,MSS=1460),并进入SYN_SEND状态等待服务器确认;
第二次握手:
服务器收到SYN保,必修确认客户的SYN,seq=0,ack=1,win=6752,MSS=1460,同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:
客户端收到SYN+ACK数据包,向服务器发送确认包,ACK(ack=k+1),seq=1。
Ack=1,win=65535,len=0此包发送完毕,客服端的服务器进入ESTABLISHED状态。
完成三次握手。
客户端和与服务器开始传送数据。
通过观察可知本地主机在结束了上述TCP连接后,再一次,与目的主机发起了“三路握手”请求,即,又一次与目的主机建立了TCP连接
截图五:
抓到的IP数据报,图中下面展开的部分为报文详细情况说明,包括有格式、服务类型、报文长度、标识符、寿命等内容都可以查看到。
截图六:
抓到的UDP报文。
通过该报文我们知道了UDP协议是P2P协议,该报文反映了源端口、目的端口、报文长度、报文内容等详细信息。
截图七:
抓到的http报文段,我们已经知道了:
GeneralformatofanHTTPrequestmessage:
methodspURLspVersioncrlf
headerfieldname:
spvaluecrlf
………………
headerfieldname:
spvaluecrlf
crlf
DATA
因此对于上图的HTTP请求,我们可以从中得到这些信息
本地主机使用GET方法,本地主机使用的HTTP协议版本号为:
HTTP/1.1;目的主机为:
,并且使用持久连接方式,即Keep-Alive,User-Agent为:
Mozilla/5.0,Accept-Language为zh-cn,即中文,编码方式为gbk.utf-8。
源端口号是1549,目的端口号:
80,序列号seq=0(下一个序列号为:
801,头部长度20个字节,展开flag标志位可知:
个HTTP请求含有捎带确认,所以ACK标志被置1,同时,PSH标志也被置1,表示目的主机会马上将数据送往应用层。
除此之外,都没有设置,默认为0。
本地主机窗口大小为:
65535校验和(checksum)为:
0xe7b8。
截图八:
抓到的DNS报文,版本号:
version4,首部长度20bytes,总长度62,标志,协议:
UDP,源地址,目的地址等内容。
截图九:
抓到的ICMP数据报。
截图十:
执行ping命令时抓到的包(遵照的是ICMP协议),版本version4,首部长度:
4,总长度:
60,源地址:
192.168.10.101,目的地址192.168.10.6。
其他详细报文信息就不一一列举了,都可以在其中查看到。
结论
(结果)
由以上截图可知,通过Ethereal抓包软件的成功使用,成功的抓取并获得了该台计算机该段时间内的数据包,并对相关的报和报文段进行了分析,了解了各报文和协议的格式和参数,更加深刻理解计算机网络的相关原理。
小结
本次实验过程中主要遇到以下问题:
1.使用过程中如果没有选择正确的NIC,当你点击“start”进行抓包时,在
一段时间内,你无法抓到任何数据包。
只需要选择恰当的NIC即可。
2.分析抓到的包时,有的参数名称不是特别熟悉。
需要查阅相关资料。
3.由于是第一次接触Ethereal抓包软件且是英文版的,所以软件运用不熟
悉,通过老师的讲解和查阅相关资料熟悉了软件抓包和查看等基本操作。
4.在实验室没有完成对抓取的包的分析,通过将软件拷到自己的电脑上安
装、抓包、分析重新完成了对该实验抓取包的分析和学习。
5.本次实验报告主要对TCP的三次握手和HTTP报文段进行了详细分析。
但
是在实验过程中我对其他的报文格式也进行了相应分析。
通过本次试验,让我对计算机网络的相关原理有了更加深刻的认识,对网络抓包工具Ethereal有了一定的了解,并且通过老师课堂指导和查阅资料学会了如何来使用它进行抓包,也知道如何去分析它所抓到的包中的数据,通过这些数据我们可以得到许多有用的信息。
这是我第一次接触网络抓包工具,觉的十分的有趣,同时也觉的它十分有用,进一步加深了我学习网络知识的兴趣,知道网络其实是很有趣的,我们能通过许多工具来得到一些我们想要的数据,对网络中的各种协议有了更加全面的认识。
这次实验更加增强了学习计算机网络的兴趣,使我获益匪浅。
指导老师评议
成绩评定:
指导教师签名: