HTTP协议分析--第5关:HTTP 认证

这篇具有很好参考价值的文章主要介绍了HTTP协议分析--第5关:HTTP 认证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

任务描述

本关任务:分析 HTTP 认证过程及 HTTP 协议中认证相关的字段。

相关知识

为了完成本关任务,你需要掌握:

  1. HTTP 协议中如何完成认证;
  2. 识别 HTTP 协议中认证相关的字段。
HTTP认证方式

HTTP 中有如下常用认证方式:

  1. Basic 认证;
  2. Digest 认证;
  3. SSL Client 认证;
  4. 表单认证。
HTTP 基本认证

当一个客户端向 HTTP 服务器进行数据请求时,如果客户端未被认证,则 HTTP 服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。

客户端在接收到 HTTP 服务器的身份认证要求后,会提示用户输入用户名及密码,然后将用户名及密码以BASE64加密,加密后的密文将附加于请求信息中。 如当用户名为anjuta,密码为:123456时,客户端将用户名和密码用“:”合并,并将合并后的字符串用BASE64加密为密文,并于每次请求数据时,将密文附加于请求头(Request Header)中。HTTP 服务器在每次收到请求包后,根据协议取得客户端附加的用户信息(BASE64加密的用户名和密码),解开请求包,对用户名及密码进行验证,如果用户名及密码正确,则根据客户端请求,返回客户端所需要的数据;否则,返回错误代码或重新要求客户端提供用户名及密码。

BASIC 认证的步骤:

  1. 客户端访问一个受 HTTP 基本认证保护的资源;
  2. 服务器返回 401 状态,要求客户端提供用户名和密码进行认证。(验证失败的时候,响应头会加上 WWW-Authenticate: Basic realm="请求域" ),如下所示:
     
      
    1. 401 Unauthorized
    2. WWW-Authenticate: Basic realm="WallyWorld"
  3. 客户端将输入的用户名密码用Base64进行编码后,采用非加密的明文方式传送给服务器;
     
      
    1. Authorization: Basic xxxxxxxxxx.
  4. 服务器将 Authorization 头中的用户名密码解码并取出,进行验证,如果认证成功,则返回相应的资源;如果认证失败,则仍返回 401 状态,要求重新进行认证。
HTTP 摘要认证 digest authentication

该认证是 HTTP1.1 提出的基本认证的替代方法,不包含密码的明文传递。 摘要认证使用随机数 + MD5 加密哈希函数来对用户名、密码进行加密,在上述第二步时,服务器返回随机字符串 nonnce 之后,客户端发送摘要MD5(HA1:nonce:HA2)。 其中HA1=MD5(username:realm:password),HA2=MD5(method:digestURI)

HTTP 开放认证 OAuth Authentication

开放认证允许用户提供一个令牌,而不是用户名和密码来访问它们存放在特定服务器的数据,每一个令牌授权一个特定的第三方系统。

HTTP(令牌认证) Token Authentication

令牌认证是指当用户第一次登陆时,服务器生成一个 token 并返回给客户端,之后的每次访问客户端都会带上该 token,无需再次带上用户名和密码。

基本认证中的认证相关字段

本实训主要对基本认证进行分析,从上述过程中可以看出,与基本认证有关的字段分别为: (1)服务器响应状态码与状态描述:当服务器响应状态码为 401 时,表明服务器资源需要认证。 其状态描述为Unauthorized,表明未通过认证,当响应200 OK时,表明通过认证,正常响应; (2)当用户提供用户名和密码后,重新提出请求时: Authorization: Basic xxxxxxxxxx. Authorization 字段表明在请求中,提供了需要的认证方式和认证信息(已经经过加密)。

操作要求

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,将查询的信息保存到文件message-5.txt。具体要求如下:

(1)打开 Wireshark,加载实训文件夹中的http-ethereal-trace-5文件并筛选出其中的 HTTP 报文;

(2)查看对浏览器的初始 HTTP GET 消息的服务器响应状态描述的值,写入文件中;

(3)查看上述服务器响应报文中 WWW-Authenticate 字段的值,并写入文件中;

(4)查看第二次发送 GET 请求报文中的认证方式,写入文件中;

(5)对第二次 GET 请求服务器响应的状态描述,写入文件中;

