操作压缩的PCAP文件

时间:2017-05-12 01:51:38

标签: python ip

我有一个装满pcaps的压缩文件,我正在尝试清理源IP。我假设剥离最后一个八位组就足够了。

import ipaddress

    def strip_addr(ip, b):
        n = ipaddress.ip_interface(u'%s/%s' % (ip, b))
        return str(n.network.network_address)

这是我到目前为止剥离这些内容的方法,但我对如何将压缩文件用管道传输到我的python代码感到困惑。我无法解压缩文件并在我的代码中打开它。我没有足够的空间,文件太大了。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这会在内存中一次处理一个.pcap:

from zipfile import ZipFile

PCAPS_ZIP_IN  = "pcaps.zip"
PCAPS_ZIP_OUT = "pcaps_sanitized.zip"

with ZipFile(PCAPS_ZIP_IN, "r") as z_in, ZipFile(PCAPS_ZIP_OUT, "w") as z_out:
    for pcap_name in z_in.namelist():
        s = z_in.read(pcap_name).decode()
        # sanitize s
        z_out.writestr(pcap_name, s)