1. 引言
在互联网时代的今天,签到行为已经成为社会生活中不可回避的话题 [1] 。而在目前已知的签到系统中多数是以交互方式为主,比如利用手机号签到,人脸识别签到等 [2] ,往往都需要签到方主动与签到系统发出交互行为。而这种签到方式一般建立在较为稳定的网络环境,良好的并发处理和负载均衡的基础上,这也就造成签到系统在使用上的局限性,不适用于大规模会议,演讲等应用场景。
多模式签到系统,提出全新的签到模式,利用wifi探针和组网扫描技术作为解决方案,可以很好的支持大规模用户访问,针对不同的应用场景,适配多种模式,完成签到工作。
2. 改变当前签到模式
2.1. 签到系统的发展现状
随着机器学习,AI等智能应用的发展,物联网技术的普及使用,利用自适应人脸识别DCT算法、RFID标签技术的签到系统层出不穷 [4] ,但是在这些签到系统中,都很难做到真正的实用性。基于物联设备的签到需要以可穿戴设备作为签到基础,成本高昂,普及度低。而基于人脸识别的签到,需要高度自适应的算法作为依靠 [5] ,在当前研究发展过程中,想做到对大规模的人群完成签到工作显然也是不现实的。
2.2. 基于智能手机的签到模式
而在智能手机普及的今天,利用较为普及的智能手机作为签到的客户端设备显然是不错的选择 [3] 。在以往技术的运用中,大多签到系统显然把智能手机与签到系统进行交互作为签到工作方式,这种签到方式显然是不值得提倡。
考虑到智能手机的mac地址具有唯一的标识性,以此作为切入点,让签到系统主动识别智能手机的mac地址,从而完成签到。
3. Wifi探针的运用
3.1. Wifi探针原理
无线网卡在运用时具有多种模式,具体可分为master、managed、ad-hoc、monitor等工作模式,而wifi探针技术是基于无线网卡的monitor模式。
在master/managed的模式,无线网卡为了向一定范围内的终端发送请求接入帧之后,收到反馈帧信息,一般情况下,无线网卡会将这些反馈帧过滤,找到需要接入点热点AP完成接入工作。
monitor模式,又称为监测模式,当无线网卡开启后,在未接入无线网的情况下,设备会在1~12信道拦截此间所有可探测范围内的数据交互行为,在没有对应处理相关信息的机制情况下,获得的数据在1~2个T的时间内将被丢弃。而wifi探针技术将会在monitor模式开启的第一时间,完成对可探测范围内所有数据的收集工作,通过后台的比对算法生成相应的dsv文件,在这种状态下,无线网卡既不会自启动作为热点AP,也不会接入wifi网络。对应的智能设备只要处在正常开机状态就会被探测到。
智能设备在准备接入无线网络(或已经接入无线网络),都会循环(或定期4~6个时钟周期内)发送一802.11的管理帧——probe request。如图3所示,第一行和第二行数据可以明显看出,无论终端设备是否接入无线网络,都会被探针技术准确的探测到。
如图1所示,智能设备(或终端设备)会向周围所有的AP,网卡设备广播这种数据帧。
如图2所示,这种数据帧格式会主动暴露发送方的mac地址,通过与已经在签到系统中注册的mac地址进行比对,过滤无关mac地址,完成签到。
如图3所示,多模式签到系统后台wifi探针运行的扫描截图:
如图4所示,展示的是wifi探针扫描服务流程:
![](//html.hanspub.org/file/3-2690334x10_hanspub.png)
Figure 1. Terminal device sends probe request data frame
图1. 终端设备发送probe request数据帧
![](//html.hanspub.org/file/3-2690334x11_hanspub.png)
Figure 2. Probe request management frame structure
图2. Probe request管理帧结构
![](//html.hanspub.org/file/3-2690334x12_hanspub.png)
Figure 3. Scan results of Wifi probe
图3. Wifi探针的扫描结果
![](//html.hanspub.org/file/3-2690334x13_hanspub.png)
Figure 4. Wifi probe listening service flow chart
图4. Wifi探针侦听服务流程图
3.2. Wifi探针技术的先进性
wifi探针技术相对于传统嗅探方式是具有创新性的,对于定期会发送请求帧的终端设备,在速度和效率上很好的完成嗅探工作,后期将进一步将探针技术应用于流量访问,无人机侦测等领域。
3.3. 签到场景中Wifi探针的优势
由于wifi探针是嗅探一定范围内所有的数据帧,在签到上并不需要考虑用户连接数和并发访问的问题,还很好的避免了交互签到模式带来的时间上的延迟,由原先的客户端主动交互过程,转变成客户端被签到系统主动扫描的过程。
在硬件上,依赖于无线网卡和智能手机,成本低廉,具有普及性和推广价值。
4. 自组网扫描技术
4.1. 技术原理
SoftAP,又叫软AP。无线网卡使用专用软件在PC上实现AP功能的技术,它可以取代无线网络中的AP (Access Point,无线接入点),从而会降低无线组网的成本 [6] 。
当无线网卡切换到AP/master模式下,修改一定的配置信息,可以实现软AP (Soft AP) [3] ,自主建立一个以无线网卡为中心的WEP/WAP/WAP2的无线网络。将该无线网络作为签到热点,签到人员需要连接到临时搭建的SoftAP,后台通过扫描该网络下所有连接的智能设备的mac地址,完成签到。
4.2. 适用场景
该模式比较适用于无网络覆盖区域,利用无线网卡自组搭建Soft AP,结合在SoftAP下扫描上的手机mac地址。
如图5所示,多模式签到系统后台自组网扫描截图:
![](//html.hanspub.org/file/3-2690334x14_hanspub.png)
Figure 5. Background scan results of ad hoc networks
图5. 自组网后台扫描结果
5. 多模式智能签到系统设计
5.1. 主要模块设计
准备工作阶段:学生在注册阶段上传包含自己的照片、学号、班级、姓名等基础信息到服务器,教师可以在服务器上下载包含学生信息的资料文件,以便在不同的教室导入学生信息到签到系统(图6)。
签到模式选择:在不同的应用场景下,系统管理员可以在交互模式,组网模式,wifi探针模式,这三种模式中进行合适的签到模式。
wifi探针模式适用于用户规模较大,多重无线网络覆盖区域下的签到场景。
如图7所示,为wifi探针模式下,侦测阶段的序列图。
组网模式适用于用户规模适中,无网络覆盖区域的应用场景。
交互模式适用于网络状态良好,用户规模适中,主要用于前两种签到方式的备选方案,或针对单一用户进行确认性签到。
签到信息管理:
目前签到信息管理部分主要针对的是为学生上课的应用场景而设计
1) 实时显示:
当后台扫描到学生智能手机的mac地址,会实时显示学生注册时上传的照片、姓名、学号等信息。
2) 签到信息查看:
① 在签到过程中,教师可以依照班级查看学生的签到信息。
② 教师可以针对突发情况,比如学生未带手机等,修改学生的签到状态。
③ 导出单次签到。
3) 签到模板编辑:
编辑/修改学校名称、年度、授课学院等变动信息。
4) 导入/导出:
教师首次登录系统时,需要注册,填写授课信息等,在关闭系统前,教师可以导出这些资料文件。在下一次登录系统时,教师只需导入整个资料文件。
教师每次导入上一次的签到情况表,签到系统会提供在签到总表分栏中对应班级的按钮,可以在上次签到的情况下,记录本次签到情况,整个学期之后,生成的签到表是班级学生整个学期的签到情况(图8)。
5.2. 数据库设计
学生表(Student)如图9所示,主键smac字段用于绑定学生手机的mac地址到数据库,利用wifi探针或组网扫描技术获取的mac,都需要与该字段进行比对。sclass用于在签到系统上将学生按照班级进行分
![](//html.hanspub.org/file/3-2690334x15_hanspub.png)
Figure 6. Registration stage sequence diagram
图6. 注册阶段序列图
![](//html.hanspub.org/file/3-2690334x16_hanspub.png)
Figure 7. Sequence diagram of Wifi probe detection stage
图7. Wifi探针侦测阶段序列图
![](//html.hanspub.org/file/3-2690334x17_hanspub.png)
Figure 8. Check-in implementation flowchart
图8. 签到实现流程图
组。其他字段主要用于实时显示功能,提供给教师参考。
签到表(regeister)如图10所示,由签到表编号(rid)字段作为主键,设置为自动增长。
classname和classtime等字段作为课程信息录入到签到表中。
其他数据库表,诸如教师信息表,签到_学生表等限于篇幅,不再赘述。
6. 多模式智能签到系统的展示
如图11所示,展示的是学生Android客户端,图11(a)为学生注册,图11(b)为在交互模式下,学生进行手动签到的方式。
如图12所示,展示的是组网模式和wifi探针模式下分别对手机mac的侦测结果。图12(a)展示的是基于SoftAP的组网模式扫描结果。图12(c)展示的是wifi探针模式下对手机mac的扫描结果。其中用粗线标出的均是图12(b)中签到手机的mac地址。
如图13所示,展示了签到管理的部分功能,图13(a)展示的是实时显示界面,在各种签到模式下,每当管理模块接收到MAC地址,就会在签到系统上显示出该用户的信息。图13(b)展示的是签到信息管
(a) 用户注册
(b) 交互签到
Figure 11. System demonstration figure 1
图11. 系统展示图1
(a) 组网模式
(b) 签到手机mac
(c) wifi探针模式
Figure 12. System demonstration figure 2
图12. 系统展示图2
(a) 实时显示
(b) 签到信息
(c) 单次签到表
(d) 多次签到表
Figure 13. System demonstration figure 3
图13. 系统展示图3
理界面,加了红标的是该班还未签到的学生,在手机mac已经被签到系统确认之后,操作栏的按钮功能给教师二次确认使用。图13(c)和图13(d)是签到系统中生成的单次签到表和多次签到表,多次签到表的形成主要依赖于教师在开始使用系统前迭代导入之前的签到表。
7. 结论
多模式智能签到系统,将智能手机mac地址的唯一性作为判定条件,通过wifi探针技术、组网扫描技术将以往的交互签到模式改变为被动扫描侦测的方式,由签到系统主动去寻找区域中的智能设备,不仅提高了签到的效率,还减少了签到人员的负担。在wifi探针模式下,无需考虑连接数,网络拥塞和设备性能等问题。在组网模式下,因为是基于SoftAP,所以可以在任何具备电脑主机的地方实现搭建自组网络,比较适用于无网络覆盖的区域。而且不需要在固定的场所进行签到。系统中仍然存在一些问题:1) wifi探针必须要依赖于具有monitor模式的无线网卡,合适的芯片主要有RT8171和Rt3070等。2) 组网模式下需要考虑连接数的问题,不适合大规模的签到需求场合。在本系统的基础上,下一步将提高wifi探针获取数据的稳定性和持久性,改进mac比对算法的效率,提高组网扫描获取数据的速度,这些都是系统需要持续改进的地方。
NOTES
*通讯作者。