拼多多等 app,搜索的时候抓包发现它请求的地址是 POST http://t.yangkeduo.com/t.gif 然后返回状态码 200,啥数据都没有, 但是 app 里面却有搜索结果,这是啥原理?
1
SukkaW 2018-09-03 12:10:50 +08:00 2
你可能抓的不对,这个很可能是统计回传
|
5
tonghuashuai 2018-09-03 12:29:22 +08:00
很可能是打点请求
|
6
owenliang 2018-09-03 12:29:36 +08:00 via Android
url 只是地址,与背后什么语言没必然关系
|
7
GoLand 2018-09-03 12:34:08 +08:00
这叫打点。
|
8
nu11001 2018-09-03 12:38:55 +08:00 3
连 https 都不知道,抓个 P 包
|
9
codechaser 2018-09-03 12:39:52 +08:00 via Android
@nu11001 你这态度不太好吧
|
10
nu11001 2018-09-03 12:52:20 +08:00 4
@codechaser 很讨厌 v2 上一大堆关于“爬虫”,“抓包”的低级问题
|
11
linuxxxx 2018-09-03 12:52:27 +08:00
.gif 不一定就是图片。你这个 gif 是个 docment
|
12
Morriaty 2018-09-03 13:13:35 +08:00 9
这是埋点,由于图片请求是异步的,不会影响到用户的实际功能加载。
然后把一些关键信息带到 url 参数里,比如 t.gif?cookie=xxx&from=wechat&action=search&time=15000000 后端统一的日志解析,分析用户行为,出报表 |
13
ShareDuck 2018-09-03 13:25:19 +08:00 via Android
你可能是没有抓取到 https 协议的数据包。不要设置代理抓,在网关上抓。
|
15
sgissb1 2018-09-03 14:53:53 +08:00
@Morriaty 大兄弟,请教一哈,为啥要伪装成 gif 的 url 打点?有没有啥原因?还是仅仅是喜好使然?
这和运营商的 http cache 有关吗? |
16
deadEgg 2018-09-03 15:18:32 +08:00
打点日志吧,可能表达的是启动量
|
17
SeanChense 2018-09-03 15:25:07 +08:00
@Morriaty 有意思。为啥要这样搞啊?我其他请求也是异步的啊
|
18
SeanChense 2018-09-03 15:25:42 +08:00
@sgissb1 POST 谈不上 http cache
|
19
moxiaonai 2018-09-03 15:32:41 +08:00
打点统计+1
|
20
JasperYanky 2018-09-03 15:34:10 +08:00
@SeanChense 可能是因为放 img 会自动触发?
|
21
tonywwwz 2018-09-03 15:43:37 +08:00 1
http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html
可以参考这个,后端脚本为什么通常伪装成 gif 文件的原因,目的是实现跨域请求后端,不过我感觉这 web 打点用的多.... app 这边没必要这样做 |
25
ShareDuck 2018-09-03 18:01:44 +08:00
@yzy8788 #14 你可以参考一下这篇文章:《小米 mini 路由器刷 PandoraBox 监听通讯报文》 https://ta0.wang/archives/11.html
但我突然想起,这样就算是监听到 https 的报文也是没有用的,因为密文,终究还是要通过代理的方式进行抓包,你需要在你的代理软件中设置允许截取 https 报文,代理本身会对数据包用自有的证书(默认不被信任)重新加密,这个问题该怎样处理你要自己上网搜索了,我只搞过 PC 上的。但在 Android 上还有一个问题,在 Wifi 设置里设置代理后,仍然还是有应用的网络访问是没有通过代理的,原因我不知道,但确实存在这样的问题。 |
26
loveCoding 2018-09-03 18:25:32 +08:00
http 抓包, 推荐 Charles 或者 fiddler ,只能帮你到这里了
|
27
yzy8788 OP @ShareDuck @loveCoding 我最开始用的是 fiddler 抓包的,因为我使用 fiddler 有 3-4 年了,各项功能都比较熟悉,它是代理模式的,也在手机上安装了 https 证书,抓一部分 app (比如某度等),https 是可以抓到的。
但是抓某多多这样的,在 fiddler 界面里面连一个 https 条目都没有出现,搞不懂是什么原理。 我现在换了一种思路,换用 wireshark 软件了,这个软件可以抓网卡上面的所有数据,win10 系统自带 wifi 释放功能,释放后会自动新创建一个本地连接(譬如叫本地连接 13 ),手机连接这个释放出来的 wifi,然后 wireshark 来抓本地连接 13 的数据,可以抓到 TLSv1.2 协议的数据,只不过是加密的,网上看到有帖子教如何用 wireshark 来解析 https 数据,目前研究到这一步了,后续完全解决,再来补充 |
28
Morriaty 2018-09-03 18:52:23 +08:00
@sgissb1 @SeanChense 看 21 楼,另外可能还有个历史原因,中国最早做埋点之一的百度就是用的 hm.gif ,后来的公司都是模仿他们做的
|
29
SeanChense 2018-09-03 19:08:55 +08:00
@Morriaty 赞
|
30
learnshare 2018-09-03 19:17:00 +08:00
一像素的图片的确是为了统计吧
|
31
airdge 2018-09-03 19:59:30 +08:00
|
35
tingyunsay 2018-09-03 22:19:57 +08:00
我们公司这东西都是埋点,上报日志,你倒是可以给他们刷访问量
|
36
yzy8788 OP @tingyunsay 为啥都用.gif 呢?有什么好处?是一种习惯?还是说 gif 比其他扩展名都有优势?
|
37
HarryQu 2018-09-03 23:22:39 +08:00
第一次听到打点这个概念。
按照我的理解, 埋点和打点的作用都是为了数据统计。 区别是埋点是前端统计,打点是后端直接统计。 我的理解对吗 ? @tingyunsay @moxiaonai 至于为什么用 gif ,我也是第一次遇到,等大佬解答。 |
43
dorentus 2018-09-04 16:12:20 +08:00
用 gif 是因为以前在网页里面,没啥可靠的跨域发送请求的办法,嵌入一个小图片在参数里面附数据算是比较常用的方式了
至于到了移动应用里面为啥还用 gif,原因有很多,比如习惯了懒得改;比如不知道为什么,怕换别的 URL 会出神奇的问题…… |
44
SilentDepth 2018-09-04 21:27:01 +08:00 1
@sgissb1 #15 @SeanChense #17 @JasperYanky #20 @yzy8788 #36
gif 埋点有几个好处:体积小; 1px 透明图,对网页内容的影响几乎没有影响; img 天然支持跨域;图片请求不占用 Ajax 请求限额 |