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