2.1.0 • Published 6 years ago

dns-protocol v2.1.0

Weekly downloads
7
License
MIT
Repository
github
Last release
6 years ago

dns-protocol

Dependency Status devDependency Status Build Status: Linux Build Status: Windows npm version Downloads gzip size

A Library to encode and parse data for DNS protocol.

install

yarn global add dns-protocol

usage

import Message, { MessageType } from "dns-protocol";
// <script src="./node_modules/dns-protocol/dns-protocol.min.js"></script>

// construct request
const request = new Message(43825);
request.addQuestion("www.example.com");

// encode request
const encodedRequest = request.encode(); // [0xab, 0x31, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x03, 0x63, 0x6f, 0x6d, 0x00, 0x00, 0x01, 0x00, 0x01]

// parse encoded request
const decodedRequest = Message.parse(encodedRequest.buffer);

// construct response
decodedRequest.type = MessageType.response;
decodedRequest.recursionAvailable = true;
decodedRequest.addAnswer("www.example.com", 20680, "93.184.216.34");

// encode response
const encodedAnswer = decodedRequest.encode(); // [0xab, 0x31, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x03, 0x63, 0x6f, 0x6d, 0x00, 0x00, 0x01, 0x00, 0x01, 0xc0, 0x0c, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x50, 0xc8, 0x00, 0x04, 0x5d, 0xb8, 0xd8, 0x22]

// parse encoded response
const decodedAnswer = Message.parse(encodedAnswer.buffer as ArrayBuffer);

change logs

// v2
import Message, { MessageType } from "dns-protocol/nodejs";
import Message, { MessageType } from "dns-protocol/browser";

// v1
import Message, { MessageType } from "dns-protocol/nodejs/nodejs";
import Message, { MessageType } from "dns-protocol/browser/browser";
2.1.0

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago