public static void Main(string[] args) { DnsServer server = new DnsServer("8.8.8.8"); foreach(string domain in args) { Console.WriteLine("Redirecting {0} to localhost", domain); server.MasterFile.AddIPAddressResourceRecord(domain, "127.0.0.1"); } server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.Listen(); }
private void startServer(string serverAddress, List <string> officalServerAddress) { masterFile = new MasterFile(); server = new DnsServer(masterFile, "223.5.5.5"); if (radioButton1.Checked) { masterFile.AddIPAddressResourceRecord(officalServerAddress[0], serverAddress); } else if (radioButton2.Checked) { masterFile.AddIPAddressResourceRecord(officalServerAddress[1], serverAddress); } else if (radioButton3.Checked) { masterFile.AddIPAddressResourceRecord(officalServerAddress[2], serverAddress); } else if (radioButton4.Checked) { masterFile.AddIPAddressResourceRecord(officalServerAddress[3], serverAddress); } else if (radioButton5.Checked) { masterFile.AddIPAddressResourceRecord(officalServerAddress[4], serverAddress); } server.Listen(); }
public async Task StartAsync(CancellationToken cancellationToken) { _server.Requested += Server_Requested; _server.Listening += () => Console.WriteLine("DNS Listening..."); await _server.Listen(); }
public static void Main(string[] args) { DnsServer server = null; (new Thread(() => { server = new DnsServer("8.8.8.8"); server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.MasterFile.AddIPAddressResourceRecord("google.com", "127.0.0.1"); server.Listen(); })).Start(); Thread.Sleep(1000); //Client client = new Client("72.21.204.209"); //Client client = new Client("8.8.8.8"); DnsClient client = new DnsClient("127.0.0.1"); client.Reverse(IPAddress.Parse("173.194.69.100")); client.Lookup("google.com"); //client.Lookup("dr.dk"); //Console.WriteLine(client.Resolve("dnstest.managemydedi.com", RecordType.AAAA)); client.Lookup("cnn.com"); server.Close(); }
public async static Task MainAsync(string[] args) { MasterFile masterFile = new MasterFile(); DnsServer server = new DnsServer(masterFile, "8.8.8.8"); masterFile.remo foreach (string domain in args) { Console.WriteLine("Redirecting {0} to localhost", domain); masterFile.AddIPAddressResourceRecord(domain, "127.0.0.1"); } server.Responded += (sender, e) => Console.WriteLine("{0} => {1}", e.Request, e.Response); server.Listening += (sender, e) => Console.WriteLine("Listening"); server.Errored += (sender, e) => { Console.WriteLine("Errored: {0}", e.Exception); ResponseException responseError = e.Exception as ResponseException; if (responseError != null) { Console.WriteLine(responseError.Response); } }; await server.Listen(); }
static async Task startServer(string ip) { Console.WriteLine("Starting Nameserver to redirect all known Minecraft \"Featured Servers\" to " + ip); MasterFile masterFile = new MasterFile(); DnsServer server = new DnsServer(masterFile, "8.8.8.8"); // Resolve these domain to given ip masterFile.AddIPAddressResourceRecord("play.inpvp.net", ip); masterFile.AddIPAddressResourceRecord("play.lbsg.net", ip); masterFile.AddIPAddressResourceRecord("pe.mineplex.com", ip); masterFile.AddIPAddressResourceRecord("mco.cubecraft.net", ip); masterFile.AddIPAddressResourceRecord("geo.hivebedrock.network", "173.199.115.154"); masterFile.AddIPAddressResourceRecord("play.galaxite.net", "104.238.130.180"); // Log every request server.Requested += (sender, e) => Console.WriteLine(e.Request); // On every successful request log the request and the response server.Responded += (sender, e) => Console.WriteLine("{0} => {1}", e.Request, e.Response); // Log errors server.Errored += (sender, e) => Console.WriteLine(e.Exception.Message); // Start the server (by default it listents on port 53) Console.WriteLine("Looks like we are all set. Set your Switch's DNS to the IP of this computer!"); await server.Listen(); }
public static (DnsServer, Socket) CreateDNSServer( MasterFile masterFile, IPAddress defaultDnsServer, IPEndPoint localDnsServerBind, IPEndPoint localUDPBind, Action <Task> action) { //为什么要包装一下MasterFile //主要是因为有的浏览器假如应答的域名是通配符,他会认为DNS无效 //所以把通配符改为请求中的绝对域名 //也就是说MasterFile会返回通配符 DnsServer server = new DnsServer(new LocalRequestResolver(masterFile), defaultDnsServer); var task = server.Listen(localDnsServerBind); action(task); Socket socket = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, ProtocolType.Udp); socket.Bind(localUDPBind); socket.Connect(localDnsServerBind); return(server, socket); }
public async Task StartAsync(CancellationToken cancellationToken) { _logger.LogInformation("Starting DNS server"); _logger.LogInformation($"DNS suffix: {_dnsSuffix}"); _logger.LogInformation($"Upstream server: {_upstreamDns}"); _logger.LogInformation($"RBL list: {_rblList}"); _dnsServer.Listen(_listenPort); }
public async static Task DNSAsync(string[] Domains, string[] localIPs, List <string> BlackList) { if (localIPs != null && localIPs.Length > 0) { // if one wants to use a remote DNS server for requests that cannot be solved: // DnsServer server = new DnsServer("8.8.8.8"); DnsServer server = new DnsServer("0.0.0.0", true); MainWindow.dnsServerList.Add(server); if (BlackList != null && BlackList.Count > 0) { foreach (string blacklistentry in BlackList) { Console.WriteLine(MainWindow.InfoTag + " Redirecting {0} to 0.0.0.0", blacklistentry); MainWindow.AddToLogDNS(String.Format(MainWindow.InfoTag + " Redirecting {0} to 0.0.0.0", blacklistentry)); server.MasterFile.AddIPAddressResourceRecord(blacklistentry, "0.0.0.0"); } } foreach (string localIP in localIPs) { Console.WriteLine(MainWindow.InfoTag + " DNSAsync localIP: " + localIP); foreach (string domain in Domains) { Console.WriteLine(); MainWindow.AddToLogDNS(String.Format(MainWindow.InfoTag + " Redirecting {0} to " + localIP, domain)); server.MasterFile.AddIPAddressResourceRecord(domain, localIP); } } //server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.Responded += (request, response) => MainWindow.AddToLogDNS(String.Format("{0} => {1}", request, response)); server.Errored += (e) => { Console.WriteLine(MainWindow.ErrorTag + ": {0}", e); MainWindow.AddToLogDNS(String.Format(MainWindow.ErrorTag + ": {0}", e)); ResponseException responseError = e as ResponseException; if (responseError != null) { Console.WriteLine(responseError.Response); } }; try { await server.Listen(); } catch (Exception ex) { Console.WriteLine(MainWindow.ErrorTag + " DNSAsync: " + ex.ToString()); } } }
public static void Main(string[] args) { Console.WriteLine("downloading whitelist..."); //DownloadWhiteList(); Console.WriteLine("download whitelist complete"); DnsServer server = new DnsServer(new Configer()); Console.WriteLine("launch dns server."); server.Requested += Console.WriteLine; server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.Listen(); }
private async static void RunDnsServer(DnsServer dnsServer) { try { await dnsServer.Listen().ConfigureAwait(false); } catch (Exception ex) { Console.Write(ex); return; } Console.WriteLine("DNS Server shut down."); }
protected static void DnsThread(object sender, DoWorkEventArgs e) { Console.WriteLine("DNS Server Started"); SetDnsRedirects(masterFile); try { ServiceController service = new ServiceController("sharedaccess"); //kill ics service to free dns port 53 service.Stop(); Thread.Sleep(1000); } catch (Exception ex) { Console.WriteLine("DNS - ERROR: " + ex.Message); } dnsServer.Listen(); }
public static void Main(string[] args) { DnsServer server = new DnsServer("8.8.8.8"); foreach (string domain in args) { Console.WriteLine("Redirecting {0} to localhost", domain); server.MasterFile.AddIPAddressResourceRecord(domain, "127.0.0.1"); } server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.Listen(); }
static async Task MainAsync() { MasterFile masterFile = new MasterFile(); DnsServer server = new DnsServer(masterFile, "8.8.8.8"); server.Listening += (sender, e) => Console.WriteLine("Now listening on port 53"); server.Responded += (sender, e) => PersistRequest(e.Request); server.Errored += (sender, e) => Console.WriteLine(e.Exception.Message); Console.WriteLine("Starting server..."); await server.Listen(); }
protected static void DnsThread(object sender, DoWorkEventArgs e) { SetDnsRedirects(masterFile); try { ServiceController service = new ServiceController("sharedaccess"); //kill ics service to free dns port 53 service.Stop(); Thread.Sleep(1000); } catch (Exception) { } dnsServer.Listen(); }
static void Main(string[] args) { DnsServer server = new DnsServer("8.8.8.8"); server.MasterFile.AddIPAddressResourceRecord("www.index.hu", "127.0.0.1"); server.MasterFile.AddIPAddressResourceRecord("www.discoveri.hu", "192.168.17.60"); server.Requested += serverRequested; server.Responded += serverResponded; server.Listen(); //this should not display , because the listen function pause the thread.... Console.WriteLine("DNS server is start... Set your pc to use this server."); }
/// <summary> /// /// </summary> /// <returns></returns> public async Task Listen() { MasterFile masterFile = new MasterFile(); IRequestResolver tlsRequestResolver = new TlsRequestResolver(new System.Net.IPEndPoint(IPAddress.Parse("1.1.1.1"), 853)); DnsServer server = new DnsServer(tlsRequestResolver); server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); server.Listening += () => Console.WriteLine("Listening"); server.Errored += (e) => { Console.WriteLine("Errored: {0}", e); ResponseException responseError = e as ResponseException; if (responseError != null) { Console.WriteLine(responseError.Response); } }; await server.Listen(); }
private async static Task Create(IRequestResolver requestResolver, Func <DnsServer, Task> action) { TaskCompletionSource <object> tcs = new TaskCompletionSource <object>(); DnsServer server = new DnsServer(requestResolver); server.Listening += async() => { try { await action(server); tcs.SetResult(null); } catch (Exception e) { tcs.SetException(e); } finally { server.Dispose(); } }; await Task.WhenAll(server.Listen(PORT), tcs.Task); }
private static async Task StartDNServer_Async(IPEndPoint[] updns, IPEndPoint[] puredns, string path, IPEndPoint bindipPoint) { var server = new DnsServer(new ApartRequestResolver(updns, puredns, path)); if (Verbose) { server.Requested += (request) => Console.WriteLine($@"Requested: {request}"); server.Responded += (request, response) => Console.WriteLine($@"Responded: {request} => {response}"); } server.Listening += () => Console.WriteLine(@"Listening:"); server.Errored += (e) => { Console.WriteLine($@"Errored: {e}"); if (e is ResponseException responseError) { Console.WriteLine(responseError.Response); } }; await server.Listen(bindipPoint); }
static void F() { // Proxy to google's DNS MasterFile masterFile = new MasterFile(); DnsServer server = new DnsServer(masterFile, "8.8.8.8"); // Resolve these domain to localhost masterFile.AddIPAddressResourceRecord("google.com", "127.0.0.1"); masterFile.AddIPAddressResourceRecord("github.com", "127.0.0.1"); // Log every request server.Requested += (sender, e) => Console.WriteLine(e.Request); // On every successful request log the request and the response server.Responded += (sender, e) => Console.WriteLine("{0} => {1}", e.Request, e.Response); // Log errors server.Errored += (sender, e) => Console.WriteLine(e.Exception.Message); // Start the server (by default it listens on port 53) server.Listen(); }
public static void MainAsync() { // Proxy to google's DNS var server = new DnsServer("8.8.8.8"); // Resolve these domain to localhost server.MasterFile.AddIPAddressResourceRecord("query.hicloud.com", Program.Configuration.RedirectIP); //server.Requested += (request) => Console.WriteLine(request); // On every successful request log the request and the response server.Responded += (request, response) => Console.WriteLine("{0}", request.Questions.First()); // Log errors server.Errored += (e) => Console.WriteLine(e.Message); Console.WriteLine("DNS server started"); // Start the server (by default it listents on port 53) #pragma warning disable 4014 server.Listen(); #pragma warning restore 4014 }
public async static Task MainAsync() { DnsServer server = new DnsServer("8.8.8.8"); server.Requested += (request) => Console.WriteLine("Requested: {0}", request); server.Responded += (request, response) => Console.WriteLine("Responded: {0} => {1}", request, response); server.Errored += (e) => Console.WriteLine("Errored: {0}", e.Message); server.MasterFile.AddIPAddressResourceRecord("google.com", "127.0.0.1"); #pragma warning disable 4014 server.Listen(PORT); #pragma warning restore 4014 await Task.Delay(1000); DnsClient client = new DnsClient("127.0.0.1", PORT); await client.Lookup("google.com"); await client.Lookup("cnn.com"); server.Dispose(); }
public async static Task MainAsync() { MasterFile masterFile = new MasterFile(); DnsServer server = new DnsServer(masterFile, "8.8.8.8"); masterFile.AddIPAddressResourceRecord("google.com", "127.0.0.1"); server.Requested += (request) => Console.WriteLine("Requested: {0}", request); server.Responded += (request, response) => Console.WriteLine("Responded: {0} => {1}", request, response); server.Errored += (e) => Console.WriteLine("Errored: {0}", e.Message); server.Listening += () => Console.WriteLine("Listening"); server.Listening += async() => { DnsClient client = new DnsClient("127.0.0.1", PORT); await client.Lookup("google.com"); await client.Lookup("cnn.com"); server.Dispose(); }; await server.Listen(PORT); }
public static void Main(string[] args) { DnsServer server = null; (new Thread(() => { server = new DnsServer("8.8.8.8"); server.Requested += (request) => Console.WriteLine("Requested: {0}", request); server.Responded += (request, response) => Console.WriteLine("Responded: {0} => {1}", request, response); server.MasterFile.AddIPAddressResourceRecord("google.com", "127.0.0.1"); server.Listen(); })).Start(); Thread.Sleep(1000); DnsClient client = new DnsClient("127.0.0.1"); client.Lookup("google.com"); client.Lookup("cnn.com"); server.Close(); }
public Task StartAsync(CancellationToken cancellationToken) { _listenTask = _server.Listen(_ipEndPoint); return(Task.CompletedTask); }
public void Start() { _server.Listen(_defaultDnsPort, IPAddress.Parse(_options.Value.ListenAddress)); _logger.LogInformation($"Service has been started {_options.Value.ListenAddress}:{_defaultDnsPort}"); }
public async static Task DNSAsync(string[] Domains, string localIP, List <string> BlackList, string DNSForwardingServer) { if (!String.IsNullOrEmpty(localIP)) { // if one wants to use a remote DNS server for requests that cannot be solved: // DnsServer server = new DnsServer("8.8.8.8"); string ForwardingIP = "0.0.0.0"; if (!String.IsNullOrEmpty(DNSForwardingServer)) { IPAddress ForwardingIPAddress; IPAddress.TryParse(DNSForwardingServer, out ForwardingIPAddress); if (ForwardingIPAddress != null) { ForwardingIP = ForwardingIPAddress.ToString(); } } bool RedirectUnknownToLocal = true; if (!MainWindow.Instance.AppSettings.DNSLocalOnly) { RedirectUnknownToLocal = false; } DnsServer server = new DnsServer(ForwardingIP, MainWindow.Instance.AppSettings.DNSLocalOnly, RedirectUnknownToLocal); server.LocalIP = localIP; MainWindow.dnsServerList.Add(server); if (BlackList != null && BlackList.Count > 0) { foreach (string blacklistentry in BlackList) { Console.WriteLine(MainWindow.InfoTag + " Redirecting {0} to 0.0.0.0", blacklistentry); MainWindow.AddToLogDNS(String.Format(MainWindow.InfoTag + " Redirecting {0} to 0.0.0.0", blacklistentry)); server.MasterFile.AddIPAddressResourceRecord(blacklistentry, "0.0.0.0"); } } Console.WriteLine(MainWindow.InfoTag + " DNSAsync localIP: " + localIP); foreach (string domain in Domains) { Console.WriteLine(); MainWindow.AddToLogDNS(String.Format(MainWindow.InfoTag + " Redirecting {0} to " + localIP, domain)); server.MasterFile.AddIPAddressResourceRecord(domain, localIP); } //server.Responded += (request, response) => Console.WriteLine("{0} => {1}", request, response); //server.Responded += (request, response) => MainWindow.AddToLogDNS(String.Format("{0} => {1}", request, response)); server.Responded += (request, response) => MainWindow.AddToLogDNS(String.Format("{0} => {1}", DNS.Protocol.Utils.ObjectStringifier.Stringify(request.Questions), DNS.Protocol.Utils.ObjectStringifier.Stringify(response.AnswerRecords))); server.Errored += (e) => { Console.WriteLine(MainWindow.ErrorTag + ": {0}", e); MainWindow.AddToLogDNS(String.Format(MainWindow.ErrorTag + ": {0}", e)); ResponseException responseError = e as ResponseException; if (responseError != null) { Console.WriteLine(responseError.Response); } }; try { await server.Listen(); } catch (Exception ex) { Console.WriteLine(MainWindow.ErrorTag + " DNSAsync: " + ex.ToString()); } } }
protected override void OnStart(string[] args) { _server.Listen(); }