前言
由於近期的新冠肺炎的影響,爲了減少接觸,公司使用某ding軟件打卡,代替之前的指紋打卡,由於在高層室內,GPS信號非常弱,甚至根本無法精確定位,公司選擇了WiFi打卡。由於今天下班忘記打卡,所以嘗試了一下破解。
WiFi打卡的原理
(截止到2020年3月16日有效)
1、公司管理員在某ding打卡軟件添加公司的若干WiFi,將其設置爲打卡的白名單。
2、員工打卡時,需要打開手機的WiFi,ding某軟件會掃描周圍的WiFi熱點,當附近WiFi與白名單中的WiFi一致時,ding某軟件認爲員工已進入公司的打卡區域。
思路
思路很簡單,就是創建一個WiFi熱點,將SSID設置爲公司指定WiFi的SSID,但直接用另一個手機打開熱點並不起作用,因爲創建的WiFi熱點的MAC地址爲手機WiFi芯片的MAC地址,MAC地址與公司路由器的MAC不同也無法打卡。
MAC地址也叫物理地址、硬件地址,由網絡設備製造商生產時燒錄在網卡(Network lnterface Card)的EPROM(一種閃存芯片,通常可以通過程序擦寫)。
解決辦法
方法一
使用較爲先進的路由器,在後臺頁面修改路由器的MAC地址。這一般需要刷了第三方固件的路由器纔有此功能。
方法二
使用ESP8266模塊生成WiFi熱點。ESP8266模塊應該購買含有AT固件的版本,通過串口和AT指令將WiFi熱點的SSID和MAC地址設置爲與公司WiFi相同的SSID和MAC地址。
需要準備ESP8266模塊、USB轉串口TTL模塊(Win10用戶建議購買CH340芯片的)。
.
0x00、連接電路
在ESP8266模塊和CH340模塊的背面都有白色絲印,按照以下對應關係連線。
ESP8266端 | CH340端 |
---|---|
RX | TXD |
TX | RXD |
GND | GND |
3V3 | 3V3 |
如果頻繁重啓,應該是3.3V供電不足。
我的CH340有6根排針:5V、VCC、3V3、TXD、RXD、GND
其中5V是直接連接電腦USB的5V(實際大於5V,約5.2V)
VCC是5V串聯了一個二極管,約5V-0.6V=4.4V,我把ESP8266的3V3直接接了4.4V的VCC。
3V3爲3.3V,由CH340輸出,電流較小。
0x01、查看SSID和MAC地址
使用一些WiFi管理工具查看公司的WiFi信息,我這裏使用的是“WiFi Service”,需要記下SSID和MAC地址。
.
0x02、寫入AT指令
打開任意的串口調試助手選擇對應的COM口,發送以下AT指令進行配置
(注意:每條指令後面需要帶上一個回車符,並且ESP8266會迴應你的每一條指令)
0)設置ESP8266在AP模式下的MAC地址
AT+CIPAPMAC=“MAC地址”
1)設置爲AP模式
AT+CWMODE=2
2)設置AP的參數
AT+CWSAP=“SSID”,“PASSWORD”,1, 3
4)重新啓動模塊,就可以搜索到你剛剛設置好的WiFi熱點了。上面的配置信息會保存在ESP8266內部,只需要給ESP8266供電既可產生WiFi熱點(僅僅只是無線局域網),但是不要連接此WiFi熱點,需要用數據打卡。
如果想了解跟多AT指令可以參考這裏 https://www.cnblogs.com/lifan3a/articles/7070028.html