A key part of DNS-OARC's mission is to develop, maintain and host various software tools for DNS data collection, measurement and analysis. You can find a list of these tools below, with their source code and development management at OARC's site on Github.
- dnsjit - Engine for capturing, parsing and replaying DNS
- dsc - DNS Statistics Collector (DSC) is a tool used for collecting and exploring statistics from busy DNS servers.
- dsp - DNS Statistics Presenter (DSP) can be used to display statistics collected by DSC.
- dsc-datatool - Tool for converting, exporting, merging and transforming DSC data.
- dnscap - dnscap is a network capture utility designed specifically for DNS traffic.
- drool - drool is a tool to replay DNS traffic.
- packetq - A tool that provides a basic SQL-frontend to PCAP-files.
- pcap-thread - PCAP helper library with POSIX threads support and transport layer callbacks
- bad-packets - Collection of "bad" packets in PCAPs that can be used for testing software
- sllq - Semi Lock-Less Queue
- parseconf - Conf parser helper library
- omg-dns - Helper library for parsing valid / invalid / broken / malformed DNS packets
- ripeatlas - Go bindings for RIPE Atlas API
- dumdumd - High performance UDP/TCP server that... just drops everything you send to it
- p5-Net-GetDNS - Perl bindings for getdns, a modern asynchronous DNS API
Many of these tools have been developed in-house over time by OARC and its contributors. Others have been developed externally, and either donated to OARC by the original owner, or in some cases OARC has taken custodianship for the community of DNS tools which have become 'orphaned' from their original developers.
In keeping with OARC's nonprofit status and public benefit mission, all of the software for our tools is made available under open-source licenses - see below for OARC's open-source licensing policy.
OARC also develops new tools as the need or opportunity for these arises. Funding for this development can come collectively from OARC's Members as part of its wider mission, from external 3rd-party grants, or can be done under contract in response to the custom needs of a specific requirement.
OARC can develop new, or enhance features of existing, tools via a custom for-hire development contract. We can accept such work from either OARC Members, or other parties (subject to available resources). OARC Members will receive priority for such work, and at a discounted rate depending on their Membership tier.
OARC also has various potential tool projects we would like to develop, subject to available funding. A list of these projects can be found on each software projects page on GitHub, see links below.
If you are interested in having OARC do custom tool development work, please contact us at firstname.lastname@example.org, and we'll be happy to discuss your requirements. We'd also welcome patches to, contributions, or donations of relevant tool code.
If you are looking for support of existing OARC tools, many of these have mailing lists hosted by OARC, and we recommend you post questions or requests for help on these in the first instance. For specific bug reports, we recommend raising these on the project's Github site.
OARC's Open-Source Software Licensing Policy
For publicly available software we use GNU General Public Licenses such as AGPL/GPL/LGPL depending on the software's function: a service, tool or library.
For funded development we recommend using GNU General Public Licenses but it is up to the funding party to decide.
Software for which the source-code is Members-only, or services that we run both publicly and Members only, we use the Mozilla Public License (MPL) version 2.0.