在监控模式下使用 libpcap 嗅探 wifi

2024-01-10

问题陈述

Calling pcap_activate()结果是PCAP_ERR_RFMON_NOTSUP错误,即不支持 RF 监控模式。

Context

我正在编写一个小型 C 程序,其工作是在监视器模式下监听我的笔记本电脑的 wifi 卡。该笔记本电脑运行的是 Ubuntu 12.04 LTS。我跑了airmon-ng start wlan0命令之后出现 mon0 界面。以下显示了运行 airmon 命令后 iwconfig 命令的输出:

$ iwconfig
mon0      IEEE 802.11bgn  Mode:Monitor  Tx-Power=16 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"SKY88F48"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 7C:4C:A5:3B:33:59   
          Bit Rate=52 Mb/s   Tx-Power=16 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=43/70  Signal level=-67 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:4  Invalid misc:415   Missed beacon:0 

Question

在我的程序中,我使用以下命令在设备 mon0 上创建网络句柄pcap_create()。然后我成功设置了快照长度和混杂模式。

当我检查是否可以设置 rfmon 时,使用pcap_can_set_rfmon()方法,它返回正值。然后我使用设置 rfmonpcap_set_rfmon()成功通过的方法。我也设置了超时。最后当我打电话的时候pcap_activate()它返回错误PCAP_ERR_RFMON_NOTSUP,即不支持 RF 监控模式。我正在以 root 身份运行我的程序。

需要注意的一件事是,我安装了wireshark并开始监听mon0,它成功捕获了所有流量。


您不需要在 mon0 上设置 rfmon 模式 - 它本质上处于监视模式。只需捕捉它即可;这就是您使用 Wireshark 所做的。

由于各种原因与

  1. libnl 有多个不兼容的版本,因此选择正确的版本来构建 libpcap 显然对于发行版构建者来说是一件痛苦的事情;

  2. 选择与同时使用 libnl 和 libpcap 的应用程序所使用的版本不同的版本,由于上述不兼容性而导致可怕的问题;

Linux 的 libpcap rfmon 模式代码最适合大多数设备,它使用 libnl (本质上,它创建一个新的 monN 接口,复制 airmon-ng 的功能,打开该接口进行捕获,并在捕获完成时将其删除),是not由于配置了 libpcap,因此在许多 Linux 发行版中启用not使用 libnl.

因此,它在 Linux 上运行得不太好。

