在Deepin Linux上使用wireshark捕捉网络数据包的权限问题
Tofloor
poster avatar
chinacia
deepin
2015-05-06 18:44
Author

默认情况下,访问网络端口需要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


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

命令如下:

# sudo -s
# groupadd wireshark
# usermod -a -G wireshark
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /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,说明成功。
最后注意得注销一下才能生效

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


Reply Favorite View the author
All Replies
Feng Yu
deepin
2015-05-06 19:09
#1
最后那一行是危险的操作,不应该草率的给任意一个可执行程序suid权限。而官方faq也没有最后一步,只是把当前普通用户加入wireshark用户组即可
Reply View the author
lcw0268
deepin
2015-05-06 21:54
#2
弱弱的问一句,抓包干什么?
Reply View the author
chinacia
deepin
2015-05-07 03:46
#3
1. 没错,一般用户还是不要执行最后一行的操作。
2. 抓包可以分析一些问题啊,特别是做一些网络相关的应用,抓包分析是很常用的。
Reply View the author
ahyanglf
deepin
2015-05-07 05:00
#4
只用过win下的抓包工具
Reply View the author
ochipedeepin
deepin
2015-05-07 21:09
#5
本帖最后由 ochipedeepin 于 2015-5-7 13:13 编辑

只要经常在linux下用wireshark,应该都知道第二种解决办法吧,这个问题老了,,,楼主赞一个,贴出来了
Reply View the author
ebirdcn
deepin
2015-06-05 00:52
#6
momo lz。。。
Reply View the author
New Thread

Popular Events

More
国际排名
WHLUG