4 changed files with 87 additions and 3 deletions
			
			
		| @ -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