使用 tshark 作为 su 处理 PCAP 时,GeoIP 不工作

使用 tshark 作为 su 处理 PCAP 时,GeoIP 不工作

我正在处理大量 PCAP 文件,并尝试将它们转换为 .tsv 文件以进行表格分析。因此,我在 Ubuntu 22 VirtualBox 机器中使用 tshark 来剖析每个数据包。我有一个 bash 命令,在循环中使用它for来处理每个 PCAP 文件。

tshark -r "${pcapFile}" -2 \
        -T fields \
        -E separator=/t \
        -E header=y \
        -E quote=d \
        -e frame.time_epoch \
        -e _ws.col.Info \
        -e _ws.col.Protocol \
        -e ip.src \
        -e ip.dst \
        -e ip.proto \
        -e ip.version \
        -e ip.hdr_len \
        -e ip.src_host \
        -e ip.dst_host \
        -e ip.geoip.dst_city \
        -e ip.geoip.dst_country_iso \
        -e ip.geoip.dst_asnum \
        -e ip.geoip.src_city \
        -e ip.geoip.src_country_iso \
        -e ip.geoip.src_asnum \
        -e eth.src \
        -e eth.dst > "${OUTPUT_FOLDER}/${filename}.tsv"

我遇到一些奇怪的结果。

  1. sudo当我在处理运行时运行此命令时很多比没有的时候跑得更快sudo
  2. 当我运行此命令时sudo,这些geoip字段是空的,但是当我不运行时,sudo它们会被填充。

我希望在这里能够两全其美,因为我有很多 pcap 文件需要处理,并且希望它能够快速移动,而且,我非常想要这些geoip信息。为什么我无法获取geoip字段 assudo和/或为什么在没有 的情况下处理运行得不那么快sudo

tshark 版本:3.6.7-1~ubuntu22.04.0+wiresharkdevstablewireshark
版本:3.6.7-1~ubuntu22.04.0+wiresharkdevstable
系统规格:12 CPU、24 GB RAM、Ubuntu 22.04

答案1

您可能有以普通用户身份安装 GeoIP 数据库而不是作为根。这就是为什么它在以 root 身份运行时不需要查找任何内容,这既解释了为什么它更快,也解释了为什么不显示 geoip 结果。

我希望在这里能两全其美

不幸的是你可能不能。

相关内容