一、实验目的
(1) 熟悉ethereal的使用
(2) 验证各种协议数据包格式
(3) 学会捕捉并分析各种数据包。
二、实验环境
安装了TCP/IP协议的Windows系统,包含实用的网络工具。
三、实验内容
(1) 安装ethereal软件
(2) 捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。
(3) 捕捉并分析ARP报文。
(4) 捕捉ping过程中的ICMP报文, 分析结果各参数的意义。
(5) 捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的
(6) 捕捉并分析TCP三次握手建立连接的过程。
(7) 捕捉整个FTP工作工程的协议包
对协议包进行分析说明,依据不同阶段的协议分析,画出FTP工作过程的示意图
a… 地址解析ARP协议执行过程
b. FTP控制连接建立过程
c . FTP 用户登录身份验证过程
d. FTP 数据连接建立过程
e. FTP数据传输过程
f. FTP连接释放过程(包括数据连接和控制连接)
四、实验步骤、记录和结果
(1)、捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。
启动Ethereal,点击菜单Capture—start,Ethereal开始捕捉网络上的数据包
数据帧:这条帧大小为78字节,目的MAC地址为dc f5 05 1f 3b ed,在帧的首部,占6字节,源MAC地址为f0 b4 29 64 72 d7,同样占用6个字节,0x0800说明上层协议是ip协议,占两个字节,在源MAC地址后紧随的是ip数据报,也即数据部分。再加上FCS占用4字节。
Ip数据报:该ip数据报的首部为20字节长,使用的是IPV4,总长度为40字节,Fragement Offset, 片偏移0个单位,生存时间为101,源ip地址为40.67.188.15,目标地址为192.168.1.219。
Source port:源端口,443。Destination port:目的端口57982。Sequence number:序列号0。Acknowledgement number:确认号0。Header Length:首部长度20。
(2)捕捉并分析ARP报文。
如需捕捉ARP数据包,要将ARP缓存先清空,用管理员权限打开命令提示符,用arp -d命令清空arp缓存。
用浏览器访问www.gzhu.edu.cn, 捕捉到ARP报文
ARP 报文被封装在以太网帧的头部中传输,如图所示,是ARP 请求报文头部格式。根据ARP 报文格式知道,所抓报文所在的硬件类型是以太网;协议类型是ip协议;硬件地址长度为6 字节;协议地址长度为4 字节。
(3)捕捉ping过程中的ICMP报文, 分析结果各参数的意义。
先运行抓包程序,在命令行模式下输入“ ping www.gzhu.edu.cn”
ping 结束后,停止抓包程序,并在ethereal中的“ Filter”域中输入关键字“ICMP”,点击“ Apply ”按钮,将非ICMP 数据包过滤掉。
Source:源ip地址是192.168.108.41,Destination:目标地址是58.205.213.52。查看数据包内容窗口中的“ Internet Control Message Protocol”,可以看到该ICMP 数据包的协议类型为8(Echo (ping)request),为请求类型,如果是回复类型则为8(Echo (ping)reply)。
代码为0(Code 0),表明是一个ICMP 请求所指定的目的IP 地址。
Sequence number:序列号,checksum:校验和。
(4)捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的
如下图所示,每个报文发三次,前面三个的time to live都为1,再下去三个为2,依次类推。
tracert命令依靠ICMP协议来实现的,数据报从路由器发出之后。每经过一个路由器,便会在该数据报的选项字段中增加该路由器的地址信息。当这条信息到达目的主机的时候,便会生成一条新的ICMP数据报,这个数据报记录了刚才所经过的路由信息,返回给源主机,这样源主机就知道了刚才所经过的路由信息。由上图可得路由器的端口为137。
(5)捕捉并分析TCP三次握手建立连接的过程。
打开ethereal,启动抓包程序,然后打开浏览器,进入www.gzhu.edu.cn。结束后,停止抓包程序,并在ethereal中的“ Filter”域中输入关键字设置过滤条件ip.addr== 58.205.213.52 and tcp 。
第一次握手:本机向目的地址发出连接请求,同步位SYN=1,初始序号seq=0(随机/默认)。如下图
第二次握手:目的主机收到请求连接的报文,同意连接,ACK(确认)等于第一次握手中的SYN的seq+1,则ACK=1,此时seq=0(随机/默认)。如下图
第三次握手:本机收到目的主机的同意连接的报文,给目的主机回复确认收到的信息。ACK置1,ACK等于第二次握手中的SYN,ACK的seq+1,则ACK=1,seq等于第一次的值加一,则seq=1。如下图
(6)捕捉整个FTP工作工程的协议包
对协议包进行分析说明,依据不同阶段的协议分析,画出FTP工作过程的示意图
先搭建FTP服务器,选用一台电脑作为FTP服务器,客户端的在同一局域网内的任意电脑都可以,这里我用虚拟机实现。(我这里的是一些主要步骤,想要更详细的话可以去网上查)
打开控制面板->程序->启动或关闭window功能->勾选FTP服务器
之后打开IIS管理器,添加FTP站点
输入本机的ip地址,设置权限,FTP服务器就搭建完成了。
这时同一局域网下的主机就可以在浏览器输入ftp:// +ip地址 来访问文件。
搭建服务器需要关闭防火墙
a… 地址解析ARP协议执行过程
1、根据客户端上的ARP缓存内容检查TCP服务器的MAC地址
2、如果客户端在缓存中找不到映射,将会发送ARP请求帧广播到本地上所有主机
3、TCP服务器确定请求帧的IP地址与自己的IP地址匹配,将客户端的IP地址和MAC地址添加到ARP缓存
4、TCP将客户端MAC地址发回客户端
5、客户端收到TCP的ARP回复,更新ARP缓存
b. FTP控制连接建立过程
主机A 向B 发送请求. 主机B 接受请求发回信息,FTP 建立。三次握手建立连接。
端口58175为本机的一个随机端口,21为FTP的控制连接的端口
源地址192.168.1.232为FTP客户端,目的地址192.168.1.219为FTP服务器端
c . FTP 用户登录身份验证过程
d. FTP 数据连接建立过程
主机的数据连接端口是随机端口号加一,变成50515,服务器数据连接端口为57898, TCP三次握手建立连接
e. FTP数据传输过程
(1)LIST列举目录中的所有文件
(2)125服务器:开始传输
(3)226 传输完成
f. FTP连接释放过程(包括数据连接和控制连接)
先释放数据链接再释放控制链接
FTP工作过程的示意图
首先FTP Client发起对FTP Server的连接建立。FTP Client将利用公开的FTP Server 的熟知端口号,请求连接建立。第一阶段建立的是控制连接(control connection),FTP Server控制连接的熟知端口号为21。控制连接用与发送FTP命令,接收FTP Server的应答。在控制连接之后,将进入建立数据传输连接阶段。FTP Server熟知数据传输连接端口号为20。在数据传输连接建立之后,FTP Client就可以从FTP Server下载或上传文件了。
五、实验分析
1、进行实验时要合理使用过滤器,可以节约大量时间(不使用过滤器的话,从成千上百个数据包中找自己想要找的数据包花费的时间成本太大)。
2、实验中的一些步骤需要进行特殊的操作,如需捕捉ARP数据包,要将ARP缓存先清空,然后用IE访问网站;如需捕捉ICMP数据包,则需ping目标主机。
六、实验建议
通过这次实验,我学会如何使用ethereal进行抓包以及过滤,分析数据包。更加深入的了解了客户端和服务器之间数据的传输过程。同时也意识到,互联网并不安全,我们发送和接受的许多数据包会有被截断以及修改的可能,平时一定要提高防范意识。
喜欢这篇文章的朋友们可以点个赞支持一下哦