在Ubuntu命令行启动wireshark时出现“无法打开显示”错误

问题描述 投票:0回答:3

我已经在Ubuntu上安装了wireshark,当我运行它时:

/usr/bin/wireshark

我收到错误:

(wireshark:27945): Gtk-WARNING **: cannot open display:

我想在命令提示符下运行wireshark。

我不想使用用户界面。我不知道为什么它抱怨显示,我想在端口上运行它。

wireshark
3个回答
18
投票

您可以尝试tshark - 这是一个“基于控制台的wireshark”,是wireshark项目的一部分。

您应该阅读阅读man tshark

例如要在80端口上捕获http数据包,请运行:

tshark -f 'tcp port 80 and http'

附注示例已修复为使用捕获过滤器而不是显示过滤器。


6
投票

在Ubuntu上,运行wireshark抱怨显示:

el@apollo:~$ wireshark
(wireshark:20619): Gtk-WARNING **: cannot open display:

设置DISPLAY环境变量:

export DISPLAY=:0.0
/usr/bin/wireshark

然后就可以了:

el@apollo:~$ wireshark -Y
wireshark: option requires an argument -- 'Y'

Usage: wireshark [options] ... [ <infile> ]

Capture interface:
  -i <interface>           name or idx of interface (def: first non-loopback)
  -f <capture filter>      packet filter in libpcap filter syntax
  -s <snaplen>             packet snapshot length (def: 65535)
  -p                       don't capture in promiscuous mode
  -k                       start capturing immediately (def: do nothing)
  -S                       update packet display when new packets are captured
  -l                       turn on automatic scrolling while -S is in use
  -I                       capture in monitor mode, if available
  -B <buffer size>         size of kernel buffer (def: 2MB)
  -y <link type>           link layer type (def: first appropriate)
  -D                       print list of interfaces and exit
  -L                       print list of link-layer types of iface and exit

wireshark 是一个 X 应用程序,因此它需要知道将 X11 显示输出发送到哪里。


0
投票

我只是使用 -E 标志运行它以允许 X11 转发:

$ sudo -Ewireshark

© www.soinside.com 2019 - 2024. All rights reserved.