为 libpcap 编写代码以直接使用 netlink 套接字,而不是通过 libnl,在我的待办事项列表中,但不幸的是,它落后于该列表中的许多其他问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在监控模式下使用 libpcap 嗅探 wifi 的相关文章

  • 无法理解 PcapNG 文件中的 802.11 数据帧格式

    I have PcapNG由 Wireshark 创建的文件 我尝试用它来解析python pcapng However I cannot figure out how to reconcile the output I receive f
  • 如何在 .net 中获取可用的 wifi AP 及其信号强度?

    有没有办法使用 NET 访问所有 WiFi 接入点及其各自的 RSSI 值 如果我可以在不使用非托管代码的情况下完成它 那就太好了 或者如果它可以在 Mono 和 NET 中工作 那就更好了 如果可能的话 我将不胜感激代码示例 谢谢 以下是
  • p2p0是android中WIFI DIRECT的无线接口吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我打印 Android 设备中的所有接口时 03 10 19 50 15 484 I System out 22415 lo 03 10
  • 我如何使用肘节检查连接性?

    我需要使用连接库检查应用程序内每个页面的连接性 所以我将在提供者内部使用一肘 问题是何时关闭流以便在用户关闭应用程序时可以处理它 像这样 import package connectivity connectivity dart overr
  • iOS:同时使用 WiFi 和移动数据

    Setup 我的项目涉及一个 WiFi 相机 它创建一个 WiFi 热点 为了在相机上流式传输视频预览 浏览媒体 用户需要连接到相机的热点 Problem 用户无法同时使用 3G 4G 上的蜂窝数据 因为 iOS 设备已通过 WiFi 连接
  • 从 ScanResult 构造 WifiConfiguration 或: 解释 ScanResult 的“功能”字符串

    你们中的 Android 专家知道任何开源代码来创建一个WifiConfiguration http developer android com reference android net wifi WifiConfiguration ht
  • Android 上的热点/网络共享模式下的组播支持

    我有一个原型 Android 应用程序 它正在侦听多播数据包以 发现 要与之通信的客户端 套接字设置类似于 InetAddress group InetAddress getByName 228 1 2 3 MulticastSocket
  • 如何在 iOS 中通过 3G 连接创建无线热点

    如果我愿意 我将如何创建一个像这样的应用程序MyWi http intelliborn com mywi html 即 WiFi 网络共享应用程序 实现该功能需要哪些步骤 我需要使用哪些框架 库 我们的目标不是尝试将此应用程序放入应用程序商
  • Android wifi的信号强度[重复]

    这个问题在这里已经有答案了 可能的重复 Android 如何监控WiFi信号强度 https stackoverflow com questions 1206891 android how to monitor wifi signal st
  • 由于 lpcap,CPAN 安装 Net::Pcap 和 Packet 模块失败

    最近 我尝试通过 cpan 安装 perl 模块 Net Packet 和 Net Pcap 但它抱怨找不到 pcap 库 所以我正在搜索 cpan 在安装模块时是否接受外部 lib include 目录 但到目前为止还没有运气 looki
  • 从 PCAP 嗅探重建数据

    我试图通过 libpcap 嗅探 HTTP 数据 并在处理 TCP 有效负载后获取所有 http 内容 标头 有效负载 根据我的讨论编写 http 嗅探器 或任何其他应用程序级嗅探器 https stackoverflow com ques
  • 802.11 FCS (CRC32) [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 下面的代码是否正确计算无线 802
  • 当 TCP 序列号到达而不是预期时会发生什么情况?

    我正在编写一个程序 使用 libpcap 捕获数据包并重新组装 TCP 流 我的程序只是监视流量 因此我无法控制数据包的接收和发送 我的程序忽略所有非 TCP IP 流量 我根据 ISN 计算下一个预期序列号 然后计算连续的 SEQ 号 我
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • Android Wifi 广播接收器无法按预期工作

    每当手机连接到新的 WiFi 网络时 我都必须获取 WiFi ssid 我注册了以下内容 receiver registerReceiver this mybroadcast new IntentFilter WifiManager SUP
  • 设备连接 Wifi 热点时的回调

    我正在我的应用程序中以编程方式创建 WiFi AP 当新设备连接到我的 AP 时 我会收到任何广播吗 我知道我们可以从以下位置获取已连接设备的列表 proc net arp但当有新连接时我需要回调 任何帮助表示赞赏 如果您不需要使用AP连接
  • Android Wifi 通过具有相同 SSID 的 AP 漫游

    我发现 Android 系统在 Wifi 漫游方面表现不佳 我们有一个 Wifi 集中式网络 其中有许多具有单一 SSID 的 AP Adroid 手机无法无缝漫游 即使有其他 AP 具有相同 SSID 信号良好 Android 手机也会尝
  • 获取 Wi-Fi 配置文件信息

    我使用的是 Windows 8 1 它没有工具 带有 GUI 来管理 wifi 网络配置文件 所以我正在写一篇对我有帮助的文章 我做了一些谷歌搜索并发现托管 Wifi API https managedwifi codeplex com 并
  • 更改 Wi-Fi 配置文件的密码

    在我志愿服务的长期护理医院中 每个月的第一天 访客 Wi Fi 连接的密码都会更改 这给工作人员带来了大量的工作 也给患者带来了很多挫败感 其中许多人的行动能力非常有限 是的 真正的解决方案是让 IT 团队保留相同的密码 但这不会发生 大多

随机推荐

  • 强制 Internet Explorer 9 使用 IE 9 模式

    我正在使用 HTML5 文档类型 其顶部附近带有 X UA Compatible 元标记
  • 如何在 Swift 中将 Int 转换为 NSData?

    在 Objective C 中我使用以下代码 转换一个Int变量变为NSData 一个字节包 int myScore 0 NSData packet NSData dataWithBytes myScore length sizeof my
  • 如何从其余客户端推送通知以进行测试

    您好 我正在尝试将通知从其余客户端推送到 Android 应用程序 我正在做如下 URL https android googleapis com gcm send Method POST Headers Authorization my
  • Heroku (Docker) nginx 中的 PORT 环境变量

    我只需对 Dockerfile 进行一些修改 即可在 Heroku 上使用 nginx 运行它 Heroku 的特别之处在于 一切都以非 root 身份运行 第二个特定行为是使用来自 Heroku 本身的随机端口 并且无法修改 他们提供了
  • 序列输出的循环 - python

    我一直在努力寻找一种方法 将序列中的 6 聚体打印在单独的行上 这样 注意每行的间距 atgctagtcatc tgctag gctagt ctagtc tagtca etc 到目前为止 我已经能够在字符串中获取序列 如下所示 from B
  • 如何通过代码将Jupyter Notebook保存为HTML?

    我有一个 Jupyter Notebook 程序 它可以为我进行分析 运行后 我想将其保存为 HTML 以便稍后查看 然后我可以更改输入数据文件以对其他数据进行分析 通常 我手动执行此操作 这看起来像 但这对我来说感觉非常乏味 所以我想知道
  • 数据表 - 动态列

    我知道这个问题之前已经被问过 但我的变体与其他答案不匹配 我有一个这种形式的 json 数据源 columns title Store Number data StoreNbr title Store Name data StoreName
  • 如何添加和删除拉斐尔元素的发光?

    我正在尝试为拉斐尔元素设置悬停 以便当鼠标位于元素上时 它会发光 当鼠标离开时 发光会被移除 我已经弄清楚如何添加发光 但我在删除它时遇到了麻烦 我的脚本如下所示 document ready function var paper Raph
  • 如何找到现有数组的下一个数字索引?

    我正在寻找一种简单的方法来获取 PHP 也会选择的新元素的数组的下一个数字索引 示例1 array array array new index 对于这种情况 该值将为 0 示例 1a array array 100 gt prefill 1
  • 一种生成数据集中项目配对的所有可能方式的有效方法

    这在某种程度上是一个组合问题 我正在尝试找出一种有效的方法来配对数据集中的所有项目 例如 我有一个长度为 6 的数组 1 2 3 4 5 6 我想对数组中的内容进行所有可能的配对 如下所示 1 2 3 4 5 6 1 2 3 5 4 6 1
  • sql 按函数分组

    我只需要获取每个产品 ID 具有最高交易时间的行 所以在这种情况下 我需要获取第一行 并且所有其他带有productid 224的行都应该消失 我怎样才能解决这个问题 现在我按 NQ 进行分组 但有多行 因为 NQ 根据每笔交易而变化 我也
  • 如何在 Linux 中正确安装 gsl 库?

    我在安装 GNU Scientific Library gsl 时遇到问题 我将软件包放在桌面上 并根据包含的文档执行了 configure make 和 sudo make install 我检查了 usr local include 目
  • .NET 的未来版本是否支持 C# 中的元组?

    Net 3 5 不支持元组 太糟糕了 但不确定 net 的未来版本是否会支持元组 我刚刚从 MSDN 杂志上读到这篇文章 构建元组 http msdn microsoft com en us magazine dd942829 aspx 以
  • 遍历目录并检查文件的大小

    我想遍历目录和子目录 并检查每个文件的文件大小 如果它与定义的文件大小匹配 它将被删除 我知道 我必须使用 os walk 但我不太确定以哪种方式 我用于目录列表的代码是 import os path C Python27 i 0 for
  • 从两个表中获取数据?

    我有两张桌子 说出表 A 和表 B Table A id Article Name date 1 ABC 25 2 2011 2 xyz 26 2 2011 Table B id Comment Article id 1 good 1 2
  • 我可以在没有 MySQL 表的情况下将 CSS 值保存在我的 WordPress 主题中吗?

    我是 WordPress 主题开发的新手 我无法在这里或通过很多 Google foo 找到答案 所以我想知道这种情况是否可能 我正在为 Themetatic 编写一个子主题 我想为最终用户提供从主题控件中的对话框更改 CSS 颜色值和字体
  • VS2010:在构建后事件中我们可以有多个 if 吗?

    我们可以有这样的东西吗 if Debug ConfigurationName goto nocopy else if Release ConfigurationName del TargetPath config copy ProjectD
  • Lawnchair-IndexedDB 不支持多记录

    我尝试在索引数据库中创建多个记录 但它不允许我 例如耐克和阿迪达斯objectStores var nike Lawnchair adapter indexed db name stores record nike function e c
  • List l = new ArrayList() 和 List l = new ArrayList() 的区别[重复]

    这个问题在这里已经有答案了 以下两个声明有什么区别 List
  • 在监控模式下使用 libpcap 嗅探 wifi

    问题陈述 Calling pcap activate 结果是PCAP ERR RFMON NOTSUP错误 即不支持 RF 监控模式 Context 我正在编写一个小型 C 程序 其工作是在监视器模式下监听我的笔记本电脑的 wifi 卡 该