2017-05-12 27 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)