nfq_dump_pcap.py

来自「此包是为perl或者 Python等高级语言提供一个库」· Python 代码 · 共 58 行

PY
58
字号
#!/usr/bin/python# need root privilegesimport structimport sysimport timefrom socket import AF_INET, AF_INET6, inet_ntoasys.path.append('python')sys.path.append('build/python')import nfqueueoutputfile = Noneoutputfilename = "dump.pcap"from scapy import Packet, PcapWriter, hexdumpwriter = Nonedef cb(i,payload):    data = payload.get_data()    # Add padding before packet    # src mac + dst mac + 0x0800 (type: IP)    pad = "\0" * 12 + "\x08\0" + data    pkt = Packet(_pkt=pad)    writer.write(pkt)    return 1q = nfqueue.queue()q.open()q.unbind()if q.bind() != 0:    q.close()    raise RuntimeError("Could not bind to nfqueue")writer = PcapWriter(outputfilename)q.set_callback(cb)q.create_queue(0)try:    q.try_run()except KeyboardInterrupt, e:    passq.unbind()q.close()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?