message-5.txt

HTTP协议分析--第5关:HTTP 认证,# HTTP协议分析,计算机网络,http,网络协议,网络文章来源地址https://www.toymoban.com/news/detail-761801.html

到了这里,关于HTTP协议分析--第5关:HTTP 认证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】HTTP 协议

    前面我们介绍了网络 TCP/IP 五层模型中的各个层,在这五层中,应用层是和我们程序员息息相关的,需要我们程序员写出代码来实现,前面我们只是简单讲了应用层中的自定义协议,虽然自定义协议显得很灵活可以根据需求随时更改,但是在实际生活中自定义的协议使用的还

    2024年02月05日
    浏览(74)
  • 计算机网络(5) --- http协议

    计算机网络(4) --- 协议定制_哈里沃克的博客-CSDN博客 协议定制 https://blog.csdn.net/m0_63488627/article/details/132070683?spm=1001.2014.3001.5501 目录 1.http协议介绍 1.协议的延申 2.http协议介绍 3.URL 4.urlencode和urldecode 2.HTTP协议结构 1.引入 2.细节 3.HTTP协议的使用 1.协议 2.网页配置 3.HTTP请求方法

    2024年02月14日
    浏览(38)
  • 【计算机网络】应用层协议 -- HTTP协议

    协议。网络协议的简称,网络协议是通信计算机双方必须共同遵守的一组约定,比如怎么建立连接,怎么互相识别等。 为了使数据在网络上能够从源头到达目的,网络通信的参与方必须遵守相同的规则,我们称这套相同的规则为协议(protocol),而协议最终都需要通过计算机

    2024年02月15日
    浏览(41)
  • 计算机网络 - http协议 与 https协议(2)

    本篇介绍了构造http请求的的五种方式,简单的使用postman构造http请求,进一步了解https, 学习https的加密过程,了解对称密钥与非对称密钥对于加密是如何进行的,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 1) 直接在浏览器中的地址栏中输入一个 u

    2024年02月13日
    浏览(57)
  • Linux 计算机网络 深入理解HTTP协议

    HTTP是超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议。下面就来介绍HTTP的组成与特性。 HTTP是 ⽆连接 , ⽆状态 , ⼯作在应⽤层 的协议。 ⽆连接: http协议本身是没有维护连接信息的, http的数据会交给⽹络协议栈传输层的TCP协议, ⽽TCP是⾯向

    2024年02月14日
    浏览(38)
  • 计算机网络学习day02|HTTP协议

    目录 一、HTTP报文格式长什么样?是如何分割的? 请求行 状态行 头部字段 常用头字段 小结 二、HTTP提供了哪些方法?GET和POST的区别是什么? 1.HTTP有哪些方法 2.GET/HEAD 3.PSOT/PUT 小结 三、URI和URL URI 的格式 URI 的基本组成 URI 的查询参数 小结 四、HTTP有哪些状态码?分别代表什

    2024年04月23日
    浏览(42)
  • 计算机网络的故事——简单的HTTP协议

    ` HTTP是不保存状态的协议,为了实现保存状态功能于是引入了Cookie技术。 method: get:获取资源 post:传输实体主体 put:传输文件 head:获取报文首部,用于确认URI的有效性以及资源的更新日期时间等 delete:删除文件 put和delete不带验证机制,所以一般也不会使用delete方法,options:询问

    2024年02月09日
    浏览(36)
  • 【计算机网络】应用层——HTTP 协议(一)

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 HTTP协议全称超文本传输协议,通过浏览器和服务器进行数据交互,进行

    2024年01月23日
    浏览(42)
  • 计算机网络 - 应用层http协议 - http报文格式介绍(1)

    本篇认识和理解应用层中的http协议,了解抓包工具并进行使用,认识请求报文与响应报文,了解报文中基本键值对意思例如:Set-Cookie, 状态码等,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 ① 根据输入的url,在域名系统DNS中进行解析获取对应的服务

    2024年02月12日
    浏览(39)
  • 【计算机网络】HTTP协议以及简单的HTTP服务器实现

    虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输议)就是其中之一。 平时我们俗称的 “网址” 其实就是说的 URL 像 / ? : 等这样的字符, 已经被url当做特殊意义理解了.

    2024年01月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包