抓包

微信公众号爬虫技术分享

…衆ロ難τιáo~ 提交于 2020-02-27 06:50:29
采集方案分析对比 目前主流的抓取公众号文章及动态信息不同采集方案对比如下: 由上图可知: 如果需要长期监控公众号实时的文章,我推荐使用逆向的方式; 如果要做获取文章阅读点赞评论量或搜狗微信转永久链接等接口,推荐使用万能key的方式; 至于中间人的方式,技术门槛低,开发周期短,如果要监控的公众号不多,且实效性要求不那么高,我推荐使用这种方式。 下面将详细介绍基于中间人方式采集的原理 采集方案详解 基于中间人方式 采集原理 中间人好比中介,这里指抓包工具,大致的原理图如下 微信客户端之所以可以看到文章信息,是因为请求了微信的服务器,服务器收到请求后,将对应的文章返给客户端。这里我们通过抓包工具(中间人)拦截数据,将拦截到的文章数据解析入库,就完成了一次简单的数据抓取。 那么如何实现多个文章自动抓取,及列表页自动翻页呢。总不能人肉去点吧。那么最先想到的是自动化工具,比如大家都知道的按键精灵。但是这种自动化工具如何与抓包工具交互,是个问题。我们要保证在数据被拦截入库之后,再去点击下一个抓取的目标,又或者当网络异常时,自动化工具如何检测出来,然后重刷当前页面,发起请求。即使可以实现,应该也很麻烦,所以没采用这种方法。本人也不喜欢自动化工具,总感觉它不稳定。。。 既然微信文章界面是html的,我们可以嵌入js嘛,让他自动跳转。那么如何在文章和源代码里嵌入自己的js呢?这时中间人就派上用场了

tcpdump常用命令

泪湿孤枕 提交于 2020-02-26 23:32:32
tcpdump 是 Linux 系统提供的一个非常强大的抓包工具,熟练使用它,对我们排查网络问题非常有用。如果你的机器上还没有安装,可以使用如下命令安装: yum install tcpdump 如果要使用 tcpdump 命令必须具有 sudo 权限。 tcpdump 常用的选项有: -i 指定要捕获的目标网卡名,网卡名可以使用前面章节中介绍的 ifconfig 命令获得;如果要抓所有网卡的上的包,可以使用 any 关键字。 ## 抓取网卡ens33上的包 tcpdump -i ens33 ## 抓取所有网卡上的包 tcpdump -i any -X 以 ASCII 和 十六进制 的形式输出捕获的数据包内容,减去链路层的包头信息; -XX 以 ASCII 和 十六进制 的形式输出捕获的数据包内容,包括 链路层的包头信息 。 -n 不要将 ip 地址显示成别名的形式; -nn 不要将 ip 地址和端口以别名的形式显示。 -S 以绝对值显示包的 ISN 号(包 序列号 ),默认以上一包的偏移量显示。 -vv 抓包的信息详细地显示; -vvv 抓包的信息更详细地显示。 -w 将抓取的包的原始信息(不解析,也不输出)写入文件中,后跟文件名: tcpdump -i any -w filename -r 从利用 -w 选项保存的包文件中读取数据包信息。 除了可以使用选项以外, tcpdump

拒绝低效!Python教你爬虫公众号文章和链接

瘦欲@ 提交于 2020-02-26 09:37:45
本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权。 前言 上一篇文章整理了的公众号所有文章的导航链接,其实如果手动整理起来的话,是一件很费力的事情,因为公众号里添加文章的时候只能一篇篇的选择,是个单选框。 面对几百篇的文章,这样一个个选择的话,是一件苦差事。 pk哥作为一个 Pythoner,当然不能这么低效,我们用爬虫把文章的标题和链接等信息提取出来。 抓包 我们需要通过抓包提取公众号文章的请求的 URL,参考之前写过的一篇抓包的文章 Python爬虫APP前的准备 ,pk哥这次直接抓取 PC 端微信的公众号文章列表信息,更简单。 我以抓包工具 Charles 为例,勾选容许抓取电脑的请求,一般是默认就勾选的。 为了过滤掉其他无关请求,我们在左下方设置下我们要抓取的域名。 打开 PC 端微信,打开 「Python知识圈」公众号文章列表后,Charles 就会抓取到大量的请求,找到我们需要的请求,返回的 JSON 信息里包含了文章的标题、摘要、链接等信息,都在 comm_msg_info 下面。 这些都是请求链接后的返回,请求链接 url 我们可以在 Overview 中查看。 通过抓包获取了这么多信息后,我们可以写爬虫爬取所有文章的信息并保存了。 初始化函数 公众号历史文章列表向上滑动,加载更多文章后发现链接中变化的只有 offset 这个参数

