网络协议与攻击模拟_16HTTP协议

news2024/11/24 2:11:14

1、HTTP协议结构

2、在Windows server去搭建web扫描器

3、分析HTTP协议流量

一、HTTP协议

1、概念

HTTP(超文本传输协议)用于在万维网服务器上传输超文本(HTML)到本地浏览器的传输协议

基于TCP/IP(HTML文件、图片、查询结构等)

2、万维网

  • 采用C/S架构
  • 客户机通过浏览器去请求,从而在浏览器上就可以看到对应图形界面。浏览器/服务器(B/S)

3、万维网服务的软件

  • windows server IIS(Windows平台)
  • apache(多平台)
  • tomcat(多平台)
  • nginx(多平台)
  • ……

二、HTTP工作原理

1、工作原理

  • 在客户端使用浏览器通过URL向HTTP服务器发送请求
    • URL(统一资源定位符),由协议、主机和端口及文件名和路径三部分组成
  • web服务器根据收到的请求直接向客户机响应信息
    • 如果页面不存在的话,会报404错误提示;有的页面会做跳转,如下图中访问了一个不存在的地址,提示“页面没有找到,5秒钟之后会带您进入新浪的首页”。
  • 针对于HTTP默认的端口号是80端口,默认端口可以改(会影响客户机的访问,建议改为其他非标准端口)

2、交互过程

3、注意事项

  • HTTP协议是无连接的:“无连接”的含义是限制每次连接只处理一个请求,之后在请求的时候都需要重新建TCP三次握手,虽然每次请求都需要重新建立TCP三次握手,但是这种方式可以节省传输时间,不会存在客户端没有请求了但服务器还保持着的资源占用问题。
  • HTTP是独立的:只要客户端和服务器知道如何去处理数据内容,任何类型的数据都可以通过HTTP发送,客户端及服务器指定使用场合的MIME-type(消息内容类型)
  • HTTP是无状态的:没有记忆能力。“无状态”类似于UDP,如果后续的处理需要前面的信息,就必须重传,每次连接传输的数据量比较大。

    举个例子:某些内容需要登录才能访问,如用户名和密码不会被记录,造成的结果就是后续你要访问登录的内容的时候,就必须把前面的内容要重传一下,这就引入了Session和Cookie。

三、windows server搭建IIS服务

1、新建网站

关掉默认站点,然后添加网站;找到D盘下面建woniu网站的目录及文件。

添加网站

启动后就可以访问了

字符编码有点问题,改成gb2312

刷新一下就OK了

2、winsahrk抓包分析

(1)第一次分析

打开本机的winshark然后浏览器访问下

247.1是物理的Vmnet1网卡的IP地址,前面是和server的三次握手

追踪流

这里就是HTTP协议了,然后我们看下HTTP里面的报文,这里是请求的头部内容。

这里响应是304,NOT Modify

接着这里做了一个确认,接着又重新请求

接着又重新请求

接着是一个404响应

接着客户机确认了一下

下面都是TCP的keep Alive,keep Alive是持久性连接,客户机向服务器发起持久性连接请求

服务器确认客户机的KeepAlive请求

其实最好的方式是去追踪TCP流

在这里比较好看一点。

其实这里是有问题的,404Not Found

(2)第二次分析

修改网页源码

重启网站,重新抓包,现在就对了

新建网站应该重启一下,我们之前访问的时候虽然浏览器是访问到了页面的,但是根据抓包实际上是有个404 Not Found的。

去追踪一下TCP流,去看这里

GET请求,服务器直接响应了页面,页面内容就是我们网站的index.html的源码

下面就是持久性连接,它这里Connection携带的是keep-alive持久性连接

看到这里一直没有TCP的四次挥手

当把这个页面关掉之后,重新访问,这里是RST重连

所以从这里看,HTTP协议很简单就一个请求一个响应

但是有数据库就不一样了,比如一些表单也不一样,你要输用户名密码的时候就不一样了。

四、HTTP报文

1、请求报文

