我正在处理大量 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"
我遇到一些奇怪的结果。
sudo
当我在处理运行时运行此命令时很多比没有的时候跑得更快sudo
。- 当我运行此命令时
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 结果。
我希望在这里能两全其美
不幸的是你可能不能。