抓包 抓nodejs的包 抓浏览器的包 抓手机的包
应用场景:
确认接口是能用的,但自己使用时就是不行,参数有没有传正确?格式对不对?傻傻分不清。
抓包工具:
这里演示 charles , 常用的还有 Fiddler, HttpWatch, WireShark.
安装
下载 charles 并安装, 如何激活? 方法较多也比较简单. 你懂的佛曰不可多说.
此处省略500字…
查看代理地址:
点击 Proxy,选择 proxy settings, 输入端口 8888 .
所以我们本机的代理地址可以直接是 127.0.0.1:8888 .
如果其他设备要使用本机的代理, 那就是 本机IP:8888 .
使用之前请确认 http://127.0.0.1:8888 代理程序打开.
抓nodejs的包
我们可以使用 https-proxy-agent 这个库来抓 node.js 的包.
node 原生 https 抓包示例:
var url = require('url');
var https = require('https');
var HttpsProxyAgent = require('https-proxy-agent');
// 要连接的HTTP / HTTPS代理
var proxy = process.env.http_proxy || 'http://127.0.0.1:8888';
console.log('using proxy server %j', proxy);
// 代理连接的HTTPS端点
var endpoint = process.argv[2] || 'https://www.httpbin.org/get';
console.log('attempting to GET %j', endpoint);
var options = url.parse(endpoint);
// 使用代理服务器信息创建`HttpsProxyAgent`类的实例
var agent = new HttpsProxyAgent(proxy);
options.agent = agent;
https.get(options, function (res) {
console.log('"response" event!', res.headers);
res.pipe(process.stdout);
});

在 fetch 中使用:
fetch(api, {
agent: new HttpsProxyAgent("http://127.0.0.1:8888")
})
在 axios 中使用: 很高兴告诉你, axios 中不需要其他依赖库
axios.get(api, {
proxy: {
host: '127.0.0.1',
port: 8888,
}
})
抓浏览器的包
导出相应的证书, 以供不同地方使用.

安装证书到系统
配置系统代理。
抓手机的包
让手机和电脑使用同一网络
安装证书到手机系统
把手机的代理设置为电脑的IP和端口
防坑锦囊
一些浏览器需要把证书安装到浏览器上, 比如火狐.
不允许自签证书抓包
Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN
Error: self signed certificate in certificate chain
使用 NODE_TLS_REJECT_UNAUTHORIZED=’0’ 变量启动 node 程序即可.
解决抓到的报文乱码
在 Proxy → SSL Proxying 菜单下, 下载根证书, 并且在钥匙串里设置信任此证书.
安装证书是为了解析 https 请求.
扩展阅读
https-proxy-agent 官网:
https://www.npmjs.com/package/https-proxy-agent
Charles抓包工具 for MAC配置与使用
https://juejin.im/post/5b690cbaf265da0f6436ec67
解决Charles抓取https报文乱码问题
https://www.jianshu.com/p/60b2b76b9066
抓包 抓nodejs的包 抓浏览器的包 抓手机的包的更多相关文章
- fidder 抓 https包配置方法(ios & android & pc浏览器)
1. fidder抓https包的基本配置,可参见以下博文 http://blog.csdn.net/idlear/article/details/50999490 2. 遇到问题:抓包看只有Tunn ...
- fiddler对浏览器、app抓包及证书安装(转)
http://blog.csdn.net/u011608531/article/details/50838227 1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开 ...
- fiddler对浏览器、app抓包及证书安装
1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开启,进行抓包: Capturing关闭,停止抓包: 如下图: 1.2 对浏览器的https抓包 1.2.1 开启 ...
- Charles PC端和手机端抓取HTTP和HTTPS协议请求、HTTPS通用抓包规则
一:HTTP和HTTPS的区别 HTTP是超文本传输协议,被用在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,因此HTTP协议不适合传输一些敏感信息, ...
- 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析
作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...
- Fiddler怎样抓取手机的包
Fiddler作为代理服务器,可以拦截到手机发出的请求,再经过Fiddler发送到服务器,获取到服务器响应的数据,这个过程,只要设置配置好了,使用过程不受影响. 要想抓取到手机的包,先要给手机设置一个 ...
- NodeJS文件读取:感恩常在--抓把糖果,愉悦客人
通过上一篇文章“NodeJS服务器:一行代码 = 一个的HTTP服务器”,我们已经开启了NodeJS之旅,开发了一个监听在8000端口的HTTP服务器,虽然功能很简单,但是,已经让我们感受到用Node ...
- 项目 Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”。。 0
项目 Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”.. 0 使用vs的NutGet包管理器时,另一台电脑从svn下载 ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
随机推荐
- X509Store 类
标题:X509Store 类 地址:https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.x509certi ...
- 一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
以下内容都是针对Pytorch 1.0-1.1介绍. 很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握 ...
- P4281 [AHOI2008]紧急集合 / 聚会[LCA]
解析 蒟蒻用的办法比较蠢,不如上面的各位大佬,直接化成一个式子了,我还是分类讨论做的. 下面正文. 猜想:最优集合点一定是三点任意两对点对应的路径的交点. 不妨这样想,如果任意两个人经过同一条路径,那 ...
- lxml获取结点属性整并转换为字典参数
#-*- coding: UTF- -*- from lxml import etree source = u''' <div><p ">测试数据1</p> ...
- 项目Beta冲刺(团队)——博客集合
项目Beta冲刺(团队)--博客集合 格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺(团队) 团队名称:为了交项目干杯 作业目标:集中记录所有Beta敏捷冲刺日志的集 ...
- 闲谈关于discuz内核缓存机制
Discuz! 缓存 Discuz! X2.5 的 config_global.php 中有这样一行代码 $_config['cache']['type'] = 'sql'; 这就是 Discuz! ...
- flutter 从创建到渲染的大体流程
从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局 ...
- 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)
https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...
- AlwaysInstallElevated提权
前言:自己在学习3gstudent的AlwaysInstallElevated提权的文章中,他说过由于Metasploit的某些原因会导致权限不够,所以自己就尝试去复现其他的两种方法了,详细的文章参考 ...
- 18-Flutter移动电商实战-首页_火爆专区商品接口制作
1.获取接口的方法 在service/service_method.dart里制作方法.我们先不接收参数,先把接口调通. Future getHomePageBeloConten() async{ ...