iOS设备打印连接到同一Wifi的其余设备清单
2014-04-11 10:04
148 查看
打印Arp
1.首先引入头文件
2.添加函数
3.调用上述函数即可
移动设备
Arp打印出来的只有PC,至于移动设备,我是用UDP广播识别的。
1.首先引入头文件
#include <sys/param.h> #include <sys/file.h> #include <sys/socket.h> #include <sys/sysctl.h> #include <net/if.h> #include <net/if_dl.h> #include <net/if_types.h> #include <net/route.h> #include <netinet/if_ether.h> #include <netinet/in.h> #include <arpa/inet.h> #include <err.h> #include <errno.h> #include <netdb.h> #include <paths.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>
2.添加函数
- (void)printArp { int mib[6]; size_t needed; char *host, *lim, *buf, *next; struct rt_msghdr *rtm; struct sockaddr_inarp *sin; struct sockaddr_dl *sdl; extern int h_errno; struct hostent *hp = NULL; mib[0] = CTL_NET; mib[1] = PF_ROUTE; mib[2] = 0; mib[3] = AF_INET; mib[4] = NET_RT_FLAGS; mib[5] = RTF_LLINFO; sysctl(mib, 6, NULL, &needed, NULL, 0); buf = malloc(needed); sysctl(mib, 6, buf, &needed, NULL, 0); lim = buf + needed; for (next = buf; next < lim; next += rtm->rtm_msglen) { rtm = (struct rt_msghdr *)next; sin = (struct sockaddr_inarp *)(rtm + 1); sdl = (struct sockaddr_dl *)(sin + 1); hp = gethostbyaddr((caddr_t)&(sin->sin_addr), sizeof sin->sin_addr, AF_INET); host = hp->h_name; printf("%s--%s--at ", host, inet_ntoa(sin->sin_addr)); if (sdl->sdl_alen) { u_char *cp = (u_char *)LLADDR(sdl); printf("%x:%x:%x:%x:%x:%x\n", cp[0], cp[1], cp[2], cp[3], cp[4], cp[5]); } } }
3.调用上述函数即可
移动设备
Arp打印出来的只有PC,至于移动设备,我是用UDP广播识别的。
相关文章推荐
- iOS 获取设备连接的WiFi的信息
- 获取iOS设备当前连接的wifi名称
- iOS开发中通过蓝牙连接蓝牙打印机设备进行小票打印
- iOS应用获取当前设备连接的wifi的名字
- iOS WIFI连接设备 同时3G/4G上网
- iOS--------获取当前连接的WiFi以及IP地址
- WiFi 爆重大安全漏洞!iOS、Android、Windows 等所有无线设备都不安全了
- iOS获取当前所连接的WIFI名称
- iOS用来获取设备上的网络状态(2G,3G,WIFI...)
- 关于蓝牙设备与ios连接后,自动打开一个app
- 没有数据线,Wifi也能连接Android真机开发调试!彻底解决“无法识别的USB设备”等数据线连接问题!
- IOS 获取链接的Wifi的IP、名字,检测是否连接到WLAN
- iOS Xcode真机调试设备连接时,Divice里面一直提示“iphone名称” is busy: Processing symbol files.
- iOS设备中WiFi、蓝牙和飞行模式的开启与关闭
- iOS蓝牙连接多台设备
- 关于在iOS设备上探测WIFI,3G,GPRS使用情况的细节 .
- appium通过wifi连接移动设备实战
- iOS设备中WiFi、蓝牙和飞行模式的开启与关闭
- Android 如何获取连接wifi热点的设备数量
- 关于 iOS设备真机调度时,设备连接导致的 Device busy问题