我正在尝试制作一个包嗅探Application,我已经将它构建为nexus 4的系统Application。
r = pcap_findalldevs (&alldevs, errbuf);
printf("R==========%d",r);
__android_log_write(ANDROID_LOG_ERROR, "Tag",errbuf );
error is E/Tag ( 4751): Can't open netlink socket 13:Permission denied我不能在我的设备上捕获任何接口。我还为我的应用程序授予了权限。
Manifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.NET_ADMIN"/>
<uses-permission android:name="android.permission.NET_RAW"/>
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/>
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"/>
<permission-group android:name="android.permission-group.SYSTEM_TOOLS"></permission-group>发布于 2015-05-13 06:59:38
为什么要记录错误?引用pcap_findalldevs()手册页:
RETURN VALUE
pcap_findalldevs() returns 0 on success and -1 on failure. If -1 is
returned, errbuf is filled in with an appropriate error message.
errbuf is assumed to be able to hold at least PCAP_ERRBUF_SIZE chars.如果r为0,则不会发生错误,并且没有保证errbuf包含任何有意义的内容。做
if (pcap_findalldevs (&alldevs, errbuf) == -1)
__android_log_write(ANDROID_LOG_ERROR, "Tag",errbuf );而不是。
https://stackoverflow.com/questions/30206401
复制相似问题