背景:在android手机网络通信场景下,某些应用与服务器交互的ip包过多,导致手机功耗变大,需要确认这些ip包是由哪个apk发起和接收
解决方案:
1.在kernel 网络传输层加trace,记录每一包ip数据的uid、pid name、ip address 、port 信息,通过uid 来匹配apk
2.对于uid share 的数据,譬如uid 1000,无法定位是由哪个系统apk发起,可以结合pid name来定位
3.某些udp包是dns查询包,其机制为apk–>(socket)—>netd—>本地dns服务器,仅从pid name(DNS_xxxx)和uid(1000)无法定位apk,因此可以在apk调用dns查询接口的地方,加上打印信息,譬如函数:android_getaddrinfo_proxy
android手机ip包归属apk定位
最新推荐文章于 2024-03-12 20:44:04 发布