Android的log文件分为实时打印的,还有状态信息的两种
1.实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,以及高通平台的QXDM日志
2.状态信息的有:adb shell dmesg,adb shell dumpstate, adb shell dumpsys,adb shell bugreport
------adb logcat -b main -v time 打印应用程序的log
------adb logcat -b radio -v time 打印射频相关的log,SIM STK也会在里面,modem相关的AT command等
------adb logcat -b events -v time 打印系统事件的日志,比如触屏事件
状态信息,bugreport就够了,里面包含有dmesg,dumpstate和dumpsys.
------dmesg是kernel的log,凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动等等)
------dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息,CPU信息,logcat缓存,kernel缓存等等
------adb shell dumpsys这个是关于系统service的内容都在这里面。这个命令还有更详尽的用法,比如adb shell dumpsys meminfo system是查看system这个process的内存信息。
tcpdump对于TCP/IP协议相关的都可以使用这个来抓
ex: adb shell tcpdump -s 10000 -w /sdcard/capture.pcap.比如抓mms下载的时候的UA Profile,browser上网的时候使用proxy的APN下载,streaming的相关内容包括UA Profile等。
Android利用tcpdump抓包
command:
adb shell tcpdump -i any -p -s 0 -w /sdcard/capture.pcap
-i any: Listen on any network interface
-p:disable promiscuous mode
-s 0:capture the entire packet
-w: write packets to a file
如果执行此命令无效,请下载tcpdump文件,http://dl.dbank.com/c0nhafqfyx. 然后push到/system/bin目录下
Real time packet monitoring
command:
adb shell tcpdump -n -s 0
-n:skip DNS lookups
See HTTP traffic
command:
adb shell tcpdump -X -n -s 0 port 80