У меня следующая ситуация:перехватчика трафика до перенаправления CNAME
пользователь подключается к домену: test.com
Я хотел бы этот домен для перенаправления, например, google.com
для этого я указал запись CNAME на google.com: WWW google.com (TTL: автоматический)
Будет ли возможность перехватить т raffic, который приходит на test.com, прежде чем он отправит на google.com? (пользовательский протокол, а не http или https)
Я нашел библиотеку, называемую: native-dns, которая, я думаю, может содержать сервер dns?
я настроил его как следует:
"use strict";
var dns = require('native-dns'),
tcpserver = dns.createTCPServer(),
server = dns.createServer();
var onMessage = function (request, response) {
console.log('request from:', request.address);
var i;
response.additional.push(dns.CNAME({
name: 'www.mydomain.com',
data: 'otherdomain.com'
}));
response.additional.push(dns.NS({
name: 'ns1.mydomain.com',
data: '127.0.0.1'
}));
response.send();
};
var onError = function (err, buff, req, res) {
console.log(err.stack);
};
var onListening = function() {
console.log('server listening on', this.address());
//this.close();
};
var onSocketError = function (err, socket) {
console.log(err);
};
var onClose = function() {
console.log('server closed', this.address());
};
server.on('request', onMessage);
server.on('error', onError);
server.on('listening', onListening);
server.on('socketError', onSocketError);
server.on('close', onClose);
server.serve(53, '127.0.0.1');
Дело я задаюсь вопросом, как я могу на самом деле сделать это DNS-сервер функциональны. Я хотел бы провести ping www.mydomain.com и получить otherdomain.com в качестве ответа.
В настоящее время я использую сервер ubuntu с запущенным скриптом узла. Пинг будет выполнен из окна 10 машины
Я хотел бы найти способ, которым я не должен проксировать службу, проксирование будет стоить слишком большой мощности сервера, потому что это для игры. –
@MaximGeerinck: Ну, если вы хотите перехватить весь трафик, вам нужно получить полный трафик так или иначе. Если вы можете манипулировать клиентской сетью, это можно сделать либо на конечных точках, либо где-то посередине. Однако, если все, что вам нужно знать, заключается в том, пытался ли данный клиент подключиться к службе, может быть способ сделать это - дайте мне знать, в каком случае это так. – PeterK
Спасибо за ваш ответ. В лучшем случае мне нужно будет знать первую часть трафика (например, имя пользователя, используемое для входа в систему).Но только знание того, хочет ли клиент подключиться, также является хорошим вариантом. –