如何使用trackerjacker映射和跟踪分析WiFi网络设备

关于trackerjacker

trackerjacker是一款针对WiFi无线网络的强大安全工具,该工具功能类似于Nmap,可以帮助广大研究人员映射未连接的WiFi网络,并进行设备跟踪。

该工具基于IEEE 802.11实现其功能,支持通过原始802.11实现网络映射和设备跟踪。

功能特性

1、支持识别附近所有的WiFi网络,并查看连接到每个网络的全部设备;

2、可查看目标网络中哪台设备占用了全部带宽;

3、当目标MAC地址在30秒的时间窗口中发送超过100000个字节时,支持执行操作命令;

4、支持对任何在10秒时间窗口中发送超过100000个字节的设备执行身份验证;

5、支持查看目标区域的每个Dropcam;

6、检测到任何MAC地址的信号强度超过-40dBm时,收到警告消息;

7、支持查看目标用户何时出现在附近(基于移动设备的MAC地址实现),并运行命令来提醒研究人员;

8、支持自定义插件开发来运行功能脚本,以便在每次新的苹果设备出现在附近时做一些有趣的事情;

推荐使用的硬件设备

Panda PAU07 N600 Dual Band

Panda PAU09 N600 Dual Band

Alfa AWUS052NH Dual-Band 2x 5dBi

TP-Link N150

工具要求

Python 3

Scapy v2.5.0

Pyaml >= v17.12.1

ruamel.yaml >= 0.15.35

支持的平台

Linux(Ubuntu、Kali和RPi)

macOS

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。

源码安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/calebmadrigal/trackerjacker.git

然后切换到项目目录中,使用pip3工具和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd trackerjackerpip3 install -r requirements.txt

然后运行工具安装脚本即可:

python setup.py

PyPI安装

pip3 install trackerjacker

工具使用

查看工具帮助消息:

trackerjacker -h

当前版本的trackerjacker支持两种主要运行模式,即map(映射)模式和track(跟踪)模式。

Map映射模式使用

Map命令:

trackerjacker -i wlan1337 --map

默认配置下,trackerjacker会将输出wifi_map.yaml文件,该文件中存储了trackerjacker映射的附近所有的WiFi网络及全部用户信息。wifi_map.yaml文件样例如下:

TEST_SSID:00:10:18:6b:7a:ea:bssid: 00:10:18:6b:7a:eabytes: 5430channels:- 11devices:3c:07:71:15:f1:48:bytes: 798signal: 1vendor: Sony Corporation78:31:c1:7f:25:43:bytes: 4632signal: -52vendor: Apple, Inc.signal: -86ssid: TEST_SSIDvendor: BroadcomBRANSONS_WIFI:90:48:9a:e3:58:25:bssid: 90:48:9a:e3:58:25bytes: 5073channels:- 1devices:01:00:5e:96:e1:89:bytes: 476signal: -62vendor: ''30:8c:fb:66:23:91:bytes: 278signal: -46vendor: Dropcam34:23:ba:1c:ba:e7:bytes: 548signal: 4vendor: SAMSUNG ELECTRO-MECHANICS(THAILAND)signal: -80ssid: BRANSONS_WIFIvendor: Hon Hai Precision Ind. Co.,Ltd.hacker_network:80:2a:a8:e5:de:92:bssid: 80:2a:a8:e5:de:92bytes: 5895channels:- 11devices:80:1f:02:e6:44:96:bytes: 960signal: -46vendor: Edimax Technology Co. Ltd.80:2a:a8:8a:ec:c8:bytes: 472signal: 4vendor: Ubiquiti Networks Inc.80:2a:a8:be:09:a9:bytes: 5199signal: 4vendor: Ubiquiti Networks Inc.d8:49:2f:7a:f0:8f:bytes: 548signal: 4vendor: CANON INC.signal: -46ssid: hackervendor: Ubiquiti Networks Inc.80:2a:a8:61:aa:2f:bssid: 80:2a:a8:61:aa:2fbytes: 5629channels:- 44- 48devices:78:88:6d:4e:e2:c9:bytes: 948signal: -52vendor: ''e4:8b:7f:d4:cb:25:bytes: 986signal: -48vendor: Apple, Inc.signal: -48ssid: nullvendor: Ubiquiti Networks Inc.82:2a:a8:51:32:25:bssid: 82:2a:a8:51:32:25bytes: 3902channels:- 48devices:b8:e8:56:f5:a0:70:bytes: 1188signal: -34vendor: Apple, Inc.signal: -14ssid: hackervendor: ''82:2a:a8:fc:33:b6:bssid: 82:2a:a8:fc:33:b6bytes: 7805channels:- 10- 11- 12devices:78:31:c1:7f:25:43:bytes: 4632signal: -52vendor: Apple, Inc.7c:dd:90:fe:b4:87:bytes: 423223signal: 4vendor: Shenzhen Ogemray Technology Co., Ltd.80:2a:a8:be:09:a9:bytes: 5199signal: 4vendor: Ubiquiti Networks Inc.signal: -62ssid: nullvendor: ''

