2017-05-12 24 views
0

私はpcapでいっぱいの圧縮ファイルを持っています。私はソース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コードにパイプZIPファイルを取得しに行くか方法として混乱しています。ファイルを解凍してコードで開くことはできません。スペースが足りず、ファイルが大きすぎます。助言がありますか?

+0

解凍を。 – stovfl

答えて

0

これは、メモリに一度に1 .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) 
関連する問題