StrykerOSS GeoMac实战:把捕获的WiFi握手包一键变成OSM地图并导出WiGLE格式
【免费下载链接】strykerappMagic tool for pentest from your android device!项目地址: https://gitcode.com/gh_mirrors/app23/strykerapp
Stryker 是一款面向 Android 的渗透测试工具箱,其中的 GeoMac 模块能把捕获的 WiFi 握手包、扫描到的 BSSID 与 WPS 攻击结果,自动在 OpenStreetMap(OSM)地图上定位成彩色图钉,并支持导出 WiGLE 格式的 KML 与 JSON 文件。本文带你实战走一遍 GeoMac 的完整工作流:自动打点、手动搜索 BSSID 坐标、一键导出 WiGLE 数据。
GeoMac 是什么:一张会定位的 WiFi 地图
GeoMac 是 Stryker 内置的一张交互式 OSM 地图(基于 osmdroid 引擎),默认使用 Mapnik 街道瓦片,也可切换为 USGS 卫星瓦片。地图上每枚图钉代表一个 AP 的 BSSID,并按来源分色:
| 图钉颜色 | 类别 | 含义 |
|---|---|---|
| 🔵 蓝色 | Lookup | 手动搜索 BSSID 得到 |
| 🟣 紫色 | Scanned | 后台 WiFi 扫描捕获 |
| 🟠 橙色 | Handshake | WPA 握手捕获/破解得到 |
| 🟢 绿色 | Pixie WPS | Pixie WPS 攻击关联 |
| 🩷 粉色 | Manual | 手动添加 |
💡 同一个 BSSID 会保留最高优先级类别(Pixie > Handshake > Scanned > Manual > Lookup),破解图钉不会被普通扫描图钉覆盖。
自动打点:握手包如何变成地图图钉
无需任何额外操作。当 Stryker 的对应功能产生结果时,GeoMac 会自动接管:
- 握手包捕获/破解成功→ 橙色图钉。系统优先查询 Apple 的 WiFi 地理定位数据库,未命中时回退到公开的 WiFi 定位 API,把 BSSID 对应的经纬度写入本地图钉库;
- Pixie WPS 攻击命中→ 绿色图钉;
- 后台扫描→ 紫色图钉(每个 BSSID 只查询一次,避免重复请求)。
自动挂钩与定位逻辑分别位于:
app/src/main/java/com/zalexdev/stryker/geomac/GeoHooks.javaapp/src/main/java/com/zalexdev/stryker/geomac/GeoLookup.javaapp/src/main/java/com/zalexdev/stryker/geomac/AppleWloc.java
手动搜索三步走:BSSID 坐标 10 秒到手
- 在仪表盘点击GeoMac磁贴进入地图页(界面定义见
app/src/main/res/layout/fragment_geomac.xml); - 在顶部搜索栏粘贴 BSSID(格式如
AA:BB:CC:DD:EE:FF),按回车; - 地图自动飞行动画到坐标并放大到 18 级街景。单击图钉可查看 BSSID、SSID、精确到 6 位小数的经纬度与最近出现时间;长按图钉直接复制「纬度,经度」字符串,粘贴到任意地图工具即可。
还有个隐藏捷径:把任何包含 MAC 地址的文本分享(共享意图)给 GeoMac,它会用正则自动提取地址并落钉,实现在app/src/main/java/com/zalexdev/stryker/geomac/GeoMacInline.java。
WiGLE 格式导出:KML 与 JSON 一键保存
点击右上角Export按钮,二选一:
- KML(WiGLE / Google Earth 格式):每个图钉输出为一个 Placemark,以 SSID 或 BSSID 命名,坐标写入
lon,lat,0,可被 WiGLE GPS 与 Google Earth 直接加载——这就是渗透测试报告中常说的 WiGLE 数据流; - JSON(round-trip 格式):本地图钉库的完整备份,之后从同目录的
export-*.jsonImport即可合并回地图,按 BSSID 去重。
所有导出文件统一保存在/sdcard/Stryker/geomac/目录,文件名带时间戳(如export-20260822-114800.kml)。导出实现见app/src/main/java/com/zalexdev/stryker/geomac/io/GeoExporter.java。
常用操作与高频问题
- 🗺️视图适配:点击 Fit 按钮,视野自动缩放到覆盖当前全部图钉;
- 🧹清空地图:Clear 会抹掉整个本地图钉库,导出文件不会受影响,建议先 Export 备份;
- 🔍筛选芯片:All / Lookup / Scanned / Cracked / Manual,Cracked 会同时显示握手与 Pixie 两类图钉,顶部计数实时显示「总数 · 扫描数S 破解数C」;
- ❓首次打开地图是空的?正常,图钉来自你的扫描与攻击行为,或手动搜索;
- ❓搜索提示「无坐标返回」?公开定位数据库没有收录该 BSSID 的坐标,并非程序故障。
模块源码位置一览
| 文件路径 | 职责 |
|---|---|
app/src/main/java/com/zalexdev/stryker/geomac/GeoMac.java | 地图主界面:搜索、筛选、导入导出 |
app/src/main/java/com/zalexdev/stryker/geomac/GeoStore.java | 本地图钉存储与合并策略 |
app/src/main/java/com/zalexdev/stryker/geomac/model/GeoPin.java | 图钉数据模型(BSSID/坐标/类别) |
app/src/main/java/com/zalexdev/stryker/geomac/GeoLookup.java | 坐标查询(Apple 定位 + 公开 API 兜底) |
app/src/main/java/com/zalexdev/stryker/geomac/ui/GeoMarkers.java | 图钉图标渲染与配色 |
GeoMac 把终端里一堆冰冷的 BSSID 变成可视化、可分享的地理地图,让「用手机做基站」的渗透测试真正有了落地感 📍。
【免费下载链接】strykerappMagic tool for pentest from your android device!项目地址: https://gitcode.com/gh_mirrors/app23/strykerapp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考