今天打开wireshark想抓个包,发现打开混杂模式失败,抓不了,报错如下:
“The capture session could not be initiated on interface ‘en0’ (You don’t have permission to capture on that device).
Please check to make sure you have sufficient permissions.
If you installed Wireshark using the package from wireshark.org, Try re-installing it and checking the box for the “Set capture permissions on startup” item.”
这个问题其实之前我就遇到过,不过好久没抓包,即使知道是网卡权限问题,回想了一会,还是想不起来具体的解决方法了(唉我这记性),还是记下来吧, 要不然下一次忘了还得再查,好记性不如写博客,hhh。
解决方法1:
1.打开终端,输入
sudo chmod 777 /dev/bpf*
2.回车,重新打开wireshark,解决。简单快速
解决方法2:
1. 打开终端,输入:
cd /dev
sudo chown 你的电脑用户名:admin bp*
然后输入密码。
注:你的电脑用户名一般就是终端最开始的地方或者输入处的’$'符号前的那一串,如图的红线部分:
还不懂的就在终端输入:whoami,出现的就是你的用户名(上图的蓝线部分)
2. 终端继续输入:
ls -la | grep bp
会出现类似下表:
我们的目的就是把蓝线部分修改成和上边的一样,继续在终端输入:
sudo chown 你的用户名:admin bp*
对,其实和第1步里输入的一样。
或者输入:(这个更有针对性,注意bpf4要和蓝线那行的一样)
sudo chown 你的用户名:admin bpf4
然后再输入ls -la | grep bp,可以看到表更新了:
3. 重启wireshark,开始抓包
注:bpf4是一个接口,获得该接口的设置权限我们就能抓包。
(柏克莱封包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发,除此之外,如果网卡驱动支持洪泛模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。)
Mac 重启后这个问题可能还会出现,除非你用的是root账号,所以尽量把解决方法记住吧。
希望能帮到和我一样有些健忘的人 : )