需要注意的是,这个YAML文件可以直接使用,或作为输入提供给其他工具脚本解析。

跟踪模式+命令触发

跟踪模式支持我们指定要跟踪的设备MAC地址,如果指定设备超出阈值(通过字节定义),可以通过参数“--threshold 4000”来设置:

trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 4000 --trigger-command "./alert.sh" --channels-to-monitor 10,11,12,44Using monitor mode interface: wlan1337Monitoring channels: {10, 11, 12, 44}[@] Device (3c:2e:ff:31:32:59) threshold hit: 4734[@] Device (3c:2e:ff:31:32:59) threshold hit: 7717[@] Device (3c:2e:ff:31:32:59) threshold hit: 7124[@] Device (3c:2e:ff:31:32:59) threshold hit: 8258[@] Device (3c:2e:ff:31:32:59) threshold hit: 8922

跟踪模式+foxhunt插件

trackerjacker -i wlan1337 --track --trigger-plugin foxhunt

输出信息如下:

POWER        DEVICE ID                VENDOR=======        =================        ================================-82dBm        1c:1b:68:35:c6:5d        ARRIS Group, Inc.-84dBm        fc:3f:db:ed:e9:8e        Hewlett Packard-84dBm        dc:0b:34:7a:11:63        LG Electronics (Mobile Communications)-84dBm        94:62:69:af:c3:64        ARRIS Group, Inc.-84dBm        90:48:9a:34:15:65        Hon Hai Precision Ind. Co.,Ltd.-84dBm        64:00:6a:07:48:13        Dell Inc.-84dBm        00:30:44:38:76:c8        CradlePoint, Inc-86dBm        44:1c:a8:fc:c0:53        Hon Hai Precision Ind. Co.,Ltd.-86dBm        18:16:c9:c0:3b:75        Samsung Electronics Co.,Ltd-86dBm        01:80:c2:62:9e:36-86dBm        01:00:5e:11:90:47-86dBm        00:24:a1:97:68:83        ARRIS Group, Inc.-88dBm        f8:2c:18:f8:f3:aa        2Wire Inc-88dBm        84:a1:d1:a6:34:08

需要注意的是,foxhunt是一个内置插件,我们也可以使用相同的插件API来定义和使用我们自己的插件。

跟踪模式+插件触发

$ trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 10 --trigger-plugin examples/plugin_example1.py --channels-to-monitor 10,11,12,44 --trigger-cooldown 1Using monitor mode interface: wlan1337Monitoring channels: {10, 11, 12, 44}[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 34 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529][@] Device (device 3c:2e:ff:31:32:59) threshold hit: 11880 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929][@] Device (device 3c:2e:ff:31:32:59) threshold hit: 18564 bytes3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929, 1521926770.7622838]

工具配置

trackerjacker.py -c my_config.json

下面给出的是my_config.json配置文件样例:

{"iface": "wlan1337","devices_to_watch": {"5f:cb:53:1c:8a:2c": 1000, "32:44:1b:d7:a1:5b": 2000},"aps_to_watch": {"c6:23:ef:33:cc:a2": 500},"threshold_window": 10,"channels_to_monitor": [1, 6, 11, 52],"channel_switch_scheme": "round_robin"}

启用/禁用接口的监控器模式

启用监控器模式:

trackerjacker --monitor-mode-on -i wlan0

禁用监控器模式:

trackerjacker --monitor-mode-off -i wlan0mon

设置适配器信道

trackerjacker --set-channel 11 -i wlan0

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

trackerjacker:【GitHub传送门】

参考资料

trackerjacker · PyPI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980155.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Prometheus blackbox_exporter 黑盒监控

概述 在监控体系里面,通常我们认为监控分为:白盒监控、黑盒监控。 黑盒监控:主要关注的现象,一般都是正在发生的东西,例如出现一个告警,业务接口不正常,那么这种监控就是站在用户的角度能看到的…

[vite] ts写配置根目录别名

参考:配置 Vite | Vite 写对象的形式吧 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path// https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],resolve: {alias: {"": path.resolve(__dirname…

Datawhale ChatGPT基础科普

根据课程GitHub - datawhalechina/hugging-llm: HuggingLLM, Hugging Future. 摘写自己不懂得一些地方,具体可以再到以上项目地址 LM:这是ChatGPT的基石的基石。 Transformer:这是ChatGPT的基石,准确来说它的一部分是基石。 G…

2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验

简介: 2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验。 无人机三维路径规划的重要意义在于确保飞行安全、优化飞行路线以节省时间和能源消耗,并使无人机能够适应复杂…

数据持久化第四课-EF的基本使用

数据持久化第四课-EF的基本使用 一.预习笔记 1.数据实体模型概述 ORM全称是“对象-关系映射”(Object-Relation Mapping) ORM是将关系数据库中的数据用对象的形式表现出来,并通过面向对象的方式将这些对象组织起来,实现系统业务…

