如何使用 tshark 从 .pcapng 文件中读取接口名称?

How to read the interface name from a .pcapng file using tshark?

我正在尝试 运行 这个 tshark 命令:

tshark -r $file -T fields -E separator=/t -e frame.number -e frame.time -e frame.protocols -e frame.len -e frame.interface_id -e frame.interface_name

我收到此警告:

** (process:30955): WARNING **: 'frame.interface_name' isn't a valid field! tshark: Some fields aren't valid

但是我在 Wireshark 中打开文件时能够看到该字段?

访问 interface_name 信息的正确方法是什么?

我正在使用以下 tshark 版本 -

TShark 1.12.1 (Git Rev Unknown from unknown)

Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GLib 2.32.4, with libpcap, with libz 1.2.7, with POSIX
capabilities (Linux), with libnl 3, with SMI 0.4.8, with c-ares 1.9.1, with Lua
5.2, without Python, with GnuTLS 2.12.20, with Gcrypt 1.5.0, with MIT Kerberos,
with GeoIP.

Running on Linux 3.16.7-cb2000v1, with locale en_US.UTF-8, with libpcap version
1.3.0, with libz 1.2.7.
Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz

Built using gcc 4.7.2.

我尝试更新 wireshark -

$ sudo apt-get install wireshark 阅读包裹清单...完成 构建依赖树<br> 正在读取状态信息...完成 wireshark 已经是最新版本了。 您可能需要 运行 'apt-get -f install' 来更正这些: 以下软件包具有未满足的依赖项: isc-dhcp-relay : 取决于: isc-dhcp-common (= 4.2.2.dfsg.1-5+deb70u8) 但要安装 4.2.2.dfsg.1-5+deb70u8 isc-dhcp-server : 取决于: isc-dhcp-common (= 4.2.2.dfsg.1-5+deb70u8) 但要安装 4.2.2.dfsg.1-5+deb70u8 libsnmp-perl : 取决于: perl (>= 5.14.2-21+deb7u5) 但要安装 5.14.2-21+deb7u3 E:未满足的依赖项。尝试 'apt-get -f install' 没有包(或指定解决方案)。

它说 wireshark is already the newest version

这是 linux OS 机器的详细信息: Distributor ID: Debian Description: Debian GNU/Linux 7.8 (wheezy) Release: 7.8 Codename: wheezy

您使用的 tshark 是哪个版本? 运行 tshark -v 检查。

frame.interface_name 显示过滤器仅从版本 2.4.0 开始可用,因此您的 [=] 中可能有旧版本的 tshark 13=]?

请注意,您可以在 Wireshark Display Filter Reference 页面上检查任何显示过滤器的可用性。