وباکا

آموزش تخصصی برنامه نویسی وب

برای دست آوردن مشخصات شبکه ای سیستم جاری (محلی ) از کلاس Dns و کلاس IpHostEntry استفاده می شود .
می توان با کمک سه خصوصیت HostName, AddressList و Aliases از کلاس  IPHostEntry کلیه اطلاعات DNSی میزبان مورد نظر را مشاهده کنیم.

  • توسط خصوصیت HostName از کلاس IPHostEntry می توان به نامی که برای میزبان در DNS ثبت شده است دسترسی داشت.
  • توسط خصوصیت AddressList از کلاس IPHostEntry که خروجی آن آرایه ای از نوع کلاس  IPAddress می باشد، می توان به IPهایی که در DNS برای میزبان ثبت شده است دسترسی داشت.
  • توسط خصوصیت Aliases از کلاس IPHostEntry که خروجی آن یک آرایه رشته ای است، می توان به نام های مستعاری که در DNS برای میزبان مورد نظر ثبت شده است، دسترسی داشت.

IPHostEntry host1 = Dns.GetHostEntry("192.168.100.231");
// or
IPHostEntry host2 = Dns.GetHostByName("desktop-8hlb14k");
MessageBox.Show( host2.HostName ); // نام سیستم جاری
MessageBox.Show(host2.AddressList[0].ToString()); // آی پی سیستم جاری
MessageBox.Show(host2.Aliases.Length.ToString() ); //تعداد نام های مستعار

یا هم می توان با استفاده از IP لوپ بک یک هاست انتری ایجاد کرده و سپس اطلاعات مورد نظر را از آن بیرون کشید:

IPHostEntry host = Dns.GetHostEntry("127.0.0.1");
MessageBox.Show( host.HostName ); // نام سیستم جاری
MessageBox.Show(host.AddressList[0].ToString()); // آی پی سیستم جاری

البته توجه شود که لیست IP ها شامل آی پی های ورژن 4 و ورژن 6 می باشد. و برای دیدن همه آی پی ها باید تمام خانه های آرایه host.AddressList را پیمایش کرد:
IPHostEntry host = Dns.GetHostEntry("127.0.0.1");
MessageBox.Show( host.HostName ); // نام سیستم جاری
for( int i=0; i< host.AddressList.Length ; i++ )
MessageBox.Show(host.AddressList[i].ToString()); // آی پی سیستم جاری

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب