Wireshark数据抓包分析之HTTP协议

一、实验目的:

        主要时熟悉wireshark的使用

二、预备知识:

        HTTP协议的相关知识

 what fk,原来只要在右页点击切换,就可以开启2台不同的机器欸!nice

三、实验过程:

1.在机器1中通过管理员身份运行hfs之后,设置端口为8080,并将桌面的hfs文件夹添加为真实的目录,然后设置好用户名和密码,最后在属性中的上传选中所有人即可

2.切换到机器2中,先打开wireshark进行capure,并且用ip.addr == 10.1.1.33进行过滤

(1)获取http-get方法的相关数据包

首先,因为机器1中已经用hfs创建了对应的服务器,所以,可以在浏览器中输入10.1.1.33:8080进行访问,访问的过程中就使用到了http-get方法,

打开页面后,停止capure并且save出当前的情况

(2)获取http-post方法的相关数据包

重新打开wireshark进行capure,然后上传那个txt文件,同样这个过程使用了http-post方法(这一步也就是为什么当时需要设置都可以上传的属性的原因),停止capure并且save情况

3.最后,就是对上述抓取的2个方法的分别的请求报文和响应报文进行分析:

一下介绍其中的值得注意的地方:

part1:get方法的请求报文-

(1)客户端口 , 服务端口

(2)流索引,TCP分片长度,序列编号,下一个序列编号,ack号,头部字节长度

 上面的是IP协议还有以太网协议部分的内容

(3)下面的TCP的具体内容才是重中之重:

包括:

请求方法,HTTP版本号

使用的浏览器

接受的语言

接受的编码方式

持续连接

以及,下一个响应报文的位置

 part2:get方法的响应报文(通过上一个请求报文的链接到达)

不过,这里我想要详细地对这个结构进行分析,包括IP协议那些内容,

Num.1 

这个Frame结构,应该就是说明一共在网卡上这个数据包捕获了多少个字节的数据吧 

Num.2

然后就是 IPv4这个协议的内容了,

单独看这个标题的内容话,可以看到源Ip地址10.1.1.33,和目标Ip地址10.1.1.42

打开那个“+”,一窥究竟:

 依次显示的是:

ip协议的版本号,

ip头部的长度,

ip数据包的总长度,

time to live 这个经过的网关生存数

下一个协议是TCP协议,

源ip地址和目标ip地址

TCP协议的小标题,记录了源端口号和目标端口号,seq号,ack号,和数据包长度

打开这个“+”看一下咯

 

 起始除了这个,后面还有一点不知道是啥的内容,我就暂时不管了欸

这里记录了这些内容欸:

源端口号和目标端口号,

流索引,

TCP分片长度,

序列号,

ack号,

头部长度

这个东东不知道是啥,不管了

终于到了我们可爱的HTTP协议部分,这才是应用层的东西啊!它里面有:

HTTP的版本号,200状态号,OK这个字符解释

服务器类型名称,cookie,encoding方式,

当然,还有下一个frame的位置 

part3:post方法的请求报文分析:

嘿嘿,这里的三次TCP握手的部分被我看到了欸!!!

 这个post请求报文的部分就非常清晰了,开始就是Frame数据,然后是以太网协议,之后就是Ipv4协议,之后是TCP协议,最后是Http协议部分:

这里我们直接来看http协议部分:

 我去,弄错了,这个是get方法的请求报文

下面这个才是post方法的请求报文:

奇怪了,为什么这里的源IP地址和目标ip地址还是这个样子?不对劲啊!

 part4:post方法的响应报文

分析的内容基本和get方法一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108778.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第七周第七天学习总结 | MySQL入门及练习学习第二天

实操练习: 1.创建一个名为 cesh的数据库 2.在这个数据库内 创建一个名为 xinxi 的表要求该表可以包含:编号,姓名,备注的信息 3.为 ceshi 表 添加数据 4.为xinxi 表的数据设置中文别名 5.查询 在 xinxi 表中编号 为2 的全部…

Navicat for Mysql 显示 emoji 表情符号乱码问题 — 其它乱码情况都可参考

系统环境: 操作系统:MAC OS 10.11.6 MySQL:Server version: 5.6.21 MySQL Community Server (GPL) Navicat for MySQL: version 9.3.1 - standard 1、问题发现 在客户端执行用户注册,用户名包括 emoji 表情符号,注册完…

线性代数的学习和整理14: 线性方程组求解

目录 1 线性方程组 2 有解,无解 3 解的个数 1 线性方程组 A*xy 3根直线的交点,就是解 无解的情况 无解: 三线平行无解:三线不相交 有解 有唯一解:三线相交于一点有无数解:三条线重叠 2 齐次线性方程组…

软件测试的方法有哪些?

软件测试 根据利用的被测对象信息的不同,可以将软件测试方法分为:黑盒测试、灰盒测试、白盒测试。 1、白盒测试 1)概念:是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试…

LabVIEW软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国National Instruments(简称NI)公司开发的一款图形化编程工具,广泛应用于测试、测量和控制系统…

【深度学习】实验03 特征处理

文章目录 特征处理标准化归一化正则化 特征处理 标准化 # 导入标准化库 from sklearn.preprocessing import StandardScalerfrom matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore&quo…

Tomcat 部署时 war 和 war exploded区别

在 Tomcat 调试部署的时候,我们通常会看到有下面 2 个选项。 是选择war还是war exploded 这里首先看一下他们两个的区别: war 模式:将WEB工程以包的形式上传到服务器 ;war exploded 模式:将WEB工程以当前文件夹的位置…

基于风险的漏洞管理

基于风险的漏洞管理涉及对即将被利用的漏洞的分类响应,如果被利用,可能会导致严重后果。本文详细介绍了确定漏洞优先级时要考虑的关键风险因素,以及确保基于风险的漏洞管理成功的其他注意事项。 什么是基于风险的漏洞管理对基于风险的漏洞管…

prometheus监控JVM(接入tomcat)

一、整合jmx_exporter及tomcat 1、 jmx_exporter下载地址 https://github.com/prometheus/jmx_exporter/releases 2、 tomcat配置文件下载地址 https://github.com/prometheus/jmx_exporter/blob/main/example_configs/tomcat.yml 3、创建tomcat_exporter目录 [rootlocalhost ~…

前端需要理解的性能优化知识

优化的目的是展示更快、交互响应快、页面无卡顿情况。 1 性能指标 2 分析方法 使用 ChromeDevTool 作为性能分析工具来观察页面性能情况。其中Network观察网络资源加载耗时及顺序,Performace观察页面渲染表现及JS执行情况,Lighthouse对网站进行整体评分…

【算法训练-双指针】最长无重复子串(数组)

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是最长无重复子串或最长无重复子数组,这类题目出现频率还是很高的。 最长无重复子数组 先来看看数组数据结构的题目 题干 输入&#…

Android studio 软件git使用

在 test 分支添加的方法 , 现在切换到 master分支 总共 2 个分支 , 当前的分支是 test 出现了 先试一下 force checkout , 尝试之后发现 , 你更改没有带过来 , 以为哪个类在master分支没有 , 所以这边也没有 , 切回分支 test 发现之前的跟改没有 , 这样即可以找回 继续切换…

土豆叶病害识别(图像连续识别和视频识别)

效果视频:土豆叶病害识别(Python代码,pyTorch框架,视频识别)_哔哩哔哩_bilibili 代码运行要求:Torch库>1.13.1,其它库无版本要求 1..土豆叶数据集主要包好三种类别(Early_Blight…

Redis下载与安装

文章目录 Redis简介下载,安装和配置(cmd)图形化工具 Redis 简介 下载,安装和配置(cmd) 开启redis服务 1.在解压出来的文件夹中打开cmd 2.输入 redis-server.exe redis.windows.conf即可开启服务 可以看到…

用香港服务器域名需要备案吗?

​  在选择服务器的时候,很多人会考虑使用香港服务器。香港服务器的一个优势就是不需要备案。不管是虚拟主机还是云主机,无论是个人网站还是商业网站,都不需要进行备案手续。 域名实名认证 虽然不需要备案,但使用香港服务器搭建…

Jetpack Compose UI架构

Jetpack Compose UI架构 引言 Jetpack Compose是我职业生涯中最激动人心的事。它改变了我工作和问题思考的方式,引入了易用且灵活的工具,几乎可轻松实现各种功能。 早期在生产项目中尝试了Jetpack Compose后,我迅速着迷。尽管我已有使用Co…

【jvm】双亲委派机制

目录 一、说明二、工作原理三、优势四、图示 一、说明 1.java虚拟机对class文件采用的是按需加载的方式,当需要使用该类时才会将它的class文件加载到内存生成class对象 2.加载某个类的class文件时,java虚拟机采用双亲委派模式,即把请求交给由…

Spring Authorization Server入门 (十六) Spring Cloud Gateway对接认证服务

前言 之前虽然单独讲过Security Client和Resource Server的对接,但是都是基于Spring webmvc的,Gateway这种非阻塞式的网关是基于webflux的,对于集成Security相关内容略有不同,且涉及到代理其它微服务,所以会稍微比较麻…

怎么把pdf转换成jpg格式?

怎么把pdf转换成jpg格式?在我们日常的办公过程中,PDF文件是一个经常被使用来传输文件的格式。它能够确保我们的文件内容不会混乱,并以更加完美的方式呈现出来。然而,PDF文件也存在一些缺陷。例如,它无法直接编辑&#…

React+Typescript从请求数据到列表渲染

我们在项目src目录下创建一个目录 叫 pages 在里面创建一个组件叫 list.tsx 这里 我启动了自己的java项目 创建接口 你们就也需要弄几个自己的接口做测试 然后 list.tsx 编写代码如下 import * as React from "react";export default class hello extends React.C…