概述
“更多干货文章欢迎扫描关注微信公众号”
“ MacBook的Wi-Fi网卡性能是非常强的,许多Wi-Fi空口与数据流的抓包都可以基于MacBook以及工具软件来实现,本文主要介绍MacBook上的Wi-Fi抓包权限以及可能遇到的问题。”
01
Wi-Fi的抓包权限问题
MacBook系统中,有不少好用的Wi-Fi抓包工具(如AirTool是其中应用非常广泛的一款,后续有机会再对不同的Wi-Fi抓包工具做下搜罗和对比)。但是Mac上进行Wi-Fi抓包是需要系统权限的,否则就会无法正常使用,并被提示“You don't have permission to capture on this device.”
因为除了提示无权限抓包,还提到了一个“access_bpf”用户组,网上查找了下说可尝试如下的命令查看和修改(实际上如下命令没有解决问题,但后续可以通过如下相应命令查看解决后的区别)
# 在终端命令行工具中,输入whoami查看当前用户
whoami
# 然后切换到/dev下查看bpf相关设备
cd /dev
ls -la | grep bp
# 从下图可以看到bpf的权限,然后按照网络搜索的输入如下命令修改bpf设备权限
sudo chown 当前用户名:admin bp*
# 但是使用上述命令还是不起作用,而且重启电脑后发现权限还是会被恢复回去
02
什么是BPF以及如何解决?
从上面命令输出中可以看到许多bpf的设备,BPF全称是柏克莱封包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。通过BPF应当是可以抓取所有链路层的数据包的,而且应当可以配置相应的过滤规则。
而“access_bpf”用户组则是由大名鼎鼎的网络数据包分析工具Wireshark自动创建的,其目的就是使Wireshark可以不运行于root权限也能够在Mac上抓包。Wireshark的安装过程中完成“access_bpf”用户组创建流程如下:
-
创建“access_bpf”用户组
-
将当前用户添加到“access_bpf”用户组
-
会安装一个启动服务,当系统启动时,修改BPF设备的权限,并将BPF设备的所有者改为“access_bpf”用户组
-
这样Wireshark以及与它相关的抓包程序就不用在root权限下运行,也能访问BPF实现完整抓包能力
所以上面提示无权限抓包,以及“access_bpf”用户组问题,其实是需要先安装Wireshark,解决BPF的权限问题。于是下载安装Wireshark,果然提示要“installing ChmodBPF”:
点击安装ChmodBPF:
安装完成后,上面的Wi-Fi抓包权限问题就彻底解决了,同时再用“ls -la | grep bp”命令查看,果然BPF的权限全部被修改了,而且多出了更多的BPF设备:
最后
以上就是高高时光为你收集整理的MacBook上Wi-Fi抓包权限的全部内容,希望文章能够帮你解决MacBook上Wi-Fi抓包权限所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复