给定一个先前生成的 pcap 文件,我如何将数据序列化为 4B(或 N 字节)块。pcap 数据的格式/协议在这里不相关。
答案1
你可以使用命令将一个文件分割成任意大小的多个文件。下面是我将之前创建的文件分割成 4 字节块split
的示例:pcap
/tmp/wat$ ls -l
total 4
-rw-r--r-- 1 kasperd kasperd 116 Oct 18 18:19 wat.pcap
/tmp/wat$ split -b4 wat.pcap
/tmp/wat$ ls -l
total 120
-rw-r--r-- 1 kasperd kasperd 116 Oct 18 18:19 wat.pcap
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaa
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xab
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xac
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xad
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xae
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaf
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xag
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xah
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xai
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaj
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xak
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xal
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xam
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xan
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xao
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xap
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaq
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xar
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xas
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xat
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xau
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xav
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaw
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xax
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xay
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xaz
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xba
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xbb
-rw-rw-r-- 1 kasperd kasperd 4 Oct 18 18:20 xbc
/tmp/wat$ cat x* | sha224sum - wat.pcap
14c450277299f320535d369fc5f1044f96725b0afcfec0b9840bb717 -
14c450277299f320535d369fc5f1044f96725b0afcfec0b9840bb717 wat.pcap
/tmp/wat$
如您所见,即使是很小的pcap
文件,在分割成如此小的块时也会产生很多文件。因此,在未针对许多小文件进行优化的文件系统上使用此功能时要小心。