dnsjit(1)
π dnsjit β the manual, but make it make sense π
okay bestie, gather round, because this is the dnsjit(1) page from the General Commands Manual and it's genuinely iconic.
β¨ NAME β¨
dnsjit β a DNS engine based around LuaJIT for capturing, parsing, replaying and statistics gathering. yes, all four. she does it all. π
πΈ SYNOPSIS πΈ
π Run a Lua script
dnsjit file.lua ...
π¦ Shebang-style
#!/usr/bin/env dnsjit
...
π DESCRIPTION π
so dnsjit is literally a combination of parts taken from dsc, dnscap, drool, and then put together around Lua to create a script-based engine. why? for easy capturing, parsing and statistics gathering of DNS messages, while also providing facilities for replaying DNS traffic. it's giving β¨ multitasking queen β¨.
one of the core functionalities that dnsjit brings is tying together C and Lua modules through a receiver/receive interface. this lets you create custom chains of functionality to meet whatever requirements you have β build your own lil pipeline, go off. π₯
another core functionality is the ability to parse and process DNS messages even if the messages are non-compliant with the DNS standards. messy DNS? she doesn't care. she handles it. π
β οΈ NOTE: the current implementation is ALPHA, which means functionality are not set and may be changed or removed. read that again bestie. things can move under your feet. π
π MODULE CATEGORIES π
the following Lua module categories exists (their words, not mine, but we respect it):
dnsjit.coreβ Core modules for handling things like logging, DNS messages and receiver/receive functionality. the fundamentals, the backbone, the main character energy. πdnsjit.libβ Various Lua libraries or C library bindings. little helpers, big vibes. π§dnsjit.inputβ Input modules used to read DNS messages in various ways. come on in, the packets are fine. πdnsjit.filterβ Filter modules to process or manipulate DNS messages. glow-up station for your messages. πdnsjit.outputβ Output modules used to display DNS message, export to various formats or replay them against other targets. send it, ship it, slay. β¨
See each category's man-page for more information.
β LUA GLOBALS β
the following Lua global variables are defined:
DNSJIT_VERSIONβ A string with the full version. the whole thing. the full picture. πDNSJIT_MAJOR_VERSIONβ An integer with the major version number.DNSJIT_MINOR_VERSIONβ An integer with the minor version number.DNSJIT_PATCH_VERSIONβ An integer with the patch version number.DNSJIT_BUGREPORTβ A string with the email address to file bug reports to. π§DNSJIT_URLβ A string with the URL to the repository issue tracker, preferred place to file bug reports. the preferred place, ok? listen to her. π
π₯ EXAMPLE π₯
Following example display the DNS ID found in queries. it's cute, it's short, it ate:
local input = require("dnsjit.input.pcapthread").new()
local output = require("dnsjit.filter.lua").new()
output:func(function(filter, object)
local packet = object:cast()
local dns = require("dnsjit.core.object.dns").new(packet)
dns:parse()
print(dns.id)
end)
input:open_offline("file.pcap")
input:only_queries(true)
input:receiver(output)
input:run()
See more examples in the examples directory. go explore bestie, there's lore in there. π¦
π SEE ALSO π
dnsjit.core(3), dnsjit.lib(3), dnsjit.input(3), dnsjit.filter(3), dnsjit.output(3)
π AUTHORS π
Jerry LundstrΓΆm, DNS-OARC
Maintained by DNS-OARC
https://www.dns-oarc.net/
π«Ά BUGS π«Ά
For issues and feature requests please use:
https://codeberg.org/DNS-OARC/dnsjit/issues
For question and help please use:
admin@dns-oarc.net
okay that's the whole page bestie, no cap, nothing skipped, every single detail preserved because that's just how we do it. π β¨
this was dnsjit 1.5.1, from the dnsjit(1) manual page β date and version both accounted for, mwah. π
π¦ where this page comes from
- epel 10: dnsjit 1.5.1-2.el10_2 Β· GPL-3.0-or-later
- epel 9: dnsjit 1.5.1-2.el9 Β· GPL-3.0-or-later
- fedora 43: dnsjit 1.5.1-2.fc43 Β· GPL-3.0-or-later
- fedora 43: dnsjit 1.5.1-2.fc43 Β· GPL-3.0-or-later
- fedora 44: dnsjit 1.5.1-2.fc44 Β· GPL-3.0-or-later
- fedora 44: dnsjit 1.5.1-2.fc44 Β· GPL-3.0-or-later
- ubuntu resolute: dnsjit 1.5.1-2 Β· GPL-3.0-or-later
- ubuntu stonking: dnsjit 1.5.1-6 Β· GPL-3.0-or-later
- Copyright (c) 2018-2026 OARC, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms