我已经在 Ubuntu 上安装了 wireshark,当我运行它时:
/usr/bin/wireshark
我收到一个错误:
(wireshark:27945): Gtk-WARNING **: cannot open display:
我想在命令提示符下运行 wireshark。
我不想使用用户界面。我不确定它为什么抱怨显示器,我想在端口上运行它。
我已经在 Ubuntu 上安装了 wireshark,当我运行它时:
/usr/bin/wireshark
我收到一个错误:
(wireshark:27945): Gtk-WARNING **: cannot open display:
我想在命令提示符下运行 wireshark。
我不想使用用户界面。我不确定它为什么抱怨显示器,我想在端口上运行它。
您可以尝试tshark - 这是一个“基于控制台的wireshark”,它是wireshark 项目的一部分。
您应该阅读阅读man tshark。
例如在 80 端口上捕获 http 数据包运行:
tshark -f 'tcp port 80 and http'
PS 示例已修复为使用捕获过滤器而不是显示过滤器。
在 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 显示输出发送到哪里。