zoukankan      html  css  js  c++  java
  • Wireshark抓包分析HTTPS与HTTP报文的差异

    一、什么是HTTPS:

    HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。

    HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X。509数字认证,如果需要的话用户可以确认发送者是谁。

    二、HTTPS和HTTP的区别:

    https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样:前者是80,后者是443。

    http的连接很简单,是无状态的 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。

    三、比较操作步骤:

    ***https传输中抓包***

        1.开启wireshark并配置受监听的网卡,点击捕获->选项


     

        2.选择正在使用的网卡,点击开始。


     

        3.电脑中开启浏览器或其他应用的时候都会有流量产生,有流量产生就会被wireshark捕捉到,下图为刚刚开启wireshark后的捕捉状态,会抓到各种各样的流量,稍后我们会进行过滤操作。


     

        4.浏览器中输入带有https的网址,让wireshrk可以抓到包。


     

        5.再次返回到wireshark页面,然后在应用显示过滤器一栏中输入过滤语句,本例中输入ip.dst == 192.168.12.93,即指定wireshark只列出目标地址是192.168.12.93的流量。


     

        6. 选择任意协议为TLSv1的流量后右击选择追踪流->TCP流,发现数据均为加密,根本看不懂。接下来看看没有加密的HTTP传输是什么样子的。


     

    ***http传输中抓包***

        1. 前三步与https传输中抓包是同样的操作,我们只需要在浏览器中输入一个是HTTP请求的连接即可,以简书的登录地址为例


     

        2.wireshark抓包分析后的效果,注意看下图箭头所指的流量均给出了请求的具体资源地址,而https传输的时候只提示为“Application Data”


     

        3. 接下来继续看,选择资源为POST /sessions HTTP/1.1的流量选择追踪流->TCP流,可以清晰的看到用户的登录名以及登录密码均可以被嗅探了。


     

    最后发现,简书的登录操作中密码竟然没有进行加密处理就传输了...

  • 相关阅读:
    【转+补充】在OpenCV for Android 2.4.5中使用SURF(nonfree module)
    Delphi StarOffice Framework Beta 1.0 发布
    Angular ngIf相关问题
    angularjs文档下载
    公众号微信支付开发
    公众号第三方平台开发 教程六 代公众号使用JS SDK说明
    公众号第三方平台开发 教程五 代公众号处理消息和事件
    公众号第三方平台开发 教程四 代公众号发起网页授权说明
    公众号第三方平台开发 教程三 微信公众号授权第三方平台
    公众号第三方平台开发 教程二 component_verify_ticket和accessToken的获取
  • 原文地址:https://www.cnblogs.com/tdcqma/p/5714578.html
Copyright © 2011-2022 走看看