pull/238/head
parent
46ac753c46
commit
8318c2e8ff
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* Simple DNS Server
|
||||||
|
* For testing DNS monitoring type, dev only
|
||||||
|
*/
|
||||||
|
const dns2 = require("dns2");
|
||||||
|
|
||||||
|
const { Packet } = dns2;
|
||||||
|
|
||||||
|
const server = dns2.createServer({
|
||||||
|
udp: true
|
||||||
|
});
|
||||||
|
|
||||||
|
server.on("request", (request, send, rinfo) => {
|
||||||
|
for (let question of request.questions) {
|
||||||
|
console.log(question.name, type(question.type), question.class);
|
||||||
|
|
||||||
|
const response = Packet.createResponseFromRequest(request);
|
||||||
|
|
||||||
|
if (question.name === "existing.com") {
|
||||||
|
|
||||||
|
if (question.type === Packet.TYPE.A) {
|
||||||
|
response.answers.push({
|
||||||
|
name: question.name,
|
||||||
|
type: question.type,
|
||||||
|
class: question.class,
|
||||||
|
ttl: 300,
|
||||||
|
address: "1.2.3.4"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: all other types
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
send(response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
server.on("listening", () => {
|
||||||
|
console.log("Listening");
|
||||||
|
console.log(server.addresses());
|
||||||
|
});
|
||||||
|
|
||||||
|
server.on("close", () => {
|
||||||
|
console.log("server closed");
|
||||||
|
});
|
||||||
|
|
||||||
|
server.listen({
|
||||||
|
udp: 5300
|
||||||
|
});
|
||||||
|
|
||||||
|
function type(code) {
|
||||||
|
for (let name in Packet.TYPE) {
|
||||||
|
if (Packet.TYPE[name] === code) {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue