我有一个装满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代码感到困惑。我无法解压缩文件并在我的代码中打开它。我没有足够的空间,文件太大了。有什么建议吗?
答案 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)