私は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