Makaretu.Dns.New 3.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Makaretu.Dns.New --version 3.1.0                
NuGet\Install-Package Makaretu.Dns.New -Version 3.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Makaretu.Dns.New" Version="3.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Makaretu.Dns.New --version 3.1.0                
#r "nuget: Makaretu.Dns.New, 3.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Makaretu.Dns.New as a Cake Addin
#addin nuget:?package=Makaretu.Dns.New&version=3.1.0

// Install Makaretu.Dns.New as a Cake Tool
#tool nuget:?package=Makaretu.Dns.New&version=3.1.0                

net-dns

Build Version docs

DNS data model with serializer/deserializer for the wire and "master file" format.

Features

  • Serialization for the wire and master file formats
  • Pretty printing of messages
  • Supports compressed domain names
  • Supports multiple strings in TXT records
  • Supports the extended 12-bit RCODE
  • Future proof: handles unknown resource records and EDNS options
  • Graceful truncation of messages
  • A name server that answeres DNS questions
  • Data models for
    • RFC 1035 Domain Names (DNS)
    • RFC 1183 New DNS RR Definitions
    • RFC 1996 Zone Changes (DNS NOTIFY)
    • RFC 2136 Dynamic Updates (DNS UPDATE)
    • RFC 2845 Secret Key Transaction Authentication for DNS (TSIG)
    • RFC 2930 Secret Key Establishment for DNS (TKEY RR)
    • RFC 3225 Indicating Resolver Support of DNSSEC
    • RFC 3599 DNS Extensions to Support IPv6
    • RFC 4034 Resource Records for the DNS Security Extensions (DNSSEC)
    • RFC 5001 DNS Name Server Identifier (NSID) Option
    • RFC 6672 DNAME Redirection in the DNS
    • RFC 6891 Extension Mechanisms for DNS (EDNS(0))
    • RFC 7828 The edns-tcp-keepalive EDNS0 Option
    • RFC 7830 The EDNS(0) Padding Option
    • RFC 8914 Extended DNS Errors
  • Targets .Net 6.0, 8.0

Getting started

Published releases are available on NuGet. To install, run the following command in the Package Manager Console.

PM> Install-Package Makaretu.Dns.New

Usage

Name Server

Create a name server that can answer questions for a zone.

using Makaretu.Dns.Resolving;

var catalog = new Catalog();
catalog.IncludeZone(...);
catalog.IncludeRootHints();
var resolver = new NameServer { Catalog = catalog };

Answer a question

var request = new Message();
request.Questions.Add(new Question { Name = "ns.example.com", Type = DnsType.AAAA });
var response = await resolver.ResolveAsync(request);

Data Model

using Makaretu.Dns

var msg = new Message
{
	AA = true,
	QR = true,
	Id = 1234
};
msg.Questions.Add(new Question 
{ 
	Name = "emanon.org" 
});
msg.Answers.Add(new ARecord 
{ 
	Name = "emanon.org",
	Address = IPAddress.Parse("127.0.0.1") 
});
msg.AuthorityRecords.Add(new SOARecord
{
	Name = "emanon.org",
	PrimaryName = "erehwon",
	Mailbox = "hostmaster.emanon.org"
});
msg.AdditionalRecords.Add(new ARecord 
{ 
	Name = "erehwon", 
	Address = IPAddress.Parse("127.0.0.1") 
});

  • net-mdns - client and server for multicast DNS
  • net-udns - client for unicast DNS, DNS over HTTPS (DOH) and DNS over TLS (DOT)
  • DNSSEC - What Is It and Why Is It Important?

License

Copyright © 2018 Richard Schneider (makaretu@gmail.com)

The package is licensed under the MIT license. Refer to the LICENSE file for more information.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Makaretu.Dns.New:

Package Downloads
Makaretu.Dns.Multicast.New

A simple Multicast Domain Name Service based on RFC 6762. Can be used as both a client (sending queries) or a server (responding to queries).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.1.2 672 11/23/2024
3.1.1 5,080 7/9/2024
3.1.0 149 7/9/2024
3.0.2 105 7/9/2024
3.0.1 29,201 4/30/2023
3.0.0 295 4/13/2023