2017-05-12 26 views
0

我有一个压缩文件,里面装满了pcaps,我正在尝试净化源IP。我认为剥去最后一个八位字节就足够了。操作压缩的PCAP文件

import ipaddress 

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

这是我迄今为止的剥离位,但我很困惑,我将如何去获得的压缩文件通过管道输送到我的Python代码。我无法解压缩文件并在我的代码中打开它。我没有足够的空间,文件太大。有什么建议么?

+0

解压到文件,然后读出由线这个文件中的行,并消毒通过线写入线。 – stovfl

回答

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)