抓包工具的使用

抓包工具和PyExeJs模块

我们在处理一些网站的时候, 会遇到一些屏蔽F12, 以及只要按出浏览器的开发者工具就会关闭甚至死机的现象. 在遇到这类网站的时候. 我们可以使用抓包工具把页面上屏蔽开发者工具的代码给干掉.

一. Fiddler和Charles

这两款工具是非常优秀的抓包工具. 他们可以监听到我们计算机上所有的http网络请求. 利用这种特性. 可以获取到页面加载过程中的所有内容.

1.1 软件安装.

Win7:

win10:

1.2 fiddler简单配置(HTTPS)

接下来.我们打开www.vmgirls.com. 尝试抓包看看. 发现https的请求默认是不可用的. 需要配置一下证书.

1.3 fiddler简单使用

清理一下信息, 然后重新刷新浏览器. 就看到被响应的html内容了.

vmgirl之所以不可以打开开发者工具. 是因为在其html中导入了一个disable-devtools.js. 我们需要想办法把这个东西给干掉. 只要干掉了它. 我们就又可以打开F12的开发者工具了. 那么如何干掉它呢? 这就需要我们了解一下fiddler和charles的工作原理了.

fiddler和charles本质其实就是一个安装在这台计算机上的一个代理. 就像这样:

本质上和代理没啥区别. 但是, 由于fiddler是我们自己本地的软件. 那么我们可以在fiddler里对请求过来的内容进行截取和替换.

我们做这样一个事情. 把vmgirls的页面源代码捕获. 单独写入一个html文件. 然后把其中的disable-devtools.js部分注释掉.

现在这个页面源代码在我本地了. 我就可以进行替换了....

接下来. 重新刷新页面(ctrl+shift+r) , 发现右键有效果了.

补充:

过滤请求

重放应用场景:检测参数是否是一次性的

1.4 charles安装和使用.

charles官网: https://www.charlesproxy.com/download/

charles激活: https://www.zzzmode.com/mytools/charles/

Windows安装:

关闭Charles,重新打开即可

选择当前计算机:

选择受信任的证书机构,重启Charles,重启浏览器

Mac安装:

注意, 在windows环境下如果出现证书不可用的情况.需要手工去windows的证书管理器中, 把Charles的证书拖拽到可信任证书那一栏. 然后重启浏览器和charles就可以用了

如果证书默认就可用. 就不要胡乱拖拽

window证书管理器: win+r: 输入certlm.msc

回到Mac

搞定. 如果想要实现和fiddler一样的功能. 我也想要进行请求拦截.怎么办? 很简单

搞定.

  • 替换自己的源码:

      因分辨率不同,右键看不见maplocal的处理方式如下图:
    

  • 重放:

  • 修改参数:

  • 请求先后顺序:

  • 如何让Charles抓包自己的程序

import requests


url = "https://www.endata.com.cn/API/GetData.ashx"

proxies = {  # windows的系统代理
    "http": "http://127.0.0.1:8888",
    "https": "http://127.0.0.1:8888"
}

year = 2023
data = {
    "year": year,
    "MethodName": "BoxOffice_GetYearInfoData"
}

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}
resp = requests.post(url, data=data, headers=headers, proxies=proxies, verify=False)
# 坑. 如果你打开了fiddler或者charles, 此时你的程序无法发送请求...
# 解决方案:  把charles在windows系统上的代理拿过来给你程序用就可以了
#           同时, 在请求时, 增加verify=False. 就可以了.
print(resp.text)

posted @ 2023-03-15 22:37  凫弥  阅读(242)  评论(0编辑  收藏  举报