You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从pcap文件提取唯一IP:output.txt格式异常问题咨询

解决tshark导出源IP时多IP合并为一行的问题

问题场景

执行以下步骤处理pcap文件时,导出的IP列表出现格式异常:

  • 用tshark导出源IP至文件:
    tshark -r file.cap -T fields -e ip.src > output.txt
    
  • 用sort+uniq去重:
    sort output.txt | uniq > uniqueip.txt
    
  • 用wc -l统计行数:
    wc -l output.txt
    

导出的output.txt中部分IP以逗号分隔在同一行,例如"216.245.214.196,146.231.254.240",文件内容示例:

"58.176.204.64"
"180.168.211.204"
"103.248.63.253"
"216.245.214.196,146.231.254.240"
"112.104.105.79"
"216.245.214.196,146.231.254.131"
"112.104.105.79"
"10.0.61.65,146.231.254.12"

原因分析

这是因为捕获的数据包中存在多IP头部的封装结构,比如VLAN堆叠、GRE/IPsec隧道协议,或是包含多个源IP的特殊测试包。tshark默认会将同一个数据包中匹配到的多个ip.src字段用逗号分隔,输出到同一行。

解决方案

修改tshark命令,添加-E separator='\n'参数,强制将多字段输出用换行符分隔:

tshark -r file.cap -T fields -e ip.src -E separator='\n' > output.txt

如果不需要默认的双引号包裹IP,可额外添加-E quote=d参数(d表示禁用引号):

tshark -r file.cap -T fields -e ip.src -E separator='\n' -E quote=d > output.txt

执行上述命令后,每个IP会单独占一行,后续的去重、统计操作就能正常执行。

内容的提问来源于stack exchange,提问作者bostongeorge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:50:39