2010-07-15 25 views

Trả lời

24

Bạn đã thử Dns.GetHostEntry chưa?

Ví dụ:

using System; 
using System.Net; 

class Test 
{ 
    static void Main(string[] args) 
    { 
     IPAddress addr = IPAddress.Parse("69.59.196.211"); 
     IPHostEntry entry = Dns.GetHostEntry(addr); 
     Console.WriteLine(entry.HostName); // Prints "stackoverflow.com" 
    } 
} 

Lưu ý rằng điều này không làm việc cho ví dụ bạn đưa ra ... nếu một tra cứu DNS ngược không làm việc, tôi không chắc chắn những gì bạn có thể làm.

1
Console.WriteLine("DomainName: {0}", Dns.GetHostEntry("1.1.1.1").HostName); 
+0

Xin chào Jon, Mã của bạn hoạt động tốt nhưng vấn đề là khi tôi cung cấp bất kỳ IP bên ngoài hoặc IP riêng của mình, tôi có tên miền nhưng nếu cố gắng cung cấp IP cho bất kỳ máy nào hiện có mạng nội bộ, nó sẽ trả về IP của tôi thay vì tên miền. Xin hãy giúp tôi .... –

+0

@Swapnil: Hãy thử tra cứu ngược lại từ dòng lệnh 'nslookup [ip address]' và xem những gì bạn nhận được cho địa chỉ IP đó. Ngoài ra, bạn có thể thử sử dụng 'Dns.GetHostAddresses'; http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx –

+0

sử dụng lệnh này tại dấu nhắc lệnh cung cấp cho tôi một số địa chỉ khác và nếu tôi sử dụng hãy cho địa chỉ nó mang lại cho tôi tên miền. Vậy vấn đề tôi không thể hiểu được là gì? –

1

Tôi thực sự nghi ngờ liệu điều này có khả thi hay không. Có thể có n số lượng miền trỏ đến một IP duy nhất. Bạn có thể thực hiện một số nghiên cứu trên Reverse DNS lookup.

Các vấn đề liên quan