客户端抓包与日志分析方法

客户端抓包与日志分析方法

作为工程师,检测应用是否有收发包常见的方法就是抓包。linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析。

终端抓包方法

苹果的生态很封闭,但开发工具很完美。将手机与Mac相连后,通过xcode就可以查看手机设备信息,获取到设备的udid 信息。

在通过命令 rvictl 创建一张虚拟网卡,此后手机的数据就会通过这个虚拟网卡进行收发。

rvictl -s 设备udid

在 Mac电脑上,打开wireshark 软件就可以看到这张虚拟的网卡,选中这张虚拟的网卡,开始抓手机上的数据包进行分析。

Android 平台想要直接抓包,需要把手机root之后才能执行tcpdump 命令,难度较大。在日常开发中,我通常会在路由器上直接执行tcpdump命令抓包,再根据ip地址过滤出手机收到的数据包。

终端抓取日志方法

idevicesyslog > phone.txt

Android应用一般采用logcat 输出日志,和iOS类似,在Android studio上也可以搜索、过滤日志。我通常会直接用adb 命令把手机的日志抓出来。

adb logcat -v time > phone.txt

上面这条命令可以将手机上的日志重定向到 phone.txt 里面,再结合linux 命令 grep、awk 、tail 就可以对日志进行搜索。

总结

客户端抓包相比服务端直接使用tcpdump命令而言,方法上要繁琐。多动手,办法总比问题多。换个角度,app是需要在用户手机上运行,这种设计增加了门槛,更有利于终端的安全。

发表评论

邮箱地址不会被公开。 必填项已用*标注