请求报文:了解常见的请求方法以及一些字段的含义

  • 请求头
  • 请求方法 / 协议/协议版本
  • Host:主机
  • Connection:keep-alive持久性连接
    因为HTTP是无状态的,请求一个响应一个,比如说我刚登陆用户名和密码,服务器响应用户名没有任何问题,此时就可以访问付费资源了。你马上又要访问付费资源的时候,服务器提示你输入用户名和密码,这个时候就进入了一种死循环吗,服务器不停的让你输用户名和密码,账号和密码都输入成功了吗,也确认了没有问题,但这个时候就是访问不了付费资源。这个时候采用持久性连接,当你输入一次用户名和密码登录后,服务器就记住了并保持登录的状态。
  • Upgrade-Insecure-Request
    现在浏览器都采用安全机制,可以报警,加入这个字段,发送请求时可以升级不安全的请求。因为我们采用的还是HTTP协议,其实就是告诉浏览器这里是可以升级不安全的请求的。
  • User-Agent:客户端的信息,分为两块,一块是浏览器的信息,一块是操作系统的信息。
  • Accept:请求头中的内容,代表用户端可以处理的媒体类型,说白了就是告诉服务器我可以处理的媒体类型有哪些。
  • Accept-Encoding:表示它的压缩方法
  • Accept-Language:语言

2、响应报文

响应报文:知道状态码及其含义

  • 响应头部
    • 协议类型/版本  状态码 
    • Content-Type:text/html与请求报文的Accept相对应表示接收内容的类型
    • Last-Modified:上次修改的日期
    • Accept-Ranges:bytes
    • ETage:被请求变量的实体
    • Server:服务器的信息
    • Date:日期
    • Content-Length:接收内容的长度
  • 响应内容
    • 响应状态码
    • 1XX 表示服务器收到请求
    • 2XX 表示操作成功
    • 3XX 表示重定向(访问页面不存在服务器会根据重定向跳转到相关页面)
    • 4XX 表示用户端出错
    • 5XX 表示服务器错误

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Anaconda 运行 gempy examples。示例::

默认读者已安装:Anaconda. 若未安装请参考以下文章: Windows中如何使用 Anaconda 和 gempy地质建模 1,打开Anaconda Navigator: 打开后如此: 运行JupyterLab: launch。 打开gempy example 建模示例: 官方地址&#x…

Linux diff命令

参考资料 【 diff 】コマンド(基本編)――テキストファイルの差分を出力する便利なdiffコマンド使い方 目录 前期准备一. 基本语法二. 文件比较2.1 无配置项2.2 -B 忽略空行,-w忽略空格2.3 -y 文件内容横向比较显示2.4 -q 仅显示文件是否不同…

AlmaLinux右键菜单(基于GNOME桌面)

文章目录 前言前提说明在文件上右键在文件夹上右键 前言 在使用VSCode的过程中,AlmaLinux没能像Windows一样在右键菜单上显示打开方式,所以找了一下解决方案,罗列出来 前提说明 虽然说无论是media还是StackOverflow都推荐使用这条命令&…

2024年华为OD机试真题-多段线数据压缩-Java-OD统一考试(C卷)

题目描述: 下图中,每个方块代表一个像素,每个像素用其行号和列号表示。 为简化处理,多段线的走向只能是水平、竖直、斜向45度。 上图中的多段线可以用下面的坐标串表示:(2, 8), (3, 7), (3, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 3), (8, 4), (7, 5)。 但可以发现,这…

Stable Diffusion 模型下载:majicMIX lux 麦橘辉耀 - V3

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

王树森《RNN Transformer》系列公开课

本课程主要介绍NLP相关,包括RNN、LSTM、Attention、Transformer、BERT等模型,以及情感识别、文本生成、机器翻译等应用 ShusenWang的个人空间-ShusenWang个人主页-哔哩哔哩视频 (bilibili.com) (一)NLP基础 1、数据处理基础 数…

【DDD】学习笔记-统一语言与领域分析模型

无论你采用什么样的软件开发过程,对于一个复杂的软件系统,都必然需要通过分析阶段对问题域展开分析,如此才能有的放矢地针对该软件系统的需求寻找设计上的解决方案。在领域驱动设计中,分析阶段完全围绕着“领域”为中心展开&#…

RabbitMQ(保姆级教程)

