如何将PCAP文件中的IP地址更改为字符串

时间:2019-05-29 22:09:03

标签: pcap

我需要与不知道pcap中各种IP地址所指的人一起存档和共享一些PCAP文件。

因此,我想找到一种方法来编辑PCAP文件并更改IP地址,以使它们在Wireshark中显示为fqdn或随机字符串。例如“ server.a.some.domain”或“ serverA”,而不是192.168.x.x。这样,人们就可以了解流量,而不必询问每个IP是什么。

我可以使用“名称解析”功能在Wirehark中手动实现此功能,但是我想在共享PCAP文件之前自动对其进行更改。

我尝试使用bittwiste和tcprewrite,但是它们似乎仅支持将IP地址更改为另一个IP地址,而不是字符串。

例如可行

cutadapt --cut 20 -o /path/2019.01_spades_output_pathodetect/FASTQ_trimming/CUT20/AWGS09281_S20_L001_R2_001.fastq.gz /path/2019.01_spades_output_pathodetect/FASTQ_trimming/AWGS09281_S20_L001_R2_001.fastq.gz


This is cutadapt 2.3 with Python 3.7.3
Command line parameters: --cut 20 -o /path/2019.01_spades_output_pathodetect/FASTQ_trimming/CUT20/AWGS09281_S20_L001_R2_001.fastq.gz /path/2019.01_spades_output_pathodetect/FASTQ_trimming/AWGS09281_S20_L001_R2_001.fastq.gz
Processing reads on 1 core in single-end mode ...
[   8<-------] 00:00:06       490,635 reads  @     13.6 µs/read;   4.42 M reads/minute
Finished in 6.71 s (14 us/read; 4.39 M reads/minute).

但这不是

$ bittwiste -I a.pcap.file.pcap -O test.pcap -T ip -s 192.168.0.0,192.168.0.2
input file: a.pcap.file.pcap
output file: test.pcap

1771 packets (665162 bytes) written

任何人都知道这是否可行以及如何做到?

谢谢

1 个答案:

答案 0 :(得分:0)

这看起来并不简单。要替换的名称仅在应用程序数据内部,即通常在DNS请求和响应中,作为TLS握手(ClientHello中的SNI,服务器证书中的CN / SAN)的一部分,位于HTTP请求标头的Host字段中。 ..

尽管您可能会尝试将所有此类名称简单地用其他字符串替换,但这会破坏TCP连接中的序列号,除非您用完全相同的长度替换它。即使这样,也会使TCP校验和无效,使证书上的签名无效,...并且在DNS的情况下,简单的字符串替换甚至都不会找到所有名称,因为它们可能是在DNS中编码的,而不仅仅是在DNS中DNS数据包作为纯字符串。