计算机网络实验三:Wireshark抓包 | 您所在的位置:网站首页 › 计算机网络实验总结 › 计算机网络实验三:Wireshark抓包 |
排版有问题得等有时间调整 一、实验目的(请论述实验的目的、目标) 学习安装、使用协议分析软件,掌握基本的数据报捕获、过滤和协议的分析技巧,能对抓取数据包进行分析。 二、实验环境 设备名称:LAPTOP-6MT91E6F 系统:64 位操作系统,基于 x64 的处理器 Windows 规格:Windows 11 家庭中文版 软件:wireshark 三、实验过程及结果(请详细展示实验步骤及产生的结果,需做到图文并茂,详细清晰) 任务 1:网络协议分析软件 Wireshark 的使用 1. 实验内容: (1)了解网络嗅探器软件(以 Wireshark 为例)的功能。 (2)了解网络嗅探器的过滤规则和设置方法 (3)掌握网络嗅探器软件的基本使用方法。 (4)会利用过滤规则设置抓取/显示特定的包。 先从官网下载最新版本的Wireshark。 然后再以管理员身份运行 1.1了解Wireshark的功能 打开Wireshark界面如下: 然后点击WLAN 点击左上角的红色方形按钮,让程序停止抓包。 然后点击上方的捕获点击选项取消“在所有接口上使用混杂模式”,然后选择“开始”,即可接受发送给本机的包。 这个分别指的是编号,时间戳,源地址, 目标地址,协议,长度,以及部分数据包信息。 在数据包详细信息中,从上到下的信息条目分别为: (1)Frame 物理层 (2)Ethernet II 数据链路层 (3)Internet Protocol Version 4 互联网层 IPv4 (4)Transmission Control Protocol 传输层协议 (5)Hypertext Transfer Protocol 应用层 点击各层次可以显示该包该层的详细信息 1.2学习使用过滤器 抓取过滤器: 在接口获取包的过程中,将不需要的包过滤掉,不在缓冲区中存储。 显示过滤器: 已经在缓冲区的所有包中,不显示不需要的包,但其还是在缓冲区中。 显示过滤器可以进行的过滤操作: 协议过滤举例:http IP地址过滤举例:ip.src == 192.168.2.178 and ip.dst == 184.86.198.104 含义:过滤源地址是192.168.2.178并且目的地址是184.86.198.104的分组 模式过滤举例:http.requesthod==GET 含义:过滤http请求方法是GET的分组 端口过滤举例:tcp.port == 80 含义:过滤tcp端口号是80的分组
Oicq以及dns都是基于udp传输层上的协议。 1.3抓取http包: 1)开启Wireshark抓包,在过滤器中输入http,即过滤http 协议的分组。 2)打开浏览器,输入一个网址(例如 ieeexplore.ieee.org)。注意:为了避免浏览器缓存起 作用,最好使用chrome浏览器的incognito隐身模式。 3)观察到Wireshark分组列表栏中出现了HTTP协议分组。 4)分析哪些分组是前一步浏览网页发生的。单击任意分组,分组详情栏显示其具体信息。 5)从步骤四所得的分组,获知此次通信的源IP地址和目的 IP地址。(这里,172.26.135.105是私有IP地址,所以是用户的主机) Ps:阅读http协议信息,知其主机名,即网址。 6)该 http 包的接口名字为Device\NPF_{DEDD4624-594C-4AB3-A15D-723FBB8F979C}) 连接方式为 WLAN 连接,连接时间为 Mar 26,2023 16:41:50.49117000,帧数为 2611,帧长度为 165bytes。 7)该 http 包的目的物理地址 HuaweiTe_35:82:12(34:58:40:35:72:12)源地址为 AzureWav_fb:e7:65(ec:2e:98:fb:e7:65),采用的连接方式为 IPv4。 8)源地址和目的地址的 IPv4 地址分别为 172.26.135.105 和 92.122.188.67,包头长度为 20bytes,标志符为 0xc5ae,TTL 为 128,包头校验 0xe870。 9)查看完六个 http 包的信息,可以看出来,有三次握手过程。 知道客户端能发消息— 知道服务端能收消息 — 知道客户端能收消息 — 知道服务端能发消息 — 知道服务器能收消息 — 知道客户端能发消息。 抓包的基本步骤如下: (1) 启动 Wireshark 软件 (2) 选择网络接口 (3) 设置抓包过滤器 (4) 开始抓包 (5) 设置显示过滤器 1.4抓取pop3会话 1) 2)
3) 4) 5)POP 接受登录
任务1总结: Wireshark 是一个功能强大的网络协议分析器,它可以捕获和分析网络数据包,可以 用来帮助管理员诊断网络故障、安全分析以及网络性能优化。wireshark 能够捕获指定数据 包、解码协议、重建会话、统计网络流量、分析网络安全。网络管理员可以使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者可以使用Wireshark来为新的通讯协议除错,普通使用者使用Wireshark来学习网络协议的相关知识。 任务2 HTTP 协议的认知与分析 实验目的: (1) 掌握浏览网页时 HTTP 协议的工作过程; (2) 学会使用 Wireshark 分析 HTTP 协议。 HTTP: HTTP协议是超文本传输协议,用于万维网服务器与本地浏览器之间传输超文本的传输协议。 HTTP是一个属于应用层的协议,基于浏览器-服务端架构工作,浏览器作为HTTP客户端通过URL向HTTP服务端作为即Web服务器发送请求,Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP协议的工作过程: HTTP是应用程协议,它是以TCP作为底层协议,默认端口号为80.通信过程。(tcp也会显示http的内容,因为http协议是基于tcp的) 1.服务端在80端口等待客户的请求。 2.浏览器发起到服务器的TCP连接 3.服务器接收来自浏览器的TCP连接 4.浏览器与Web服务器交换HTTP消息 5.关闭TCP连接 HTTP协议(Hypertext Transfer Protocol)是一种应用层协议,它用于在网络中传输超文本文档。HTTP协议的工作过程如下: 客户端发出HTTP请求:客户端发送HTTP请求到服务器,请求可以是一个页面、一张图片、一个视频等。 服务器响应HTTP请求:服务器收到请求后,返回一个HTTP响应,响应中包含请求的结果。 建立TCP连接:在客户端和服务器之间建立TCP连接,以便进行数据传输。 发送请求报文:客户端向服务器发送一个HTTP请求报文,报文中包含请求的方法、URI、协议版本、请求头部和请求正文等信息。 服务器处理请求:服务器接收到请求报文后,根据报文中的请求信息进行处理,可能包括查询数据库、调用服务器端程序等操作。 返回响应报文:服务器处理完成后,返回一个HTTP响应报文,报文中包含响应的状态码、协议版本、响应头部和响应正文等信息。 关闭TCP连接:传输完毕后,客户端和服务器关闭TCP连接。 以上是HTTP协议的基本工作过程,其中客户端和服务器之间的通信都是基于TCP/IP协议进行的。 实验步骤: 使用Google Chrome 浏览器打开百度网页,同时进行抓包操作。 从中可以得知本机设备的地址为 172.26.135.105,而百度的地址为39.107.239.80,在过程产生了两个数据包; http Frame信息: http Ethernet II信息: http IPV4信息; http TCP信息 http HTP信息 在1.3中我们分析了http五个层中的信息含义。根据上述实验内容回答以下问题: (1)你的浏览器运行的 HTTP 版本是 1.0 还是 1.1?服务器端的 HTTP 版本 是什么? 我的浏览器为 1.1 学校服务端为 1.1 (2)你的浏览器指出它所能够接受的语言是什么? zh-CN,zh (3)你的计算机的 IP 地址是什么?你所浏览的网站服务器的 IP 地址是什 么? 我的计算机 IP 地址为 172.26.135.105; 网站服务器 IP 地址为 39.107.239.80; (4)服务器返回给浏览器的状态码(Status code)是什么?代表了什么含义? 状态码为 200(Found)这意味着响应成功 (5)你所访问的 HTML 文件在服务器上最后的修改时间是什么? 2023年3月26日 16点41分51秒 (6)浏览器发出了多少个 HTTP GET 请求? 1个 (7)观察浏览器中发出的第 1 个 HTTP GET 请求,其中是否含有“IFMODIFIED-SINCE”这一行? 没有 (8)观察服务器响应报文的内容,服务器是否显示地返回了所请求的文件内容?你如何解释这种现象? 是,因为 HTTP 响应报文的实体体中包含了返回文件的内容。
(9)HTTP 客户端从服务器端获取网页对象使用的命令是什么?该命令每次能获取一个完整的网页吗? GET,不能 (10)浏览一个网页需要进行几次 TCP 连接?连接次数与什么有关? 连接次数具体和请求网页里的照片,视频数量有关 任务三:TCP 协议的认知与分析 实验目的 (1)掌握 TCP 协议的语法、语义和时序(操作流程) (2)学会使用 Wireshark 分析 TCP 协议 3.1 1)TCP三次握手数据包 2)本机设备的端口为 80;服务端的端口为 55363;三次握手的端口一致; 本机设备先对服务端进行一次 TCP 握手,然后服务端再对本机设备进行一次 TCP 握手,接着本机设备再对服务端进行一次 TCP 握手,由此完成连接。 3)第一次握手信息: 4)第二次握手信息: 5)第三次握手信息: 第一次:SYN = 1、ACK = 0、 Sequence number = 0 第二次:SYN = 1、ACK = 1、 Sequence number = 0 第三次:SYN = 0、ACK = 1、 Sequence number = 1 3.2问: 报文的序号以什么为单位?它在数据传输过程中的作用是什么?不同会 话中报文的起始序号都是一样的吗? 字节,保证了数据的可靠性,还能够实现流量控制和拥塞控制,从而保证了网络的高效性和稳定性,不一样。 3.3TCP报文组成格式: TCP报文由俩部分组成:TCP报头和TCP数据。 TCP报文是TCP传输的数据单元。 源端端口号:源端口和IP层解析出来的IP地址标识报文的发送地,同时也确定了报文的返回地址。对端端口号:表明了该数据报是发送给接收方计算机的具体的一个应用程序。序号:文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。例如:一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认序号:即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如收到一个报文段的序号为300,报文段数据部分共有100字节,回复的ACK的确认序号就是400。数据偏移:使用4个比特位,因为报头数据中含有可选项字段,所以TCP报头的长度是不确定的,除去可选项字段TCP的长度为20字节,4bit最大表示的数据为15,15 * (32 / 8)= 60 ,故。TCP报头最大长度为60字节。保留:为将来定义新的用途保留,现在一般置0标志位:UGR ACK PSH RST SYN FIN ,六个标志位代表六个不同的功能1) UGR: 紧急指针标志,为 1 时表示紧急指针有效,为 0 则忽略紧急指针 2) ACK: 确认序号标志,为 1 时表示确认序号有效,为 0 则表示报文中不含有确认信息,忽略确认字段号 3) PSH: push标志,为 1 表示是带有push标志的数据,指示接收方在接收到数据以后,应尽快的将这个报文交付到应用程序,而不是在缓冲区缓冲 4) RST: 重置连接标志,用于由主机崩溃或者其他原因而出现错误的连接,或者用于拒绝非法的报文段和拒绝连接请求 5) SYN: 同步序号,用于连接建立过程,在请求连接的时候,SYN=1和ACK=0表示该数据段没有捎带确认域,而连接应答捎带一个确认,表示为SYN=1和ACK=1 6) FIN: 断开连接标志,用于释放连接,为 1 表示发送方已经没有数据发送,即关闭数据流 窗口:滑动窗口大小,用来告知发送端接收端的缓存大小,以此来控制发送端的发送速率,从而达到流量控制。窗口大小是一个16比特位的字段,因而窗口大小最大为65535字节。校验和: 奇偶校验,此校验和是对整个TCP报文段,包括TCP头部和TCP数据,以16位字进行计算所得,由发送端计算和存储,并由接收端进行验证。紧急指针: 只有当URG标志置为1的时候,紧急指针才有效,紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。选项和填充: 最常见的可选字段是最长报文的大小,又称为MSS,每个连接方通常在通信的第一个报文段(也就是第一次握手的SYN报文的时候)中指明这个选项,表示本端所能接受的最大报文段的长度。提示:选项长度不一定是32位的整倍数,所以要有填充位,即在这个字段中加入额外的零,以保证TCP头是32的整倍数。数据部分: TCP报文段中的数据部分是可选的,在一个建立连接和断开连接的时候,双方交换的报文段只有TCP的首部。如果一方没有数据要发送,也灭幼使用任何数据的首部俩确认收到的数据,在处理超时的许多情况中,也会发送不带你任何数据的报文段。
四、讨论与总结(请阐述实验过程中所遇到的问题及解决办法,或者后续可以继续探索的问题等) 遇到了打开软件时对c盘的不断修改,后发现以管理员身份运行就没事了,ppt里的实验讲述有点难以理解,但后面通过询问同学以及在b站大学学习,对Wireshark的使用有了初步的了解。 可以探索TCP的四次断连。 五、意见与建议(请给出对于本实验内容的意见和建议) 可以制作一些指导视频来指导实验,这样就不用花太多时间去了解一个软件的使用。
|
CopyRight 2018-2019 实验室设备网 版权所有 |