【问题标题】:Node.JS DNS server; receiving strange stringsNode.JS DNS 服务器;接收奇怪的字符串
【发布时间】:2015-10-16 16:31:05
【问题描述】:

我正在用 Node.js 开发一个 DNS 服务器,(是的,也许这很愚蠢,但它只是 4 有趣)。我的服务器正在侦听端口 53 UDP,我正在调试所有数据。要尝试它,我只需将系统 (Windows) 中的 DNS 服务器更改为 localhost。我得到了奇怪的字符串:

这是我的nodeJS服务器,一个监听UDP 53端口并输出所有数据的简单服务器。

var PORT = 53;
var HOST = '127.0.0.1';

var dgram = require('dgram');
var server = dgram.createSocket('udp4');

server.on('listening', function () {
    var address = server.address();
    console.log('UDP Server listening on ' + address.address + ":" + address.port);
});

server.on('message', function (message, remote) {
	var StringDecoder = require('string_decoder').StringDecoder;
	var decoder = new StringDecoder('utf8');

	var cent = new Buffer(message);
    val = decoder.write(cent);
    console.log( val);

});

server.bind(PORT, HOST);

我的问题是,有没有办法从这些字符串中提取 URL?

【问题讨论】:

    标签: node.js dns server


    【解决方案1】:

    您正在获取 DNS 有线格式数据,将它们视为 UTF-8 编码字符串并打印结果。由于 DNS 有线格式与基于字符串的格式相去甚远(更不用说 UTF-8),所以这不是很有用。如果你想理解有线格式,你必须知道它是如何工作的,并根据它的规范解析它。从阅读RFC 1035开始。

    【讨论】:

      猜你喜欢
      • 2013-08-08
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2016-11-30
      • 1970-01-01
      • 2020-09-25
      相关资源
      最近更新 更多