webudp

by Peter Johnson

HTML

<pre id="code"></pre>

JavaScript

import dgram, { Buffer } from 'https://webudp.fly.dev/bundle.js'
import dnsPacket from 'https://esm.sh/dns-packet'

const socket = dgram.createSocket('udp4')

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

socket.on('message', message => {
  const data = dnsPacket.decode(message)
  document.getElementById('code').innerHTML = JSON.stringify(data, null, 2)
})

//socket.send(query, 53, '2001:4860:4860::8888')
socket.send(query, 53, '8.8.8.8')