MacBook上Wi-Fi抓包权限

​​​​​​​ 

“更多干货文章欢迎扫描关注微信公众号” 

 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 /devls -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设备:

猜你喜欢

转载自blog.csdn.net/suxiang198/article/details/123368347