转载:https://blog.csdn.net/jaryguo/article/details/53021923

转载:https://www.cnblogs.com/miantest/p/7289694.html

转载:https://www.cnblogs.com/joshua317/p/8670923.html

转载:https://www.cnblogs.com/woaixuexi9999/p/9247705.html(Fiddler配置教程)

转载:https://blog.csdn.net/u013908944/article/details/85076833(Fidler抓postman模拟请求的包)

转载:https://www.cnblogs.com/TankXiao/archive/2013/01/08/2818542.html(HTTP协议(六)状态码详解)

转载:https://blog.csdn.net/wangjun5159/article/details/54024413(fiddler 图标解释)

用libcurl在项目开发过程中,调试阶段需要进行抓包测试,但Fiddler不能收到应用的Http连接。

Google了一下,因为应用用了libcurl的接口来创建HTTP连接,如果要使用Fiddler,需要在代码中插入类似如下的代码:

curl_easy_setopt(m_curl, CURLOPT_PROXY, "127.0.0.1:8888");

其中8888是Fiddler默认设置的一个监听端口,如果在Option中修改了,则需要替换为响应的端口号。

代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

void Test()
{
CURL* curl;
char *url = "http://develop.test.com";
std::stringstream out;
curl = curl_easy_init(); //设置url
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_PROXY, "127.0.0.1:8888");
curl_easy_setopt(curl, CURLOPT_POST, );//设置为非0表示本次操作为POST // 设置接收数据的处理函数和存放变量
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);//设置回调函数
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out); // 执行HTTP GET操作
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
} // 接受数据存放在out中,输出之
//cout << out.str() << endl;
string str_json = out.str(); printf("%s", str_json.c_str());
curl_easy_cleanup(curl); }

注:如果代码中加入了设置代理,只有在抓包工具运行的情况下,http才能请求成功,进而能抓到数据;否则http会请求失败;

WireShark则纯粹是在底层监听计算机的所有出入数据(需要安装WinPCap),什么数据都能检测到。

WireShark的使用教程:https://www.cnblogs.com/Jerry-zhao2110/p/8282427.html

二、Fiddler 抓取https请求配置

转载:https://www.cnblogs.com/joshua317/p/8670923.html

1.清除C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto\RSA 目录下所有文件(首次安装fiddler请忽略)

2.清除电脑上的根证书,WIN+R快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证书,然后删除。(首次安装fiddler请忽略)

3.清除浏览器上的证书文件 ,此处需要仔细查找带有FiddlerRoot的字样,并删除,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/,(首次安装fiddler请忽略)

4.打开fiddler,点击工具栏中的Tools—>Options,点击Actions,选择最后一项,Reset All certificates,然后关闭

注意:以上步骤假设是已经安装fiddler的情况下需要做的处理 ,若已安装,建议执行上述步骤,然后进行重新安装;

用Fiddler抓libcurl发起的https的包,需要在代码中设置

/*
* If you want to connect to a site who isn't using a certificate that is
* signed by one of the certs in the CA bundle you have, you can skip the
* verification of the server's certificate. This makes the connection
* A LOT LESS SECURE.
*
* If you have a CA cert for the server stored someplace else than in the
* default bundle, then the CURLOPT_CAPATH option might come handy for
* you.
*/
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);

Fiddler中session前面快捷图标的含义

libcurl 设置代理,通过Fiddler可以进行抓包的更多相关文章

  1. Fiddler和app抓包

    1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...

  2. 通过Fiddler进行手机抓包

    通过Fiddler进行手机抓包 通过Fiddler抓包工具,可以抓取手机的网络通信,但前提是手机和电脑处于同一局域网内(WI-FI或热点),然后进行以下设置: 用Fiddler对Android应用进行 ...

  3. Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  4. fiddler教程:抓包带锁的怎么办?HTTPS抓包介绍。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Fiddler的HTTPS抓包功能." 这里首先回答下标题中的疑问,fiddler抓包带锁的原因是HTTPS流量抓包功能开启, ...

  5. [转载]Fiddler 解析!抓包抓得好真的可以为所欲为 [一]

    说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了.昨天在面试一个安卓逆向,直接告诉我[抓包没有技术含量].在这里,我必须发一个教程,解析一下抓包神器——Fiddler.Fiddler仅仅是一 ...

  6. web手工项目04-测试报告的核心内容-HTTP请求和响应-fiddler工具进行抓包

    回顾 登录功能测试(需求分析(输入分析,处理分析,输出分析),数据构造,编写用例) 测试点设计思路--扩展(相关业务,特殊角度-分支,异常,逆向) 流程图元素与画法(开始/结束,路径,数据,判定,步骤 ...

  7. 关于苹果手机设置fiddler代理后无网络无法抓包的问题

    1.设置代理后,需要在苹果手机的关于本机中,打开证书信任 这样就可以抓包咯

  8. (转)fiddler实现手机抓包的基础设置问题

    电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤了. 一.对PC(笔记本)参数进行配置    1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的 ...

  9. Fiddler手机端抓包环境设置与过滤(一)

    一.PC端Fiddler设置 1.安装https 证书 打开Fiddler->Tool->Fiddler Options->HTTPS tab,勾选上并Capture HTTPS C ...

随机推荐

  1. vuex的使用二

    1.先看项目的目录结构 2.在main.js里需要引入store这个文件并挂在实例上 import store from './store/store' ............ new Vue({ ...

  2. Opcode是啥以及如何使用好Opcache

    转载  https://www.zybuluo.com/phper/note/1016714 啥是Opcode? 我们在日常的PHP开发过程中,应该经常会听见Opcache这个词,那么啥是Opcode ...

  3. ReentrantLock源码(一)

    一.简介. ReentrantLock 是一个互斥锁,在基本行为和机制上与synchonized一样,只不过synchonized用方法和声明访问了隐式的锁监视器,但是ReentrantLock 做了 ...

  4. URL Resources

    Prezi 1. 官网   https://prezi.com/ 2. 入门教程   https://wenku.baidu.com/view/9bb234ac0029bd64783e2c6b.htm ...

  5. Sitecore CMS中创建模板

    如何在Sitecore CMS中创建模板. 在/sitecore/templates选择应创建模板的文件夹中. 注意:在多站点项目中,通常会在模板所属的网站名称的/sitecore/templates ...

  6. Born Slippy (超大背包问题 + 树形DP)

    首先是需要我们知道的是假设又一条链给你让你求最大值,你会求吗?当然会,就是时间有点爆炸O(n2).那不行,要是如果我把到达每个点的最大值以及他对后面的贡献情况都求出来后放在数组里面,然后到了新的节点直 ...

  7. Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构

    一.JVM的结构图 1.1 Java内存结构 JVM内存结构主要有三大块:堆内存.方法区和栈. 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间.From Su ...

  8. 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度

    在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出 ...

  9. vue:自定义指令

    <div id="app"> <div v-lang="color">{{num}}</div> <button @c ...

  10. shell脚本和python脚本实现批量ping IP测试

    先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 ...