×

【每日一记3】+第18天+Socker抓包的思路
  

平凡的小网工 29421人觉得有帮助

{{ttag.title}}
本帖最后由 平凡的小网工 于 2020-1-19 13:57 编辑

今天来研究一下socker抓包的思路。 ,最近遇到过几次非http/https通信的情况,burp、fiddler等http代理工具都无法正常抓到包,经过分析发现app是通过socket通信的,所以写出来记录下。
1、 socket与websocket
先来区别下socket与websocket,因为我们在使用burpsuite和fiddler时,发现burp和fiddler都是可以抓websocket的,所以有必要先区别一下,从本质上来说二者关系并不大,甚至说没啥关系,盗用一张图来说明下二者关系,读者可自行百度、谷歌检索二者关系。
2、socket抓包思路
为了方便理解,我实现一个简单的通过socket通信的APP和与之其对应的Server,实现一个简单功能,客户端APP发送socket消息,模拟平时项目中APP调用socket相关接口通信,同时接收服务端下发的socket消息,客户端APP运行如下所示:

服务端通过ServerSocket构造器实现socket监听绑定即可,运行如下所示:

以上,就简单实现了一个通过socket通信的c/s,通过这种方式发送的数据包,burp和fiddler之类的代理工具是无法抓到的,因为他们本来就属于http/https/websocket代理工具,对socket是无能为力的,所以我们需要换些思路。
这种方式抓包非常通用,不光针对socket方式,http/https等等也是可以的,因为这些两种抓包工具都是直接对流经网卡的数据包进行捕获,不存在区别信息传递使用什么协议,可以通过tcpdump将数据包保存成pcap格式,然后用wireshark打开进行分析,来看下用tcpdump抓到的数据包:
tcpdump显示数据包格式不是很友好,导入到wireshark或者可用wireshark直接抓包,分析起来就比较容易了,可以看到数据传输是通过socket传输的:
hook方式抓包
上述方法虽然抓包很好,但是对于渗透测试来说,我们不仅仅要看到数据包内容,更重要的是还能修改数据包,所以这里还可以使用hook方式抓包,在实现socket通信的过程,客户端(基于android6.0系统)发送消息需要会调用java.io.OutputStream.write()方法,这里源码就不方便粘贴过来了。可以看看hook结果:

到这里,能够hook到,就可以按照我们的需求来修改数据包了,当然,我们也需要找一个APP来实战下,看看在市场上的APP是否真的有效,如下图,还是有效果的。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

一个无趣的人 发表于 2020-1-22 17:18
  
干货满满,感谢楼主的分享!
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
【 社区to talk】
技术笔记
干货满满
每日一问
信服课堂视频
新版本体验
GIF动图学习
技术咨询
功能体验
2023技术争霸赛专题
产品连连看
安装部署配置
通用技术
秒懂零信任
技术晨报
自助服务平台操作指引
原创分享
标准化排查
排障笔记本
玩转零信任
排障那些事
SDP百科
深信服技术支持平台
POC测试案例
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
高手请过招
升级&主动服务
高频问题集锦
社区新周刊
全能先锋系列
云化安全能力

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人