2022广州大学计算机网络实验--使用网络协议分析器捕捉和分析协议数据包

本文主要是介绍2022广州大学计算机网络实验--使用网络协议分析器捕捉和分析协议数据包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

广州大学学生实验报告

开课学院及实验室:计算机科学与工程实验室                   2022年**月**

学院

计算机科学与教育软件

年级、专业、班

******

姓名

****

学号

*******39

实验课程名称

计算机网络实验

成绩

实验项目名称

使用网络协议分析器捕捉和分析协议数据包

指导老师

陈**

1)实验目的

熟悉ethereal的使用;验证各种协议数据包格式;学会捕捉并分析各种数据包。

2)实验环境

操作系统windows xp、以太网;

(3)实验内容

  1. 安装ethereal软件
  2. 捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

     分析第121条报文:

帧为74字节

分析报文:版本ipv4,首部长度20字节,总长度60字节;

                源地址172.29.204.217目的地址223.166.225.40

(3)捕捉并分析ARP报文。

分析报文:
第904帧,包大小60字节,源mac地址50:1d:93:f4:35:0f,目的mac地址为广播地址;根据ARP 报文格式知道,所抓报文所在协议类型是ipv4协议;硬件地址长度为6 字节;协议地址长度为4 字节;操作码,值为1表示请求包。

报文分析:
其余与请求报文分析一致

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

打开命令行

Ping baidu.com获得icmp报文

筛选报文

选择一对请求响应报文:

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

报文分析:ttl只有经过一个路由才会加一,下图三条黑色序列属于同一路由,且对应第一个路由

由箭头指向,以下三图同理,分别对应434ms,249ms,150ms

第二个路由超时对应的时长:

时间9s多,明显过大,与tracert结果对应

(6)捕捉并分析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。

第一条报文序列号:

第二条报文确认号:

点击确认序列号,比第一条序列号大一,为第二天握手报文

第二条报文序列号:

第三条报文确认序号:

第三条报文确认序号是第二条报文序列号加一

(7)  捕捉整个FTP工作工程的协议包

对协议包进行分析说明,依据不同阶段的协议分析,画出FTP工作过程的示意图

首先 FTP Client 发起对 FTP Server 的连接建立。FTP Client 将利用公开的 FTP Server的熟知端口号,请求连接建立。第一阶段建立的是控制连接(control connection),FTPServer 控制连接的熟知端口号为 21。控制连接用与发送 FTP 命令,接收 FTP Server 的应答。在控制连接之后,将进入建立数据传输连接阶段。FTP Server 熟知数据传输连接端口号为20。在数据传输连接建立之后,FTP Client 就可以从 FTP Server 下载或上传文件了

a.. 地址解析ARP协议执行过程

1、根据客户端上的ARP缓存内容检查TCP服务器的MAC地址

2、如果客户端在缓存中找不到映射,将会发送ARP请求帧广播到本地上所有主机

3、TCP服务器确定请求帧的IP地址与自己的IP地址匹配,将客户端的IP地址和MAC地址添加到ARP缓存

4、TCP将客户端MAC地址发回客户端

5、客户端收到TCP的ARP回复,更新ARP缓存

      b.  FTP控制连接建立过程

 c .  FTP 用户登录身份验证过程

 d.  FTP 数据连接建立过程

客户端端口:50358,服务端端口:64834

e.  FTP数据传输过程

(1)LIST列举目录中的所有文件
(2)125服务器:开始传输
(3)226 传输完成

f.  FTP连接释放过程(包括数据连接和控制连接)

(8)捕捉及研究WWW应用的协议报文,回答以下问题:

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

应用层:

        HTTP:www的访问协议

        DNS:域名解析协议,将URL解析成Web服务器

传输层:

        UDP:域名解析协议使用

        TCP:http协议使用

网络层:

        IP:IP包传输和路由选择

        ICMP:提供网络传输中的差错检测

        ARP:将本机的默认网关IP地址映射成物理mac地址

b.对于用户请求的百度主页(www.baidu.com),客户端将接收到几个应答报文?具体是哪几个?假设从本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间?

一共四个应答报文

往返时间372ms

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过程?

1.若使用HTTP/1.0,需要建立0UDP连接,4TCP连接
2.若使用HTTP/1.1,需要建立0UDP连接,1TCP连接

           

(4)实验总结:

在这次实验中,学会了抓包,过滤及其分析数据包;在之前只是停留在理论层面的认识,在这次实验中,深刻认识到了网络连接,传输数据的复杂性,在抓包的过程,首先要选对网络的接口,分析数据包要充分,在tcp三次握手建立过程中,除开对状态码的确定,还需要看清楚此三条命令是否对应同一个页面的请求,查看他们的序号是否为前一条命令加一来判断;在ftp连接实验中,很奇怪的是,刚开始建立ftp连接建立成功,成功完成ftp的实验,可是过段时间,我再次登录ftp,通过命令行的方式,登录退出ftp服务器,但是抓包显示出来的却是80端口,而数据确能够正确传输,通过查找资料发现说,默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

这篇关于2022广州大学计算机网络实验--使用网络协议分析器捕捉和分析协议数据包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_51358213/article/details/125426002
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/831157

相关文章

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经