手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux中从普通用户启动Wireshark抓包

[日期:2012-06-22] 来源:Linux社区  作者:sanitizer [字体: ]
     本文介绍Linux中的方法,Windows用户可以参照Wireshark的Wiki

     从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的时候,也会完成。
# groupadd -g 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

现在就可以从自己的普通用户启动Wireshark抓包了。linux
相关资讯       Wireshark 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款