我是靠谱客的博主 独特篮球,最近开发中收集的这篇文章主要介绍计算机网络--使用网络协议分析器捕捉和分析协议数据包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实验目的

(1)、 熟悉ethereal的使用
(2)、 验证各种协议数据包格式
(3)、 学会捕捉并分析各种数据包。

实验环境

Window 10,ethereal,winpcap

实验内容

(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连接释放过程(包括数据连接和控制连接)
(8) 捕捉及研究WWW应用的协议报文,回答以下问题:
a. .当访问某个主页时,从应用层到网络层,用到了哪些协议?
b. 对于用户请求的百度主页(www.baidu.com),客户端将接收到几个应答报文?具体是哪几个?假设从本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间?
c. 两个存放在同一个服务器中的截然不同的Web页(例如, http://www.gzhu.edu.cn/index.jsp,和http://www.gzhu.edu.cn/cn/research/index.jsp可以在同一个持久的连接上发送吗?
d. 假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?
e. 当点击一个万维网文档时,若该文档除了有文本外,还有一个本地.gif图像和两个远地.gif图像,那么需要建立几次TCP连接和有几个UDP过程?
(9) 捕捉ARP病毒包,分析ARP攻击机制。(选做)
(10) TCP采用了拥塞控制机制,事实上,TCP开始发送数据时,使用了慢启动。利用网络监视器观察TCP的传输和确认。在每一确认到达之后,慢启动过程中发生了什么?(选做)
(11) 在TCP知道往返时间之前,TCP必须准备重发初始段(用于打开一个连接的一个段)。TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。(选做)
(12) 尝试使用Winpcap自行设计实现一个简单的网络数据包监听与捕捉程序,同时将捕获的数据包进行分析并将结果显示在屏幕上。参考Winpcapde 的有关资料http://www.winpcap.org/ , http://winpcap.polito.it(课后选做)。

实验步骤、记录和结果

(1) 安装ethereal软件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2) 捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

捕捉数据包:

双击启动桌面上ethereal 图标,按ctrl+K 进行“ capture option ”的选择。
在这里插入图片描述
在这里插入图片描述
“ capture option ” 确认选择后, 点击start就开始进行抓包; 同时就会弹出“Ethereal:capture form (nic) driver ”,其中(nic)代表本机的网卡型号。同时该界面会以协议的不同统计捕获到报文的百分比,点击stop 即可以停止抓包。
在这里插入图片描述
点击暂停后,得到抓取到的数据:
在这里插入图片描述
查看第二个数据包得数据帧,如下图:
在这里插入图片描述
分析数据帧:这条帧共捕获了72 字节的数据且88 f8 72 b4 7d dd 为目的MAC 地址,占用6 个字节,在帧的首,部0c dd 24 91 fb 59 为源MAC 地址,同样占用6 个字节,在目的MAC地址后08 00 说明上层协议是IP 协议,占用2 个字节,在源MAC 地址后紧随之后的是IP 数据报,也即数据部分。

查看第二个数据包得IP数据报,如下图:
在这里插入图片描述
这个IP数据报的首部有20字节长, Version, 版本4, 目前使用的是IPV4,Header length 首部长度20字节,Differentiated Services Field, 区分服务00, 默认值是00, 路中器根桥OS字段不同的伯来提供不同等级的,Total Length, 1500字节, Flags:标志 , 占3比特位, Fragement Offset, 片偏移0个单位,time to live, 生存们间128, Protocol, 协议06农示伪部数标是TCP报文段,Header checksum, 首部检验和, should be 表明检验错误。Source, 源IP地址,Destination, 目的地址。

查看第二个数据包得TCP数据段的报文格式,如下图:
在这里插入图片描述
Source port:源端口,7746。Destination port:目的端口443。Sequence number:序列号0。Acknowledgement number:确认号1。Header Length:首部长度。

捕捉并分析ARP报文。
在这里插入图片描述
ARP 报文被封装在以太网帧头部中传输,如图所示,是ARP 请求报文头部格式。根据ARP 报文格式知道,所抓报文所在的硬件类型是以太网;协议类型是ip;硬件地址长度为6 个字节;协议地址长度为4 个字节。

(3) 捕捉ping过程中的ICMP报文, 分析结果各参数的意义。

先打开终端,在命令行模式下输入“ ping www.baidu.com ”,如下图所示:
在这里插入图片描述
ping 结束后,停止抓包程序,并在ethereal中的“ Filter”域中输入关键字“ICMP”,点击“ Apply ”按钮,将非ICMP 数据包过滤掉。

在这里插入图片描述
查看数据包内容窗口中的“ Internet Control Message Protocol”,可以看到该ICMP 数据包的协议类型为8(Type 8),代码为0(Code 0),表明是一个ICMP 请求你所指定的目的IP 地址,实验室内的某一主机IP 即可。IP 协议部分(Request)数据包。Sequence number:序列号,checksum:校验和。

(4) 捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的。

先打开终端,在命令行模式下输入“ tracert www.baidu.com ”,如下图所示:

在这里插入图片描述
前三个的ttl=1
在这里插入图片描述
在这里插入图片描述
tracert命令依靠ICMP协议来实现的,数据报从路由器发出之后。每经过一个路由器,便会在该数据报的选项字段中增加该路由器的地址信息。当这条信息到达目的主机的时候,便会生成一条新的ICMP数据报,这个数据报记录了刚才所经过的路由信息,返回给源主机,这样源主机就知道了刚才所经过的路由信息。由上图可得路由器的端口为137。

(5) 捕捉并分析TCP三次握手建立连接的过程。

打开ethereal,启动抓包程序,然后打开浏览器,搜索www.baidu.com。结束后,停止抓包程序,并在ethereal中的“ Filter”域中输入关键字设置过滤条件ip.addr== 139.159.246.60 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工作过程的示意图:

在这里插入图片描述
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 建立。三次握手建立连接。
在这里插入图片描述
c. FTP 用户登录身份验证过程。
在这里插入图片描述

d. FTP 数据连接建立过程。

在这里插入图片描述
e. FTP数据传输过程
在这里插入图片描述
f. FTP连接释放过程(包括数据连接和控制连接)
在这里插入图片描述
(8) 捕捉及研究WWW应用的协议报文,回答以下问题:

a. .当访问某个主页时,从应用层到网络层,用到了哪些协议?

http用到了应用层http超文本协议,直接对用户提供信息;网页中信息的表示形式用到了表示层;而得到的信息是通过会话层与主机会话层进行对等层通信得到的;网址后面默认的端口号用到了传输层的tcp协议;网络的寻址用到了ip层寻址功能。

b. 对于用户请求的百度主页(www.baidu.com),客户端将接收到几个应答报文?具体是哪几个?假设从本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间?
在这里插入图片描述
在这里插入图片描述
c. 两个存放在同一个服务器中的截然不同的Web页(例如, http://www.gzhu.edu.cn/index.jsp,和http://www.gzhu.edu.cn/cn/research/index.jsp可以在同一个持久的连接上发送吗?

TCP建立可以发送

d. 假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?

浏览器向用户报告404 Not Found。

e. 当点击一个万维网文档时,若该文档除了有文本外,还有一个本地.gif图像和两个远地.gif图像,那么需要建立几次TCP连接和有几个UDP过程?

若使用HTTP/1.0, 需要建立0 次UDP 连接,4 次TCP 连接

若使用HTTP/1.1, 需要建立0 次UDP 连接,1 次TCP 连接

最后

以上就是独特篮球为你收集整理的计算机网络--使用网络协议分析器捕捉和分析协议数据包的全部内容,希望文章能够帮你解决计算机网络--使用网络协议分析器捕捉和分析协议数据包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部