运行wireshark“Lua:加载时出错”

通过在14.04运行wireshark我得到了这个错误我该怎么做才能解决这个问题?

Lua:加载时出错:[string“/usr/share/wireshark/init.lua”]:46:由于以超级用户身份运行Wireshark,dofile已被禁用。 有关以无特权用户身份运行Wireshark的帮助,请参阅http://wiki.wireshark.org/CaptureSetup/CapturePrivileges 。

那是因为(我猜)你以root身份运行wireshark

从消息中给出的链接:

您需要在具有足够权限的帐户上运行Wireshark或TShark,或者需要为您运行Wireshark或TShark的帐户提供足够的权限来捕获。 这样做的方式因操作系统而异。

为了安全起见(至少在某种程度上),建议管理员应始终在具有(有限)用户权限的帐户中运行,并且只启动真正需要管理员权限的进程。 “安全性”页面提供了解释为什么这是一个好主意。

设置dumpcap的网络权限

  1. 确保您的Linux内核和文件系统支持文件function,并且您还安装了必要的工具。

  2. “setcap’CAP_NET_RAW + eip CAP_NET_ADMIN + eip’/ usr / bin / dumpcap”

  3. 以非root身份启动Wireshark,确保您看到接口列表并可以进行实时捕获。

所以……

sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap 

不要忘记将用户添加到wireshark组

 sudo usermod -aG wireshark $USER 

(!)徽标关闭并再次登录。 然后以非root用户身份运行wireshark。

那是因为你没有将用户添加到wireshark组,所以:

 sudo dpkg-reconfigure wireshark-common 

对消息框说“是”。这会添加一个wireshark组。然后通过键入将用户添加到组中

 sudo adduser $USER wireshark 

然后重新启动机器并打开wireshark。

 wireshark 

它运气好;)

来自@Thusitha Sumanadasa

我发现了一个简单的解决方案。

  1. 转到usr/share/wireshark
  2. 使用文本编辑器打开init.lua
  3. disable_lua = false更改为disable_lua = true