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方法一致

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于LSTM深度学习网络的时间序列分析matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 % 随机打乱数据集并划分训练集和测试集 index_list randperm(size(wdata, 1)); ind …

智慧水务在供水行业的应用场景

什么是“智慧水务” 智慧水务指利用物联网、智能传感、云计算、大数据、人工智能等技术对供水、排水、节水、污水 处理、防洪等水务环节进行智慧化管理。智慧水务通过结合传感器、通信网络、水务信息系统提升水务信息化水平,实现水务管理协同化、水资源利用高效化、…

C语言:指针(超深度讲解)

目录 指针: 学习目标: 指针可以理解为: 字符指针: 定义:字符指针 char*。 字符指针的使用: 练习: 指针数组: 概念:指针数组是一个存放指针的数组。 实现模拟二维…

Linux 虚拟机Ubuntu22.04版本通过远程连接连接不上,输入ifconfig只能看到127.0.0.1的解决办法

之前给虚拟机配置静态IP之后,可以直接通过主机Vscode远程连接。但是前一段时间把主机的TCP/IPV4静态IP设置了一下之后,再连接虚拟机就连不上了,于是参考解决虚拟机不能上网ifconfig只显示127.0.0.1的问题,又可以连接上了&#xff…

Centos7查看磁盘和CUP统计信息iostat命令

Centos7查看磁盘和CUP统计信息iostat命令 Centos7内存高|查看占用内存命令 docker实战(一):centos7 yum安装docker docker实战(二):基础命令篇 docker实战(三):docker网络模式(超详细) docker实战(四):docker架构原理 docker实战(五):docker镜像及仓库配置 docker实战(六…

【集合学习HashMap】HashMap集合详细分析

HashMap集合详细分析 一、HashMap简介 HashMap 主要用来存放键值对(key-value的形式),它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 HashMap 可以存储 null 的 key 和 value,但 …

sentinel的基本使用

在一些互联网项目中高并发的场景很多&#xff0c;瞬间流量很大&#xff0c;会导致我们服务不可用。 sentinel则可以保证我们服务的正常运行&#xff0c;提供限流、熔断、降级等方法来实现 一.限流&#xff1a; 1.导入坐标 <dependency><groupId>com.alibaba.c…

Azure防火墙

文章目录 什么是Azure防火墙如何部署和配置创建虚拟网络创建虚拟机创建防火墙创建路由表&#xff0c;关联子网、路由配置防火墙策略配置应用程序规则配置网络规则配置 DNAT 规则 更改 Srv-Work 网络接口的主要和辅助 DNS 地址测试防火墙 什么是Azure防火墙 Azure防火墙是一种用…

ListNode相关

目录 2. 链表相关题目 2.1 合并两个有序链表&#xff08;简单&#xff09;&#xff1a;递归 2.2 删除排序链表中的重复元素&#xff08;简单&#xff09;&#xff1a;一次遍历 2.3 两链表相加&#xff08;中等&#xff09;&#xff1a;递归 2.4 删除链表倒数第N个节点&…

如何在网页下载腾讯视频为本地MP4格式

1.打开腾讯视频官网地址 腾讯视频 2.搜索你想要下载的视频 3. 点击分享,选择复制通用代码 <iframe frameborder="0" src="ht

新生录取信息收集

随着高等教育的普及&#xff0c;每年都有大量的学生被大学录取。对于学校来说&#xff0c;新生录取确认和信息收集是一项重要的工作&#xff0c;但也是一项繁琐而耗时的任务。然而&#xff0c;通过合理的规划和利用现代科技手段&#xff0c;我们可以轻松搞定这一工作&#xff0…

在mac下,使用Docker安装达梦数据库

前言&#xff1a;因为业务需要安装达梦数据库 获取官网下载tar包&#xff08;达梦官网的下载页面https://www.dameng.com/list_103.html&#xff09;&#xff0c;或者通过命令 一、下载tar包 命令下载&#xff1a;wget -O dm8_docker.tar -c https://download.dameng.com/eco/…

自定义mybatis拦截器,在若依springboot项目中不起作用的原因

自定义mybatis拦截器&#xff0c;在若依springboot项目中不起作用的原因 找到 MyBatisConfig 配置类&#xff0c;引入自定义配置 在sqlSessionFactory中添加自定义拦截器&#xff0c;就可以正常使用了 package com.lingxu.framework.config;import com.lingxu.common.core.…

uniapp使用uni.chooseLocation()打开地图选择位置

使用uni.chooseLocation()打开地址选择位置&#xff1a; 在Uniapp源码视图进行设置 添加这个属性&#xff1a;"requiredPrivateInfos":["chooseLocation"] ​ </template><view class"location_box"><view class"locatio…

基于CentOS7.9安装部署docker(简洁版)

安装部署 1基于官方脚本安装&#xff08;不推荐 不能自行选择版本&#xff09; 官方文档&#xff1a;https://docs.docker.com/engine/install/centos/ 2 使用yum安装 阿里云文档&#xff1a;docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 # ste…

(二)k8s实战-深入Pod详解

一、配置文件详解 创建Pod nginx样例 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型&#xff0c;Pod, Deployment,StatefulSet metadata: # Pod相关的元数据&#xff0c;用于描述Pod的数据name: nginx-demo # Pod的名称labels: # 定义Pod的标签type: app # 自定义l…

AVL——平衡搜索树

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——AVL树☂️<3>开发环境&#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;AVL树是对二叉搜索树的严格高度控制&#xff0c;所以AVL树的搜索效率很高…

数据库索引优化策略与性能提升实践

文章目录 什么是数据库索引&#xff1f;为什么需要数据库索引优化&#xff1f;数据库索引优化策略实践案例&#xff1a;索引优化带来的性能提升索引优化规则1. 前导模糊查询不适用索引2. 使用IN优于UNION和OR3. 负向条件查询不适用索引4. 联合索引最左前缀原则5. 范围条件查询右…

【TS】typescript基础知识

一、类型注解 : number就是类型注解&#xff0c;为变量添加类型约束的方式&#xff0c;约定了什么类型&#xff0c;就只能给变量赋什么类型的值 let age: number 18二、变量命名规则和规范 命名规则&#xff1a;变量名称只能出现数字&#xff0c;字母&#xff0c;下划线(_)…

python rtsp 硬件解码 二

上次使用了python的opencv模块 述说了使用PyNvCodec 模块&#xff0c;这个模块本身并没有rtsp的读写&#xff0c;那么读写rtsp是可以使用很多方法的&#xff0c;我们为了输出到pytorch直接使用AI程序&#xff0c;简化rtsp 输入&#xff0c;可以直接使用ffmpeg的子进程 方法一 …