运行wireshark“ Lua:加载期间出错”


Answers:


12

这是因为(我假设)您以root身份运行wireshark

从消息中获得的链接:

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

为了安全起见(至少以某种方式),建议即使是管理员也应始终在具有(有限)用户特权的帐户中运行,并且仅启动确实需要管理员特权的进程。“安全性”页面提供了有关为什么这是一个好主意的说明。

设置dumpcap的网络特权

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

  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。


是的,我使用sudo运行它。
Mohammad Reza Rezwani 2014年

我写了这个:sudo“ setcap'CAP_NET_RAW + eip CAP_NET_ADMIN + eip'/ usr / bin / dumpcap”,我得到了:sudo:setcap'CAP_NET_RAW + eip CAP_NET_ADMIN + eip'/ usr / bin / dumpcap:未找到命令
Mohammad Reza Rezwani 2014年

1
试试sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
Panther 2014年

文件夹中有一些文档:/ readme文件中的/ usr / share / doc / wireshark-common /。它涉及其他一些非root用户选项,以及您可能希望完成的其他任务的依赖关系。
2015年

2

我找到了一个简单的解决方案。

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

1

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

sudo dpkg-reconfigure wireshark-common

在消息框中说是,这将添加一个Wireshark组,然后通过输入将用户添加到该组

sudo adduser $USER wireshark

然后重启机器并打开wireshark。

wireshark

它的运气很好;)

通过@Thusitha Sumanadasa


0

我使用的是Mint(基于Ubuntu),在我的情况下,这是导致问题的输出文件的位置,当我将输出文件更改为under时/tmp/,问题就解决了。

例如

  • tshark -i wlp7s0 -w /tmp/a.pcap
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.