def cb(qh, nfmsg, nfad, data): """ int nfq_callback(struct nfq_q_handle *qh, struct nfgenmsg *nfmsg, struct nfq_data *nfad, void *data); """ payload = NFQ.cb_get_payload(nfad) packet_id = NFQ.cb_get_packet_id(nfad) ip = IP(payload) LOG.info("ID %d: %s", packet_id, ip.summary()) sleep(SLEEP_SECS) NFQ.cb_set_verdict(qh, packet_id, NFQ.NF_ACCEPT) return 1
def on_drop(self, packet_id, eth_bytes, metadata=None): NFQ.cb_set_verdict(self.nfq.qh, packet_id, NFQ.NF_DROP)
def on_accept(self, packet_id, eth_bytes, metadata=None): NFQ.cb_set_verdict(self.nfq.qh, packet_id, NFQ.NF_ACCEPT)