1
0
Fork 0
dnsjit/examples
Daniel Baumann 7a39e7587d
Merging upstream version 1.4.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-09 08:36:47 +01:00
..
capture.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
dumpdns-qr.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
dumpdns.lua Merging upstream version 1.4.0. 2025-02-09 08:36:47 +01:00
dumpdns2pcap.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
filter_rcode.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
Makefile.am Merging upstream version 1.4.0. 2025-02-09 08:36:47 +01:00
Makefile.in Merging upstream version 1.4.0. 2025-02-09 08:36:47 +01:00
pcap2tcpdns.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
qr-multi-pcap-state.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
readme.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
replay.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
replay_multicli.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00
respdiff.lua Merging upstream version 1.3.0. 2025-02-09 08:35:15 +01:00

#!/usr/bin/env dnsjit

-- Disclaimer, to keep this example short it only works on pre-prepared
-- PCAPs with only UDP DNS traffic in them.

require("dnsjit.core.objects")
local input = require("dnsjit.input.pcap").new()
local layer = require("dnsjit.filter.layer").new()
local dns = require("dnsjit.core.object.dns").new()

input:open_offline(arg[2])
layer:producer(input)
local producer, ctx = layer:produce()

while true do
    local object = producer(ctx)
    if object == nil then break end
    if object:type() == "payload" then
        dns:reset()
        dns.obj_prev = object
        if dns:parse_header() == 0 then
            print(dns.id)
        end
    end
end