我已经在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'
附注示例已修复为使用捕获过滤器而不是显示过滤器。
在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 显示输出发送到哪里。
我只是使用 -E 标志运行它以允许 X11 转发:
$ sudo -Ewireshark