一、遇到的问题

本学期的计算机网络课程需要使用到Wireshark抓包工具进行网络抓包实验,原本可以看到在该软件中捕获到的数据包都被按照各个协议进行分类好了,例如ARP包,TCP报文段,UDP数据报等等。但是当我想要抓取访问某网站时传输的数据,例如访问bilibili时,我先使用ping命令得到bilibili的IP地址:

得到的ip地址为:120.240.78.230

而当我使用这个ip地址在Wireshark中进行抓包筛选时却发现什么http的请求都找不到:

经查找资料发现现在互联网使用的HTTP协议基本都是HTTP2.0以上的了,因而数据包都是加密之后再在网络中进行传输,保证了信息的安全性。因而我们收到的HTTP请求在Wireshark中只能看到一个个的TLS包,这些TLS包在使用秘钥解密之后可以得到正确的HTTP报文。

二、解决方案

1. 动态生成签名证书

以下解决方案是针对使用Chrome浏览器的。(也许Edge等浏览器也可以?)

首先我们需要通过Chrome浏览器获得一个签名证书,方法是给浏览器添加以下的启动参数:

--ssl-key-log-file=D:\sslkey.log

这个只是一个范例,后面填写的目录可以是任意的位置。

为了方便起见,在windows系统下可以右键点击Chrome浏览器的快捷方式进行设置:

添加上参数后,我们使用该快捷方式启动Chrome就会发现在上面设置的目录下生成了对应的sslkey.log文件:

2. Wireshark配置

然后打开Wireshark,依次点击:编辑 -> 首选项 -> Protocols:

老版本的Wireshark中可以看到SSL的选项,而新版本中则变成了TLS。我们打开相应的选项(SSL或TLS),然后将sslkey.log文件的路径配置到(Pre)-Master-Secret log filename项中即可:

至此配置完成。

3. 最终效果

此时再次访问b站首页,可以在Wireshark中看到许多http2请求报文了,这些都是原先的TLS包解析后得到的结果:

Wireshark抓包工具解析HTTPS包的更多相关文章

  1. 为什么用抓包工具看HTTPS包是明文的

    测试或者开发调试的过程中,经常会进行抓包分析,并且装上抓包工具的证书就能抓取 HTTPS 的数据包并显示.由此就产生了一个疑问,为什么抓包工具装上证书后就能抓到 HTTPS 的包并显示呢?不是说 HT ...

  2. Wireshark抓包工具--TCP数据包seq ack等解读

    1.Wireshark的数据包详情窗口,如果是用中括号[]括起来的,表示注释,在数据包中不占字节 2.在二进制窗口中,如“DD 3D”,表示两个字节,一个字节8位 3.TCP数据包中,seq表示这个包 ...

  3. [转]Wireshark抓包工具--TCP数据包seq ack等解读

    原文: http://blog.csdn.net/wang7dao/article/details/16805337/ ---------------------------------------- ...

  4. 使用wireshark抓本机之间的包(转)

    所转地址:http://www.chinadmd.com/file/oc6evrwtzieitexvoupppisr_1.html 在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来 ...

  5. fiddler 抓取 安卓模拟器 https包

    2017-12-12 16:47:45 星期二 需要材料: 1. fiddler 2. 逍遥模拟器 步骤: 1. fiddler->tool->Optiions...->connec ...

  6. wireshark抓文件上传的包的结果记录

    如果我们再一个表单中放了一个text的input 还放了一个file的input进行文件上传,此时用wireshark抓到的包应该是什么样子的呢 html代码 <form action=&quo ...

  7. windows10使用wireshark抓取本机请求包

    1.管理员运行cmd 右键左下角windows图标,管理员运行Windows PowerShell 2.输入ipconfg查看本机ip和网关ip 3.执行命令 route add 本机ip mask ...

  8. ffiddler抓取手机(app)https包

    很多同学有看过原文,但是按照原文还是没有设置成功(我就是其中一个)然后查了网上资料,在某些选项上进行增加,填写,配置通过.(和原文略有不同) 安装Fiddler,我们正常的流程在feiddler中设置 ...

  9. Wireshark 抓取USB的数据包

    需要使用root权限来运行Wireshark,并利用Wireshark来嗅探USB通信数据.当然了,我们并不建议大家利用root权限来进行操作.我们可以使用Linux提供的usbmon来为我们获取和导 ...

随机推荐

  1. 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

    一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger.Swagger 是一个规范和完整的框架,用于生成.描述.调试和可视化 RESTful 风格的 Web API 服 ...

  2. go基础——数值传递与值传递

    package main import "fmt" /* 1.值类型:存储的是数值本身,数据传递给其他变量时传递的是数据的副本. int,float,string,bool,arr ...

  3. Solution -「Code+#4」「洛谷 P4370」组合数问题 2

    \(\mathcal{Description}\)   Link.   给定 \(n,k\),求 \(0\le b\le a\le n\) 的 \(\binom{a}{b}\) 的前 \(k\) 大. ...

  4. Solution -「ZJOI 2019」「洛谷 P5326」开关

    \(\mathcal{Description}\)   Link.   有 \(n\) 个开关,初始时所有开关的状态为 \(0\).给定开关的目标状态 \(s_1,s_2,\cdots,s_n\).每 ...

  5. Spring扩展之五:Aware接口等

    ApplicationContextAwareProcessor 1.介绍 ApplicationContextAwareProcessor是一个Spring内部工具,它实现了接口BeanPostPr ...

  6. 一位资深IT技术员的心声

    引言 我对于本科时光的印象,还停留在那所普通 211 大学的建筑物之间,我坐在大学的时光长廊里,满眼望去,都是经历的过的故事.可毕业后回首,却很少有人能说,自己从来没有迷茫过.迷茫,仿佛就是一团乌云, ...

  7. 02.Oracle之安装与配置

    1.Oracle简介 Oracle是世界上最早的商品化的关系型数据库管理系统,是数据库专业厂商ORACLE(中文名字叫甲骨文)公司开发的,也是当前应用最为广泛.功能最强大.具有面向对象特点.采用了客户 ...

  8. python-对于一个用例有多个步骤,转换成1条案例的处理方法

    前言 对于前文写到的以excel数据驱动的框架中,每个用例都是单独的不依赖其他的案例,现在一个用例可能会有多个步骤,按照前面写道的博文中按excel表中逐行取出excel的值,那么一条用例有多个步骤, ...

  9. 手把手教你如何通过CC2531抓取Zigbee包,并解析加密Zigbee包

    前言 好久不见啊,大伙假期过得咋样? 最近我在研究 Zigbee ,使用了EFR32(购买链接)的开发板,之前也研究过一点,水了几篇文章,但是没有深了解和使用.最近 arduino 玩腻了,我开始回过 ...

  10. k8s节点简介、移除节点、新增节点

    简介 Node是Pod真正运行的主机,可以是物理机也可以是虚拟机. Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源. 为了管理Pod,每个Node节点上 ...