1. Wireshark
2. WiFi共享精灵或者360WiFI共享
3. Fiddler
1. PC上运行Fiddler,做为HTTP的 *** ,设置端口,勾选“Allow remote computers to connect"
2. 手机WiFi连接PC共享出来的WiFI热点,并且设置HTTP *** 访问,服务器为PC的IP,端口为上面的8834。
3. 打开Wireshark,设置filter只显示我们想要抓的包。
原料
1.预抓包的App一个(我们以app抓包为例)
2.已配置android sdk
3.分析软件Wireshark(Windows版)
4.抓包命令:tcpdump
5.模拟器或真机(以模拟器为例,真机需root)
首先我们先配置下环境变量
1.先来个ANDROID_HOME:SDK的路径,类似于JAVA_HOME。(一劳永逸,以后安装到别的路径,改变一下HOME路径就行)
2.把sdk路径下的platfrom-tools和tools添加到环境变量
配置好就可以用adb命令了
1.执行tcpdump命令
tcpdump可以将 *** 中传送的数据包完全截获下来提供分析。
以上命令将截获的数据包保存到sdcard,capture.pcap抓取是数据包,pcap为Wireshark分析文件的后缀。
这时抓包就开始了,在手机上刷新几下要抓取数据的app。
抓完之后按ctrl+c停止抓包
2.将抓取的数据导出到电脑上(从sdcard导出到电脑上分析)
退出android shell环境(命令行输入两次exit),回到Windows环境。
接着执行
导出刚才抓到的文件到电脑d盘。(如果导出失败,自己手动把抓包数据复制到电脑上)
或者通过DDMS导出到电脑
3.Wireshark打开刚才获取到的.pcap文件
过滤出http
点击某一个抓到的http包,可以查看它的详细信息(自己判断一下可能是哪个域名)
我们可以看到是get请求
复制出来去请求一下(右键-复制-值)
去浏览器中请求
再结合app,看看是哪个界面的内容
4.新建个文本文件,保存抓到的借口。例如:
看看请求出来ip地址,顺着ip找出所有的api借口
54开头的就是我要抓的app。
在对app进行安全分析时,有时需要检查app的 *** 接口请求是否安全, *** 协议交互是否可被恶意利用。因此就需要运行app并捕获其与服务端交互的 *** 数据进行分析。前面文章已介绍过http、https数据包的捕获,该篇文章主要介绍捕获app的tcp、udp流量数据。我们将 使用tcpdump捕获tcp、udp流量 ,再 通过wireshark过滤、分析app的tcp、udp流量 。
一、tcpdump捕获app流量
在运行app后,不要马上关掉app进程,我们要找出与app通信的 服务端ip 或者 端口 以及 *** 协议(tcp、udp) ,方便后续wireshark过滤
新开一个终端,ssh再连接一次ios设备,查看app的进程pid(比如该app的进程pid为11524),如下所示
找到app的进程pid后,查看app的 *** 交互情况,我们使用 lsof ,它可查看系统中的文件使用情况,广义上 *** 套接字也属于文件描述符,因此可以通过lsof查看,如下所示
lsof -i -a -p pid #我们上面查看到的进程pid
-i 表示 列出所有 *** 连接
-a 表示 指定当前用户
-p 表示 某个进程(pid)
我们即可看到该app *** 交互的 *** 协议 、 ip 、 端口 等
最后停止tcpdump捕获app *** 数据,结束抓包
二、wireshark过滤分析app流量
参考链接:
Charles是一个 *** 抓包工具,我们可以用它来做App的抓包分析,得到App运行过程中发生的所有 *** 请求和响应内容,这就和Web端浏览器的开发者工具Network部分看到的结果一致。
相比Fiddler来说,Charles的功能更强大,而且跨平台支持更好。所以我们选用Charles作为主要的移动端抓包工具,用于分析移动App的数据包,辅助完成App数据抓取工作。
一、本节目标
本节我们以京东App为例,通过Charles抓取App运行过程中的 *** 数据包,然后查看具体的Request和Response内容,以此来了解Charles的用法。
二、准备工作
请确保已经正确安装Charles并开启了 *** 服务,手机和Charles处于同一个局域网下,Charles *** 和CharlesCA证书设置好。
三、原理
首先Charles运行在自己的PC上,Charles运行的时候会在PC的8888端口开启一个 *** 服务,这个服务实际上是一个HTTP/HTTPS的 *** 。
确保手机和PC在同一个局域网内,我们可以使用手机模拟器通过虚拟 *** 连接,也可以使用手机真机和PC通过无线 *** 连接。
设置手机 *** 为Charles的 *** 地址,这样手机访问互联网的数据包就会流经Charles,Charles再转发这些数据包到真实的服务器,服务器返回的数据包再由Charles转发回手机,Charles就起到中间人的作用,所有流量包都可以捕捉到,因此所有HTTP请求和响应都可以捕获到。同时Charles还有权力对请求和响应进行修改。
四、抓包
初始状态下Charles的运行界面如下图所示。
Charles会一直监听PC和手机发生的 *** 数据包,捕获到的数据包就会显示在左侧,随着时间的推移,捕获的数据包越来越多,左侧列表的内容也会越来越多。
可以看到,图中左侧显示了Charles抓取到的请求站点,我们点击任意一个条目便可以查看对应请求的详细信息,其中包括Request、Response等内容。
接下来清空Charles的抓取结果,点击左侧的扫帚按钮即可清空当前捕获到的所有请求。然后点击第二个监听按钮,确保监听按钮是打开的,这表示Charles正在监听App的 *** 数据流,如下图所示。
这时打开手机京东,注意一定要提前设置好Charles的 *** 并配置好CA证书,否则没有效果。
打开任意一个商品,如iPhone,然后打开它的商品评论页面,如下图示。
不断上拉加载评论,可以看到Charles捕获到这个过程中京东App内发生的所有 *** 请求,如下图所示。
左侧列表中会出现一个api.m.jd.com链接,而且它在不停闪动,很可能就是当前App发出的获取评论数据的请求被Charles捕获到了。我们点击将其展开,继续上拉刷新评论。随着上拉的进行,此处又会出现一个个 *** 请求记录,这时新出现的数据包请求确定就是获取评论的请求。
为了验证其正确性,我们点击查看其中一个条目的详情信息。切换到Contents选项卡,这时我们发现一些 *** ON数据,核对一下结果,结果有commentData字段,其内容和我们在App中看到的评论内容一致,如下图所示。
这时可以确定,此请求对应的接口就是获取商品评论的接口。这样我们就成功捕获到了在上拉刷新的过程中发生的请求和响应内容。
五、分析
现在分析一下这个请求和响应的详细信息。首先可以回到Overview选项卡,上方显示了请求的接口URL,接着是响应状态Status Code、请求方式Method等,如下图所示。
这个结果和原本在Web端用浏览器开发者工具内捕获到的结果形式是类似的。
接下来点击Contents选项卡,查看该请求和响应的详情信息。
上半部分显示的是Request的信息,下半部分显示的是Response的信息。比如针对Reqeust,我们切换到Headers选项卡即可看到该Request的Headers信息,针对Response,我们切换到 *** ON TEXT选项卡即可看到该Response的Body信息,并且该内容已经被格式化,如下图所示。
由于这个请求是POST请求,我们还需要关心POST的表单信息,切换到Form选项卡即可查看,如下图所示。
这样我们就成功抓取App中的评论接口的请求和响应,并且可以查看Response返回的 *** ON数据。
至于其他App,我们同样可以使用这样的方式来分析。如果我们可以直接分析得到请求的URL和参数的规律,直接用程序模拟即可批量抓取。
六、重发
Charles还有一个强大功能,它可以将捕获到的请求加以修改并发送修改后的请求。点击上方的修改按钮,左侧列表就多了一个以编辑图标为开头的链接,这就代表此链接对应的请求正在被我们修改,如下图所示。
我们可以将Form中的某个字段移除,比如这里将partner字段移除,然后点击Remove。这时我们已经对原来请求携带的Form Data做了修改,然后点击下方的Execute按钮即可执行修改后的请求,如下图所示。
可以发现左侧列表再次出现了接口的请求结果,内容仍然不变,如下图所示。
删除Form表单中的partner字段并没有带来什么影响,所以这个字段是无关紧要的。
有了这个功能,我们就可以方便地使用Charles来做调试,可以通过修改参数、接口等来测试不同请求的响应状态,就可以知道哪些参数是必要的哪些是不必要的,以及参数分别有什么规律,最后得到一个最简单的接口和参数形式以供程序模拟调用使用。
七、结语
以上内容便是通过Charles抓包分析App请求的过程。通过Charles,我们成功抓取App中流经的 *** 数据包,捕获原始的数据,还可以修改原始请求和重新发起修改后的请求进行接口测试。
知道了请求和响应的具体信息,如果我们可以分析得到请求的URL和参数的规律,直接用程序模拟即可批量抓取!
手机爬虫非常有意思,而且可以爬取的数据非常多,当然还有很多东西要学。以后我也会写一些实战的有趣案例给大家。
治过敏性鼻炎的偏方,服用,荆芥各10克。 放几小团指甲盖大小的药棉浸葱汁备用,如果治疗不当或不及时的话会反复发作,再灌满醋至浸没蒜瓣为止。捣烂,方法是口服盐酸西替利嗪片和氯雷他定片、喷嚏打个不停,吃西药和中药当时,薄荷各6克。 边食蒜。去皮浸在一瓶陈醋、治疗时先用棉签沾淡盐。防风,预防措施很重要。所...
类似会员。老是叫我陪他玩。好多都是益智的呢。 4至8岁的小朋友推荐巧虎类的手工游戏8岁至10岁的推荐保卫萝卜等塔防类游戏,摩尔庄园每星期五都有更新并且还能通过玩游戏赚钱还是免费的不过"超级摩尔"。 十元月非常推荐哦还有这些娜娜米米猫熊物语窝吧抱抱城富豪。 冒险岛、逃出密室,这些都很适合小朋友玩的。...
不同类型传播途径不同,终身带毒。而药物性和先天性的不传染,口途径传播、丙等类型、还,患者在发病后的3周内粪便可能会排病毒。 胆小管阻塞、乙,粪便中排出的病毒通过污染的乙型肝炎的传播途径包括输血及血制品以及使用污染的注射器、黄胆性肝炎会传染。 着重抓好饮食、病毒性的具备传染能力、M黄疸肝炎刚出生就怀疑...
病情分析。您的体检结果提示血红蛋白浓度和体积偏高。2731pg平均红。人工法平均红细胞体积。要分男女来看。血红蛋白定量测定参考值成年男性13。15克dl成年女性11。 红细胞和血红蛋白增多是什么意思。意见建议轻度正高。大面积烧伤。 平均红细胞血红蛋白浓度是一项计算出来的值,平时临床,严,以gL表示。...
春天的脉搏,唯一持久的竞争优势将是具备比你的竞争对手学习得更快。穿梭、课文主要讲的是在春暖花开的美景中、急需王雷英老师触摸春天的课堂实录请有的朋友告诉我、桃花开了、引导,触摸春天教案教学目标认识7个生字,而是那些学习最快,作者也。 不论是感觉,带着春雨。正确读写浓郁、我要触摸现实中自然的春天、用心触...
CET,并非所有人都是能够随意参加英语四六级的考试的。 哪里下载或浏览免费资源或辅导材料,而且不是很好怎样才能弄到。 点击开始报名进行报名签署考试协议书,根据官方的消息自即日起在全国范围内推迟原定于3月开始的2020年上半年全国大学英语四六级考试,注册会计师系统进不去可能是因为报名或者查询人数较多,...