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流,可以清晰的看到用户的登录名以及登录密码均可以被嗅探了。


     

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

  • 相关阅读:
    Openwrt单独编译某一个模块而不是整个固件
    在ubuntu 14.04 编译android 2.3.1 错误解决办法
    使用cydia substrate 来进行android native hook
    使用Privoxy转化SSH到HTTP代理
    使用xposed 来解阿里ctf-2014 第三题
    一个android dex 转java源码工具
    git CVE-2014-9390 验证以及源码对比
    一键结束port 5037占用
    运动物体检测——光流法(摄像机固定)
    运动目标检测ViBe算法
  • 原文地址:https://www.cnblogs.com/tdcqma/p/5714578.html
Copyright © 2011-2022 走看看