我想使用pynids庫解析多個pcap文件,但只能解析第一個文件。我看到在libnids中有一個函數nids_unregister_tcp
,會有幫助嗎?儘管如此,我無法在pynids中找到該功能。在多個pcap上使用pynids
import nids
def handle_tcp_stream(tcp):
print "In handle_tcp_stream"
def extract(pcap_file):
nids.param("tcp_workarounds", 1)
nids.param("pcap_filter", "tcp") # bpf restrict to TCP only, note
nids.param("scan_num_hosts", 0) # disable portscan detection
nids.chksum_ctl([('0.0.0.0/0', False)]) # disable checksumming
nids.param("filename", pcap_file)
nids.init()
nids.register_tcp(handle_tcp_stream)
try:
nids.run()
except Exception, e:
print "Exception ", pcap_file + " ", e
def main():
extract("a.pcap")
print "Done"
extract("a.pcap")
if __name__ == "__main__":
main()
下面是輸出:
In handle_tcp_stream
In handle_tcp_stream
In handle_tcp_stream
In handle_tcp_stream
Done
謝謝你的工作。出於某種原因,快速修復似乎不適用於此處提供的0.6.1版本:https://oberheide.org/pynids/但是,您的github上的代碼工作正常。 – Phani
@Phani,我測試了這兩個補丁,都工作正常。你是否修補過'ndismodule.c'文件,然後在其上運行'python setup.py install'?嘗試完全從lib路徑中刪除庫並重新安裝,應該可以工作。 – soulseekah