[关闭]
@natsumi 2015-03-31T06:54:47.000000Z 字数 901 阅读 2073

「转」非root用户使用Wireshark捕捉网络数据包

Linux Wireshark


转自:
http://blog.csdn.net/digimon/article/details/7220290

官方解决方案
http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/

1. 问题的引出

不用root权限不能抓包
默认情况下,访问网络端口需要root权限,而wireshark的只是/usr/share/dumpcap的一个UI,/usr/share/dumpcap需要root权限,所以没法non-root用户无法读取网卡列表。
解决办法很简单,sudo wireshark

但是wireshark官方不推荐这么做:

  • Running as user "root" and group "root".
    This could be dangerous.
  • If you're running Wireshark this way in order to perform live capture, you may want to be aware that there is a better way documented at

2. 解决方法

可以用另一种方法,改变/usr/share/dumpcap的group,添加一个group:wireshark,chgrp到wireshark组,再改成750权限,这样方便权限控制。

  1. $ sudo -s
  2. # groupadd wireshark
  3. # usermod -a -G wireshark <You own username>
  4. # chgrp wireshark /usr/bin/dumpcap
  5. # chmod 750 /usr/bin/dumpcap

又参考网上的解决方案,执行下面命令
# 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,说明生效

「注意」得注销一下才能生效

==这样做可以抓包但是不能修改preference

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注