Charles抓包https,http

妖精的绣舞 提交于 2020-02-26 02:41:32
1.charles官网下载地址: http://www.charlesproxy.com/download/ 2.Http抓包操作步骤 Step 1:开启Charleshttp代理; Step 2:手机端Wifi添加代理; 1.在手机端打开你的Wifi设置然后长按已经连接的Wifi在弹出来的菜单中选择【修改网络】 2.沟上[显示高级]选项--【手动】 3.输入代理服务器的IP与端口,IP即安装了Charles的电脑IP地址,windows系统中win+R,打开cmd,输入ipconfig,查看ip地址,端口就是前面一步设置Charles时所设置的端口。 Step 3:开启Charles录制功能; Step 4:启动应用开始抓包; Step 5:分析抓取的数据包。 2.Https抓包操作步骤(先把http抓包过程实现) (1)安装SSL证书到手机设备 点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device 在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装 ,地址可能不一样,视情况而定 手机设置有密码的输入密码进行安装,android手机中,打开无线网wifi高级设置 找到从刚才网址中下载的证书,进行安装; (2)Charles设置Proxy

MuMu手机模拟器抓包实践

倖福魔咒の 提交于 2020-02-15 19:18:25
这次介绍的一个工具叫做:MuMu手机模拟器 因为之前要在移动端抓包,抓包工具用的charles,不过在自己的手机或者测试机上设置代理、安装证书后都没有办法抓到h5页面的请求,但是有的手机却可以正常抓包; 后来同事介绍了一款模拟器,设置好后可以正常抓取app或内嵌h5页面的请求,就是上面的MuMu啦,是网易出品的 官网下载地址: http://mumu.163.com/ 使用方法 前提: 安装好抓包工具,我用的charles 1 .打开模拟器,页面如下 2.点击底部的【安装】,可以安装apk文件 3.设置代理 4.安装证书 和手机一样,抓包前,需要安装对应的charles证书 连上代理后,打开模拟器的自带浏览器,然后输入:chls.pro/ssl,会自动下载一个证书文件 在安装证书时,会叫你设置一下锁屏密码,按照提示操作即可 备注 : 如果证书下载完成后,不知道去哪里找,一般存放在【下载】里面,如下 到了这一步,所有配置工作就完成了,在模拟器打开安装好的app,就可以正常抓取请求了 其实和手机设置一致:打开charles-手机设置代理--手机安装证书--抓包 因为新冠肺炎的原因,应该有很多人还在远程办公,远程办公这段时间里,一般需要连上公司的vpn才能访问内部资源 我们这边用的vpn软件叫做Cisco AnyConnect,手机端也可以装这个软件访问内网

charles抓包出现乱码 SSL Proxying not enabled for this host:enable in Proxy Setting,SSL locations

99封情书 提交于 2020-02-14 17:10:58
之前有个一直困扰我的问题,再用charles抓包时遇到connect方法的,什么都抓不到,不知道该如何解决 1.情景:抓包的域名下 全部是unknown,右侧出现了乱码 2.查看unknown的notes里面:SSL Proxying not enabled for this host:enable in Proxy Setting,SSL locations 3.解决方法:proxy -> ssl proxy setting里 这样设置 现在应该就可以抓到了 如果想更好的解决乱码问题,除了加上*:*外最好在加上*:443 修改之前method为connect 修改之后method就变为get或post 可以抓到数据了 来源: https://www.cnblogs.com/pfeiliu/p/12307677.html