理发师问题的业务建模方案

背景 题目: 假设有一个理发店只有一个理发师,一张理发时坐的椅子,若干张普通椅子顾客供等候时坐。没有顾客时,理发师睡觉。顾客一到,叫醒理发师 。如果理发师没有睡觉,而在为别人理发,他就会坐…

Chrome 网络调试程序 谷歌网络调试 network

目录 1.网络面板总览2.概况了解3.Waterfall接口排队等待时间4.关注请求接口的Size,可能是占据内存溢出的接口5.过滤器一栏 fetch/xhr 什么意思6. Stalled 什么意思7.Queueing 什么意思8.Queueing和Stalled之间什么关系9.为什么会有阻塞状态10.Time列是pending 什么意思 1.网络面…

实现Spring底层机制(二)

文章目录 阶段2—封装bean定义信息到Map1.代码框架图2.代码实现1.文件目录2.新增注解Scope存储单例或多例信息Scope.java3.修改MonsterService.java指定多例注解4.新增bean定义对象存储bean定义信息BeanDefinition.java5.修改pom.xml增加依赖6.修改容器实现bean定义信息扫描Sun…

基于Vue+ElementPlus自定义带历史记录的搜索框组件

前言 基于Vue2.5ElementPlus实现的一个自定义带历史记录的搜索框组件 效果如图: 基本样式: 获取焦点后: 这里的历史记录默认最大存储10条,同时右侧的清空按钮可以清空所有历史记录。 同时搜索记录也支持点击搜索,按…

Linux给磁盘扩容(LVM方式)

Linux给磁盘扩容(LVM方式) 最近测试性能,在本地打数据时,发现磁盘空间不足,于是想手动给/挂载点添加空间。这里介绍通过LVM方式快速给磁盘扩容。 LVM:是一种技术,方便管理磁盘。如果不用LVM,那…

springboot2集成东方通tongweb嵌入式版

由于最近项目需要国产化信创改造,引入东方通tongweb 联系东方通厂家 ,将依赖导入到maven仓库,并获取嵌入式版license文件修改pom.xml,引入依赖,注意springboot版本,这里以springboot2举例 首先移除springb…

Xinlinx FPGA内的存储器BRAM全解

目录 一、总体概述1.7系列FPGA的BRAM特点2.资源情况 二、BRAM分类1.单端口RAM2.简单双端口RAM3.真双端口RAM 三、BRAM的读写1、Primitives Output Registers读操作注意事项2.三种写数据模式(1)Write_First(2)Read_First&#xff0…

【学习】软件测试自动化,是未来的趋势还是当前的必需

在当今快速迭代的软件开发周期中,速度和质量成为了企业生存的关键。随着DevOps实践的普及和持续集成/持续部署(CI/CD)流程的标准化,软件测试自动化已经从未来的趋势转变为当前的必要性。本文将探讨自动化测试的现状、必要性以及其…

大模型训练及推理【硬件选型指南】及 GPU 通识

我们在做大模型应用部署时(如训练、微调、RAG),往往需要在前期就分析好硬件选型指标,或者我们给客户报方案之前,可能你已经有了一个方案,但是由于实践经验缺乏,不知道在硬件上该如何评估并上报。…

invidia-smi占用显存,无法显示PID

如果是动用了子线程创建进程,比如利用accelerate训练脚本,那么大概率可以通过这种方式解决:nvidia-smi没有进程,但是显存占用_nvidia-smi有的卡是0%-CSDN博客 如果这种方法不可用,请尝试直接查询所有python进程&#x…

react v18 项目初始化

按照以下命令进行傻瓜式操作即可: 全局安装脚手架工具: npm install -g create-react-app创建项目my-react-app: create-react-app my-react-app安装 antd: yarn add antd安装 react-router-dom: yarn add react-router-dom启动项…

[Qt的学习日常]--初识Qt

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、Qt的基本…

鸿蒙(HarmonyOS)性能优化实战-多线程共享内存

概述 在应用开发中,为了避免主线程阻塞,提高应用性能,需要将一些耗时操作放在子线程中执行。此时,子线程就需要访问主线程中的数据。ArkTS采用了基于消息通信的Actor并发模型,具有内存隔离的特性,所以跨线…

4.23日总结(项目总结)

1.项目: 今日项目通过一个在登录界面的一个静态变量,完成了区分老师和学生,能够分开老师和学生,并且不同身份的人进去会有不同的显示,以及登录链接主界面,还有学生和老师的不同的表,其次就是创…

葡萄书--关系图卷积神经网络

异质图和知识图谱 同质图与异质图 同质图指的是图中的节点类型和关系类型都仅有一种 异质图是指图中的节点类型或关系类型多于一种 知识图谱 知识图谱包含实体和实体之间的关系&#xff0c;并以三元组的形式存储&#xff08;<头实体, 关系, 尾实体>&#xff0c;即异…