怎么抓取网页 flash 中的交互数据? (关于 HTTP.Flash 抓包)

2016-03-09 13:45:19 +08:00
 daiv
需要从一个 Flash 中分析数据源。
找了结构相似的 bet.365 来做练手,正好可以获取 NBA 的比分。

尝试了 chrome 的 F12 开发者工具,发现抓不到相应的数据, websocket 是空的。
就继续尝试 Fiddler2 , Charles ,都没能抓到。
wireshark 也尝试了,可惜不太会用。(如果 wireshark 能够搞定,我就多花点时间学一下)

希望大家指点一下方向,谢谢。

目标: http://gg.gg/nba365 ( “滚球盘”中的数据:篮球,足球的实时更新的比分 )
23720 次点击
所在节点    程序员
20 条回复
owt5008137
2016-03-09 13:55:51 +08:00
chrome 的开发工具和 fiddler 都只能抓 http 协议的,如果它 flash 里用原生 tcp 或者其他的就抓不到了,这时候只能 wireshark 啦,因为它直接抓网卡数据的。然后你需要学会怎么过滤指定端口或指定程序的数据包然后人工粘包。或者我们以前是写插件粘包和 dump 的
daiv
2016-03-09 13:59:11 +08:00
@owt5008137 谢谢,那我今天下午尝试用 wireshark 抓 socket ,看是不是数据在里面。 以前 chrome 的工具能看见 websocket
owt5008137
2016-03-09 14:03:23 +08:00
@daiv 对的, websocket 也可以,我以前也看到过,没太注意忘记了。主要是 wensocket 的握手阶段也走的 http 协议
daiv
2016-03-09 14:05:10 +08:00
@owt5008137 如果是 websocket 的话, chrome 是能抓到的。 根据你的了解, flash 实时更新数据 一般用哪些技术?
daiv
2016-03-09 15:30:34 +08:00
@owt5008137 我先尝试用 科来(类似 wireshark )来分析了一下,发现基本上是 tcp 连接,一个 post 一个回传数据。

可是我用 python 怎么模拟呢。
daiv
2016-03-09 15:31:21 +08:00
http://ooo.0o0.ooo/2016/03/09/56dfd1b41093a.jpg
tees
2016-03-09 15:35:34 +08:00
wireshark 抓 socket
owt5008137
2016-03-09 15:55:47 +08:00
@daiv 呦,这个也挺不错的。你这是要逆向它的协议吗?如果他有加密的话会很难搞。


我对 python 不熟呦,应该也会有类似 pcap 的 wraper 库吧,刚搜了下有 pypcap ,不知道是不是主流的抓包库。


实时更新数据和语言没什么关系哦。一般情况下就是两种,第一种 tcp 是双工的通道,可以直接推送。第二种就是心跳包,如果有数据的话心跳包的回包带回。


以前 webqq 就是第二种心跳包的形式,所以你会一直在抓包工具里看到心跳交互。你这个看起来也像心跳包,每次收到回包后 3 秒后发下一次心跳
daiv
2016-03-09 16:20:17 +08:00
@owt5008137 为了获取这个,太难了,我从别处弄这个数据吧。 再次感谢你。


@tees 我试了,抓到了很多 tcp 的包,可是能不能从所有的 response 中进行全文搜索吗?
daiv
2016-03-09 16:22:02 +08:00
@owt5008137 对了,科来其中一款 free ,非常非常直观。 tcp 的握手这些都有显示。有需要你可以看看。 还以为这些可以简单的 模拟 post get 这样来搞定。
owt5008137
2016-03-09 16:24:28 +08:00
@daiv ok 。先 mark 一下,碰到需要的话我去瞧瞧看
fishioon
2016-03-09 16:33:51 +08:00
daiv
2016-03-09 17:10:54 +08:00
@fishioon 马上去尝试一下
mxi1
2016-03-09 20:29:25 +08:00
@daiv 这个图床的域名很奇特,哈哈哈
pynix
2016-03-09 20:53:39 +08:00
如果是私有协议的话还是挺坑的
daiv
2016-03-09 23:07:47 +08:00
@mxi1 我改掉了,所以跳转到 google 了
pyengwoei
2016-05-05 18:02:22 +08:00
@daiv 兄弟能给个你的联系方式吗,同样做 BET365 练手的 路过
Kilovolt
2016-09-22 00:59:25 +08:00
先发编译看 swf 是如何发包的 如果是 http 就 fd 抓包 socket 的就 wirshark 抓包 然后问题来了 wirshark 要怎么过滤找到 flash 发送的数据包呢? 我现在也遇到同样的问题。。。。
daiv
2016-10-17 11:53:32 +08:00
@pyengwoei 可以呀。

@Kilovolt 还是有点难的,我都快放弃这样的,有空的时候 跳转一下
pxpwoa123
2017-11-01 13:42:03 +08:00
@daiv 搞定了吗?同感兴趣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262176

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX