在 14.04 中运行 wireshark 时出现此错误,我该如何解决这个问题?
Lua:加载时出错:[string“/usr/share/wireshark/init.lua”]:46:由于以超级用户身份运行 Wireshark,dofile 已被禁用。请参阅http://wiki.wireshark.org/CaptureSetup/CapturePrivileges寻求以非特权用户身份运行 Wireshark 的帮助。
答案1
这是因为(我推测)你以 root 身份运行 wireshark
从消息中给您的链接:
您需要在具有足够权限的帐户上运行 Wireshark 或 TShark 才能进行捕获,或者需要授予运行 Wireshark 或 TShark 的帐户足够的权限才能进行捕获。具体操作方法因操作系统而异。
为了安全起见(至少在某种程度上),建议即使是管理员也应该始终在具有(有限)用户权限的帐户中运行,并且只启动真正需要管理员权限的进程。安全页面解释了为什么这是一个好主意。
设置 dumpcap 的网络权限
确保您的 Linux 内核和文件系统支持文件功能,并且您已经安装了必要的工具。
“setcap‘CAP_NET_RAW + eip CAP_NET_ADMIN + eip’/usr/bin/dumpcap”
以非 root 身份启动 Wireshark,并确保您看到接口列表并可以进行实时捕获。
所以 ...
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
不要忘记将用户添加到 wireshark 组
sudo usermod -aG wireshark $USER
和(!)注销并重新登录。然后以非 root 用户身份运行 wireshark。
答案2
我找到了一个简单的解决方法。
- 去
usr/share/wireshark
。 init.lua
用文本编辑器打开。- 改成。
disable_lua = false
disable_lua = true
答案3
这是因为你没有将用户添加到 wireshark 组,所以:
sudo dpkg-reconfigure wireshark-common
在消息框中回答“是”。这将添加一个 wireshark 组。然后通过键入以下内容将用户添加到该组中
sudo adduser $USER wireshark
然后重新启动机器并打开 wireshark。
跑步
wireshark
并且它有效祝你好运 ;)
作者:@Thusitha Sumanadasa
答案4
运行以下命令/usr/share/wireshark/init.lua
在文本编辑器中打开:
nano /usr/share/wireshark/init.lua
你会看到类似这样的一行:
enable_lua = true
让它看起来像
enable_lua = false
按Ctrl+X保存并退出。
Wireshark 已准备好使用!