DNS 주소 변경을 모니터링하고 싶습니다. 그래서 나는 DNS 변경 사항을 추적해야합니다. 지금 당장 실을 쓰고 있어요. 나는 DNS를 가져 와서 파일을 저장하고 10 초마다 비교하지만 더 구체적인 해결책이 필요합니다. 예를 들어, 거기에 어떤 사건이 있습니까?C에서 DNS 변경 사항을 확인하는 방법은 무엇입니까?
GetDns : 이것은 코드입니다
public List<string> GetDns()
{
List<string> dns = new List<string>();
NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface networkInterface in networkInterfaces)
{
if (networkInterface.OperationalStatus == OperationalStatus.Up)
{
IPInterfaceProperties ipProperties = networkInterface.GetIPProperties();
IPAddressCollection dnsAddresses = ipProperties.DnsAddresses;
foreach (IPAddress dnsAdress in dnsAddresses)
{
dns.Add(dnsAdress.ToString());
}
}
}
return dns;
}
이 인 비교 : 당신은 당신의 DNS를 쿼리하는 WMI-쿼리를 사용할 수
string[] xmlDns = xmlData.GetDatas("DNSs", "Dns");
List<string> dns = getData.GetDns();
for (int i = 0; i < xmlDns.Length; i++)
{
if (xmlDns[i].Equals(dns[i]))
{
this.Invoke(new MethodInvoker(delegate()
{
listBoxCheck.Items.Add(xmlDns[i] + " DNS was not changed.");
}));
}
else
{
this.Invoke(new MethodInvoker(delegate()
{
listBoxCheck.Items.Add(xmlDns[i] + " DNS adress was changed as " + dns[i]);
}));
}
}
시도한 코드를 표시 할 수 있습니까 –