RabbitMQ学习 基础 1. 同步通信和异步通信 同步调用 下一步动作必须依赖上一步 异步调用 通知到位就行,不对消费者做强制要求,只要求最终一致性就行 2. MQ技术选项 消息先进先出,RabbitMQ默认有序 Erlang 是面向并发&#xff0c…

STM32 + ESP8266,连接阿里云 上报/订阅数据

(文章正在编辑中,一点点地截图操作过程,估计要拖拉两三天) 一、烧录MQTT固件 ESP8266出厂时,默认是AT固件。连接阿里云,需要使用MQTT固件。 1、独立EPS8266模块的烧录方法 2、魔女开发板,板载…

备战蓝桥杯---组合数学基础1

让我们来几道高中的组合题吧: 1.我们一定有n个向下,为 2.我们挑最大的两个,条件是他们奇偶性相同,为2*A10,2; 3.用捆绑法即可。 4.我们用隔板法,为 5.问题等价于23个相同的球放到3个盒子里,每个盒子至少…

【北邮鲁鹏老师计算机视觉课程笔记】04 fitting 拟合

【北邮鲁鹏老师计算机视觉课程笔记】04 fitting 拟合 1 拟合的任务 如何从边缘找出真正的线? 存在问题 ①噪声 ②外点、离群点 ③缺失数据 2 最小二乘 存在的问题 3 全最小二乘 度量的是点到直线的距离而不是点在y方向到直线的距离 提示:点到直线的…

ChatGPT偷懒、变慢的罪魁祸首竟然是它?!系统提示词塞满垃圾!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

【Java程序设计】【C00263】基于Springboot的分布式架构网上商城(有论文)

基于Springboot的分布式架构网上商城(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的网上商城 本系统分为管理员功能模块以及系统功能模块。 系统功能模块:在系统首页可以查看首首页、商品信息、购物…

【Git】移除Git中的文件

有的时候需要移除或者更新 Git 中的文件,我们无法直接在远程仓库中移除,移除或者更新操作需要在本地端实现。 1、移除被跟踪文件 当某个文件被添加到暂存区或者本地仓库,此时会被标记为“跟踪状态”,此时 Git 就会代为管理这个文…

肿瘤微环境异质性对治疗反应的影响(综述)

Influence of tumour micro-environment heterogeneity on therapeutic response | Nature 肿瘤的形成涉及肿瘤细胞与细胞外基质、肿瘤血管和免疫细胞的共同进化。肿瘤的成功生长和最终转移并不完全取决于肿瘤细胞的基因改变,还取决于这种突变在特定环境中带来的适…

通过QT制作一个模仿微信主界面的界面(不要求实现具体通信功能)

main.cpp #include "widget.h" #include "second.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//实例化第二个界面Second s;QObject::connect(&w, &Widget::my_jump, &…

STM32F1 引脚重映射功能

STM32 端口引脚重映射 文章目录 STM32 端口引脚重映射前言1、查阅芯片数据手册1.1 串口引脚重映射描述 2、代码部分2.1 核心代码部分 3、实验现象4、总结 前言 在写程序时遇到想要的端口功能&#xff0c;而这个引脚又被其它的功能占用了无法删除掉或直接使用&#xff0c;这种情…

Netty应用(三) 之 NIO开发使用 网络编程 多路复用

目录 重要&#xff1a;logback日志的引入以及整合步骤 5.NIO的开发使用 5.1 文件操作 5.1.1 读取文件内容 5.1.2 写入文件内容 5.1.3 文件的复制 5.2 网络编程 5.2.1 accept&#xff0c;read阻塞的NIO编程 5.2.2 把accept&#xff0c;read设置成非阻塞的NIO编程 5.2.3…

基础IO[一]

文件文件内容属性 文件在硬盘上放着&#xff0c;我们的流程->写代码->编译->运行->访问文件。那么本质上是谁在访问&#xff1f; 是进程在访问。进程访问文件是需要通过接口来访问。 文件在磁盘上放着&#xff0c;要向硬件写入文件&#xff0c;谁有权限呢?必须…

腾讯云4核8G服务器多少钱?2024精准报价

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;标准型SA2服务器1444.8元一年&#xff0c;轻量应用服务器4核8G12M带宽一…