@@ -6,45 +6,55 @@ import DNS = require('dns2');
6
6
const dns = new DNS ( ) ;
7
7
8
8
( async ( ) => {
9
- const result = await dns . resolveA ( 'google.com' ) ;
10
- console . log ( result . answers ) ;
9
+ const result = await dns . resolveA ( 'google.com' ) ;
10
+ console . log ( result . answers ) ;
11
+
12
+ const result2 = await dns . resolveCNAME ( 'google.com' ) ;
13
+ console . log ( result2 . answers . filter ( answer => answer . domain ) ) ;
11
14
} ) ( ) ;
12
15
13
16
const { Packet } = DNS ;
14
17
15
18
const server = DNS . createServer ( {
16
- udp : true ,
17
- handle : ( request , send , rinfo ) => {
18
- const response = Packet . createResponseFromRequest ( request ) ;
19
- const [ question ] = request . questions ;
20
- const { name } = question ;
21
- response . answers . push ( {
22
- name,
23
- type : Packet . TYPE . A ,
24
- class : Packet . CLASS . IN ,
25
- ttl : 300 ,
26
- address : '8.8.8.8'
27
- } ) ;
28
- send ( response ) ;
29
- }
19
+ udp : true ,
20
+ handle : ( request , send , rinfo ) => {
21
+ const response = Packet . createResponseFromRequest ( request ) ;
22
+ const [ question ] = request . questions ;
23
+ const { name } = question ;
24
+ response . answers . push ( {
25
+ name,
26
+ type : Packet . TYPE . A ,
27
+ class : Packet . CLASS . IN ,
28
+ ttl : 300 ,
29
+ address : '8.8.8.8' ,
30
+ } ) ;
31
+ response . answers . push ( {
32
+ name,
33
+ type : Packet . TYPE . CNAME ,
34
+ class : Packet . CLASS . IN ,
35
+ ttl : 300 ,
36
+ domain : 'another-name.example.com' ,
37
+ } ) ;
38
+ send ( response ) ;
39
+ } ,
30
40
} ) ;
31
41
32
42
server . on ( 'request' , ( request , response , rinfo ) => {
33
- console . log ( request . header . id , request . questions [ 0 ] ) ;
43
+ console . log ( request . header . id , request . questions [ 0 ] ) ;
34
44
} ) ;
35
45
36
46
server . listen ( { udp : 5333 } ) ;
37
47
38
48
const udpServer = new DNS . UDPServer ( ( request , send , rinfo ) => {
39
- const response = Packet . createResponseFromRequest ( request ) ;
40
- send ( response ) ;
49
+ const response = Packet . createResponseFromRequest ( request ) ;
50
+ send ( response ) ;
41
51
} ) ;
42
52
43
- udpServer . listen ( 5353 , " 127.0.0.1" ) ;
53
+ udpServer . listen ( 5353 , ' 127.0.0.1' ) ;
44
54
45
55
const tcpServer = DNS . createTCPServer ( ( request , send , rinfo ) => {
46
- const response = Packet . createResponseFromRequest ( request ) ;
47
- send ( response ) ;
56
+ const response = Packet . createResponseFromRequest ( request ) ;
57
+ send ( response ) ;
48
58
} ) ;
49
59
50
- tcpServer . listen ( 5454 , " 127.0.0.1" ) ;
60
+ tcpServer . listen ( 5454 , ' 127.0.0.1' ) ;
0 commit comments