您的位置:首页 > 其它

[修正版] Ubuntu12.04 启动 Wireshark提示There are no interfaces on which a capture can be done.

2013-04-20 12:24 603 查看
linux下的wireshark执行方法有两种,一种是root用户启动(不推荐),另一种是给设置权限。

1、root用户启动

01、启动一个shell

02、sudo wireshark (需要root权限)

2、普通用户启动

从Linux中第一次启动Wireshark的时候,可能会觉得奇怪,为什么看不到任何一个网卡,比如eth0之类的。这是因为,直接访问这些设备 需要 root权限。然后,我就用root权限去用了。当然,这是一个不好的做法。比如Gentoo中就会提示:WIRESHARK CONTAINS OVER ONE POINT FIVE
MILLION LINES OF SOURCE CODE. DO NOT RUN THEM AS ROOT.

那怎么办呢?Wireshark的leader Gerald Combs指出,现在多数Linux发行版都开始实现对raw网络设备使用文件系统
权限(能力) ,可以用这个途径从普通用户启动Wireshark。

以下是具体步骤:

1.安装setcap。setcap 是libcap2-bin包的一部分,一般来说,这个包默认会已经装好。

sudo apt-get install libcap2-bin

2.创建Wireshark组。这一步在安装Wireshark的时候,也会完成。

$ sudo -s

# groupadd wireshark

# usermod -a -G wireshark <自己的用户名>

# chgrp wireshark /usr/bin/dumpcap

# chmod 4750 /usr/bin/dumpcap

3.赋予权限。

#setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap 完成。

可以使用 getcap /usr/bin/dumpcap验证,输出应当是:/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

4. 重新登录一下

现在就可以从自己的普通用户启动Wireshark抓包了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