
用于将 Aircrack-ng 捕获文件解析到 SQLite 数据库并提取有用信息的脚本,例如握手包(以 22000 hashcat 格式)、企业网络 (MGT) 身份信息和 EAP-MD5 挑战/响应对、X.509 证书以及每个网络的 RSN/WPA 安全配置、AP 宣告的 802.11r/k/v、多 BSSID 和信道切换能力、AP、客户端及其探测请求之间的有趣关系、WPS 信息,以及所有看到的 AP 的全局视图。
Certificate 表中。AP 表中。hashcat -m 4800),并存储在 EAPMD5 表中。Probe 表中)识别客户端指纹。SummaryAP 视图),按 ESSID 和加密方式对 AP 进行分组,显示 AP 和客户端数量、WPA 版本和 PMF 状态以及每组中的每个制造商,以便快速了解附近网络的安全状况(并发现运行混合/降级安全的 SSID)。AP 表中记录每个 AP 的 Wi-Fi 保护设置 (WPS) 配置。mfpc(支持)和 mfpr(必需)标志,以及派生的 pmf 状态(必需、支持(可选时)或 禁用),存储在 AP 表中。ft_80211r,带有 mobility_domain_id)、802.11k 无线资源测量/邻居报告(rrm_80211k)和 802.11v BSS 转换管理(bss_transition_80211v)。mbssid,带有 max_bssid_indicator)和发送信道切换宣告(csa,带有目标信道 csa_new_channel)的接入点。ssid_revealed 标记以此方式学习的名称)。docker pull r4ulcl/wifi_db
### 手动安装
#### 基于 Debian 的系统(Ubuntu、Kali、Parrot 等)
依赖项:
- python3
- python3-pip
- tshark
- hcxtools``` bash
sudo apt install tshark
sudo apt install python3 python3-pip
sudo apt install pkg-config libcurl4-openssl-dev libssl-dev zlib1g-dev make gcc
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make
sudo make install
cd ..
安装(使用虚拟环境)``` bash
git clone https://github.com/r4ulcl/wifi_db cd wifi_db
sudo apt update ; sudo apt install python3-venv python3 -m venv wifi_db_env source wifi_db_env/bin/activate
pip3 install -r requirements.txt
> 必须在每个新的 shell 中激活虚拟环境(`source wifi_db_env/bin/activate`)
> 才能运行 `wifi_db.py`。使用 `deactivate` 退出虚拟环境。
#### Arch
依赖项:
- python3
- python3-pip
- tshark
- hcxtools``` bash
sudo pacman -S wireshark-qt
sudo pacman -S python-pip python
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make
sudo make install
cd ..
安装(使用虚拟环境)``` bash
git clone https://github.com/r4ulcl/wifi_db cd wifi_db
python3 -m venv wifi_db_env source wifi_db_env/bin/activate
pip3 install -r requirements.txt
> 虚拟环境必须在每个新 shell 中激活(`source wifi_db_env/bin/activate`),然后才能运行 `wifi_db.py`。使用 `deactivate` 退出。
## 用法
### 在 [WiFiChallenge Lab](https://lab.wifichallenge.com/) 中的使用示例
- https://r4ulcl.com/posts/wifi_db-in-wifichallenge-lab/
### 使用 airodump-ng 扫描
运行 airodump-ng 并使用 -w 保存输出:``` bash
sudo airodump-ng wlan0mon -w scan --manufacturer --wps --gpsd
#Folder with captures CAPTURESFOLDER=/home/user/wifi
touch db.SQLITE chmod a+rw db.SQLITE
docker run -t -v $PWD/db.SQLITE:/app/db.SQLITE -v $CAPTURESFOLDER:/captures/ r4ulcl/wifi_db
- `-v $PWD/db.SQLITE:/app/db.SQLITE`: 将输出保存到当前文件夹的 db.SQLITE 文件中
- `-v $CAPTURESFOLDER:/captures/`: 将包含抓包文件的文件夹共享到 Docker

### 使用手动安装创建 SQLite 数据库
创建抓包后,我们可以通过导入该抓包来创建数据库。为此,请提供不带格式的抓包名称。记得先激活虚拟环境(`source wifi_db_env/bin/activate`)。``` bash
python3 wifi_db.py scan-01
如果存在多个抓包,我们可以直接加载它们所在的文件夹。并且使用 -d 可以重命名输出数据库。``` bash
python3 wifi_db.py -d database.sqlite scan-folder

### 打开数据库
数据库可使用以下工具打开:
- [sqlitebrowser](https://sqlitebrowser.org/)

下面是一个 ProbeClientsConnected 表的示例。
