summaryrefslogtreecommitdiffstats
path: root/testing/xpcshell/dns-packet/examples/udp.js
blob: 0f9df9d794d41d3b8a32f112a70f03bdf258883b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'use strict'

const dnsPacket = require('..')
const dgram = require('dgram')

const socket = dgram.createSocket('udp4')

function getRandomInt (min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min
}

const buf = dnsPacket.encode({
  type: 'query',
  id: getRandomInt(1, 65534),
  flags: dnsPacket.RECURSION_DESIRED,
  questions: [{
    type: 'A',
    name: 'google.com'
  }]
})

socket.on('message', function (message, rinfo) {
  console.log(rinfo)
  console.log(dnsPacket.decode(message)) // prints out a response from google dns
  socket.close()
})

socket.send(buf, 0, buf.length, 53, '8.8.8.8')