Antwort des servers hinzugefügt
This commit is contained in:
@@ -2,12 +2,17 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace NetMonitorServer
|
||||
{
|
||||
class SetNetworks
|
||||
{
|
||||
UdpClient sendanswer = new UdpClient();
|
||||
IPEndPoint rep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34524);
|
||||
|
||||
public SetNetworks(string data)
|
||||
{
|
||||
if (data.Substring(0, 8).ToLower() == "net auto")
|
||||
@@ -25,10 +30,13 @@ namespace NetMonitorServer
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 4)
|
||||
return;
|
||||
bool ret;
|
||||
if (par[2].ToLower() == "auto")
|
||||
this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[3] + "\" source=dhcp");
|
||||
ret = this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[3] + "\" source=dhcp");
|
||||
else
|
||||
this.runProgramNetsh("interface ipv4 set winsservers \"" + par[3] + "\" static " + par[2]);
|
||||
ret = this.runProgramNetsh("interface ipv4 set winsservers \"" + par[3] + "\" static " + par[2]);
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret.ToString());
|
||||
sendanswer.Send(answ, answ.Length, rep);
|
||||
}
|
||||
|
||||
private void setNetworkDns(string data)
|
||||
@@ -36,10 +44,13 @@ namespace NetMonitorServer
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 4)
|
||||
return;
|
||||
bool ret;
|
||||
if (par[2].ToLower() == "auto")
|
||||
this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[3] + "\" source=dhcp");
|
||||
ret = this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[3] + "\" source=dhcp");
|
||||
else
|
||||
this.runProgramNetsh("interface ipv4 set dnsservers \"" + par[3] + "\" static " + par[2] + " primary");
|
||||
ret = this.runProgramNetsh("interface ipv4 set dnsservers \"" + par[3] + "\" static " + par[2] + " primary");
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret.ToString());
|
||||
sendanswer.Send(answ, answ.Length, rep);
|
||||
}
|
||||
|
||||
private void setNetworkIp(string data)
|
||||
@@ -47,10 +58,13 @@ namespace NetMonitorServer
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 4 && par.Length != 6)
|
||||
return;
|
||||
bool ret;
|
||||
if (par[2].ToLower() == "auto")
|
||||
this.runProgramNetsh("interface ipv4 set address name=\"" + par[3] + "\" source=dhcp");
|
||||
ret = this.runProgramNetsh("interface ipv4 set address name=\"" + par[3] + "\" source=dhcp");
|
||||
else
|
||||
this.runProgramNetsh("interface ipv4 set address \"" + par[5] + "\" static " + par[2] + " " + par[3] + " " + par[4]);
|
||||
ret = this.runProgramNetsh("interface ipv4 set address \"" + par[5] + "\" static " + par[2] + " " + par[3] + " " + par[4]);
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret.ToString());
|
||||
sendanswer.Send(answ, answ.Length, rep);
|
||||
}
|
||||
|
||||
private void setNetworkAuto(string data)
|
||||
@@ -58,12 +72,17 @@ namespace NetMonitorServer
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 3)
|
||||
return;
|
||||
this.runProgramNetsh("interface ipv4 set address name=\""+par[2]+"\" source=dhcp");
|
||||
this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[2] + "\" source=dhcp");
|
||||
this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[2] + "\" source=dhcp");
|
||||
byte[] answ;
|
||||
if (this.runProgramNetsh("interface ipv4 set address name=\"" + par[2] + "\" source=dhcp") &&
|
||||
this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[2] + "\" source=dhcp") &&
|
||||
this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[2] + "\" source=dhcp"))
|
||||
answ = Encoding.UTF8.GetBytes(true.ToString());
|
||||
else
|
||||
answ = Encoding.UTF8.GetBytes(false.ToString());
|
||||
sendanswer.Send(answ, answ.Length, rep);
|
||||
}
|
||||
|
||||
private void runProgramNetsh(string args)
|
||||
private bool runProgramNetsh(string args)
|
||||
{
|
||||
Process p = new Process();
|
||||
p.StartInfo.Arguments = args;
|
||||
@@ -75,6 +94,9 @@ namespace NetMonitorServer
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
p.WaitForExit();
|
||||
Console.WriteLine(output.Trim());
|
||||
if (p.ExitCode == 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user