拒绝低效!Python教你爬虫公众号文章和链接

99封情书 提交于 2020-02-11 23:40:10
本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权。 前言 上一篇文章整理了的公众号所有文章的导航链接,其实如果手动整理起来的话,是一件很费力的事情,因为公众号里添加文章的时候只能一篇篇的选择,是个单选框。 面对几百篇的文章,这样一个个选择的话,是一件苦差事。 pk哥作为一个 Pythoner,当然不能这么低效,我们用爬虫把文章的标题和链接等信息提取出来。 抓包 我们需要通过抓包提取公众号文章的请求的 URL,参考之前写过的一篇抓包的文章 Python爬虫APP前的准备 ,pk哥这次直接抓取 PC 端微信的公众号文章列表信息,更简单。 我以抓包工具 Charles 为例,勾选容许抓取电脑的请求,一般是默认就勾选的。 为了过滤掉其他无关请求,我们在左下方设置下我们要抓取的域名。 打开 PC 端微信,打开 「Python知识圈」公众号文章列表后,Charles 就会抓取到大量的请求,找到我们需要的请求,返回的 JSON 信息里包含了文章的标题、摘要、链接等信息,都在 comm_msg_info 下面。 这些都是请求链接后的返回,请求链接 url 我们可以在 Overview 中查看。 通过抓包获取了这么多信息后,我们可以写爬虫爬取所有文章的信息并保存了。 初始化函数 公众号历史文章列表向上滑动,加载更多文章后发现链接中变化的只有 offset 这个参数

i春秋 web(3)

我怕爱的太早我们不能终老 提交于 2020-02-08 19:48:09
who are you broken do you know upoad? who are you 首先看到的页面只有一句话查看源码,之后没有东西,然后试着burp抓包看到cookie有一串字母,感觉像base64, 解码之后得到: 这个东西真不知道是嘛,百度之后说是rot13编码,将thrfg进行解码后得到 通过大佬的wp,才明白,既然guest是通过rot13+base64加密后传进去的,那我们是不是也可以用同样的加密方式把admin传递过去,使我们的权限提升 所以,将admin两次加密后得到Zjo1OiJucXp2YSI=,然后传入页面的cookie值中刷新,然后就有了提示,我们可以上传东西了 查看源代码可以得到,我们需要post传入两个参数,根据单词的意思大概使第一个变量传入文件,第二个文件传入数据 我们先普通的构造payload:filename=1.php&data=<?phpinfo();?> 但是页面上提示了nonono,肯定是我们传入的值有问题,php函数一般使无法处理数组的,所以我们一开始可以先把data设置成数组来绕过 即:filename=1.php&data[]=<?phpinfo();?> 果然页面给出了上传的路径,根据路径访问页面就可以得到flag broken 首先打开题目有一个超链接,打开之后有慢慢的好晕的东西,猜到可能是一种编码

Mac Charles抓包

夙愿已清 提交于 2020-02-08 06:22:32
charles捕获http请求 1、 Proxy --> macOS Proxy 先打开代理,使得mac上所有请求都通过charles进行代理。 15528325417514.jpg 2、 Proxy --> Proxy Settings 设置监听端口号为8888。 15528327774262.jpg 3、此时,用电脑访问百度,就已经可以获取访问的包了,如果我们需要监听手机的访问,就还得在手机上进行设置。 15528329922849.jpg 4、先获取电脑的ip地址, Help --> Local Ip Address 15528331981826.jpg 5、然后在手机连接wifi,此时手机和电脑连接的必须是同一个wifi,然后在手机设置代理。 15528333270180.jpg 6、设置完成后,在手机打开一个网址,此时chartles就可以获取到手机访问的包了。 charles捕获https请求 http的请求我们已经可以获取,但是有些网站是https的,如果我们需要解析https的包,就需要安装证书了。 1、 Help --> SSL Proxying --> install Charles Root Certificate ,首先在mac安装CA证书。 15528347139321.jpg 2、然后要始终信任该证书。 15528348890706.jpg 3、