dnscat2
0.07 open-sourceThe section your link pointed to isn't on dnscat2's page any more, so we've brought you to the top.
DNS tunneling tool that creates an encrypted command-and-control channel over the DNS protocol for use in penetration testing.
export COMMAND_DELAY=5 # Then ensure the connected client picks up the change via the server command ruby dnslogger.rb --listen-port 53
Summary
dnscat2 is an open-source, BSD-licensed DNS tunneling tool that builds an encrypted command-and-control channel over the DNS protocol, one of the few paths that reliably survives a firewall. It runs as a command-line client on the compromised host and a server on an authoritative DNS server (or listening directly on UDPUDPA network protocol that sends individual messages without guaranteeing delivery or order. Applications trade built-in reliability for less overhead and can add their own recovery./53), with the client written in C to keep dependencies minimal and the server in Ruby. It's built for red teamers and penetration testers doing post-exploitation work rather than general network evasion; the README is explicit that it targets C&C specifically, not casual firewall-bypassing use. First committed in 2013 with 24 contributors and six tracked releases, it has had no commits in the past year.
DNS tunneling tool that creates an encrypted command-and-control channel over the DNS protocol for use in penetration testing.
How dnscat2 helps
Can I get a shell on a compromised host when only outbound DNS is allowed off this network?
the client rides legitimate-looking DNS queries through the local resolver to an authoritative server you control, giving a command channel even when every other outbound port is blocked
Can I reach a compromised host if there's no authoritative domain set up for it?
the server can also listen directly on UDP/53 and take connections straight to the IP, at the cost of standing out more in a packet log
How do I get a foothold service like SSH reachable from a box I've already compromised?
it opens a forwarding tunnel modeled after socat, so a chosen port on the server side rides inside the DNS channel to a service on the client side
Is my C&C traffic readable by whoever is watching the DNS logs?
every session is encrypted by default once a connection is established, so captured queries show tunnel traffic but not the commands or output inside it
Will a flaky or monitored DNS path silently drop my session?
the client retransmits a fixed number of times against a bad server before giving up, so a session dies predictably instead of hanging forever
Can I keep other DNS traffic on the same domain from breaking or tipping off the tunnel?
a passthrough option forwards requests the server doesn't recognize as tunnel traffic upstream, so unrelated queries keep resolving normally
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for dnscat2, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail dnscat2 puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Releases
2 entries
No entries match these filters.
- June 20161
- October 20151
Project health
Issue, contributor and maintainer activity in iagox86/dnscat2, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 0 ±0 vs prior 12 months
- Maintainers 0 +0 joined · −0 left, last 12 months
- Bus factor 0 committers behind half the commits
- Community-filed 100% of issues opened, last 12 months
- Median time to close not measured issues closed, last 12 months
- Open backlog 87 of 148 issues ever filed
- Issues opened / month 0 · 0 communitymaintainers
- Open backlog 87
- Contributors / month 0
- Commits / month 0
- Stars 3,973
- other 100%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Articles
1 article · updated Nov 4, 2026Where dnscat2 turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.
Tutorials & guides 1
-
DNScat2: Application Layer C&C
In this guide, we explore DNScat2 Application Layer Command and Control , a method for using DNS to establish covert communication channels.
2 more quotes
By setting up DNScat2, security professionals can create a tunnel over port 53, allowing encrypted data transmission and remote access while bypassing firewalls.
In comes, dnscat2.
Libraries its release ships
What its latest release locks, checked against known advisories.We can only check tools that publish GitHub releases.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.