arsoft.tools.net의 설명서를 https://docs.ar-soft.de/arsoft.tools.net/에 따라 방금 네트워크의 모든 요청을 가로 채기위한 dns 서버를 개발했습니다. 잘 작동합니다!arsoft.tools.net (DNS 서버) 한 URL에서 다른 URL로 트래픽 리디렉션 (DNS 전달)
Google의 속도를 늦추는 이유는 다음과 같습니다. 클라이언트가 www.google.com을 입력하면 (예 :) www.yahoo.com (또는 IP 주소)으로 리디렉션하고 싶은데, 그걸 성취 할 수 있을까요?
여기 동일한 솔루션을 찾는 사람들이있다 : https://arsofttoolsnet.codeplex.com/discussions?searchText=redirect
TKS
UPDATE 1 :
지금까지, 이것이 내가 가지고있는,하지만, 리디렉션이 작동하지 않습니다 :
class Program
{
static void Main(string[] args)
{
using (DnsServer server = new DnsServer(System.Net.IPAddress.Any, 10, 10))
{
server.QueryReceived += OnQueryReceived;
server.Start();
Console.WriteLine("Press any key to stop server");
Console.ReadLine();
}
}
static async Task OnQueryReceived(object sender, QueryReceivedEventArgs e)
{
DnsMessage query = e.Query as DnsMessage;
if (query == null)
return;
DnsMessage response = query.CreateResponseInstance();
//response.AnswerRecords.Clear();
//response.AdditionalRecords.Clear();
if ((response.Questions.Count == 1))
{
// send query to upstream server
DnsQuestion question = response.Questions[0];
if (question.Name.ToString().Contains("www.google.com"))
{
DnsMessage upstreamResponse = await DnsClient.Default.ResolveAsync(DomainName.Parse("www.yahoo.com"), question.RecordType, question.RecordClass);
//DnsMessage upstreamResponse = await DnsClient.Default.ResolveAsync(question.Name, question.RecordType, question.RecordClass);
foreach (DnsRecordBase record in (upstreamResponse.AnswerRecords))
{
response.AnswerRecords.Add(record);
}
foreach (DnsRecordBase record in (upstreamResponse.AdditionalRecords))
{
response.AdditionalRecords.Add(record);
}
response.ReturnCode = ReturnCode.NoError;
e.Response = response;
}
}
}
}
이미 무엇을하려고 했습니까? 예를 들어 siteA에서 siteB까지 CNAME 레코드는 어떻게됩니까? – Evk
아마도 리디렉션의 의미를 명확히하고 싶을 것입니다. 다른 사이트의 IP 만 반환하면 IP (A 레코드) 또는 CNAME으로 응답 할 수 있습니다. – Evk
사용자가 브라우저에서 Google.com을 입력하여 yahoo.com 페이지를 DNS를 통해 표시하도록하고 싶습니까? – Evk