我有几个包含网络流量的 PCAP 文件。为了进行一些网络实验,我需要具有完全随机 IP 地址的真实数据。
我非常清楚 tcprewrite 的可能性,它可以与种子参数一起使用,如下所示:
tcprewrite --seed=423 --infile=input.pcap --outfile=output.pcap
根据文档,使用此方法时,主机之间的会话会得到维护。但是,根据可用的数据集,这对我来说并没有提供足够的随机性。例如,假设有一个包含许多数据包的大型 PCAP 文件,但该文件仅包含两个主机之间的流量。使用上述方法随机化此跟踪只是将两个 IP 地址替换为另外两个。总共仍然有两个地址。
我想将 IP 地址完全独立于原始 IP 更改为在所有可用 IP 空间或给定前缀内均匀分布。
举个例子,我想将 PCAP 文件中的所有目标地址更改为在 10.0.0.0/8 范围内均匀随机分布,没有维护原始映射。
因此问题是:如何完全随机化 PCAP 文件中的 IP 地址?
理想情况下,我想指定地址随机化的 IP 范围,因此基本上:如何将所有目标地址设置为 10.0.0.0/8 范围内的随机地址?
答案1
这Wireshark 维基列出了许多需要调查的选项。
这些工具可用于“匿名化”捕获文件,用随机值替换 IP 地址等字段。
- 来自 CRAWDAD 无线流量档案的 AnonTool。
- Bit-Twist 的 bittwiste 工具。
- Crypto-PAn 工具。
- Network Expect 工具,可用于匿名化数据包。
- 卡尔斯鲁厄理工学院远程信息处理研究所的 pktanon 工具。
- SCRUB-tcpdump 工具。
- 来自互联网流量档案的 tcpdpriv 工具。
- tcpreplay 的 tcprewrite 工具。
- TraceWrangler 工具。
此外,通过谷歌快速搜索,你还能找到萨尼卡普在 github 上。