چگونگي مي توان IP مربوط به يك وب سايت يا يك ماشين موجود در شبكه را از طريق DNS Server  بدست آورد؟

سايت مرجع زبان برنامه نويسي جاوا                                            Java.TadbirPoya.ir> Articles> Java SE> Network> NSLOOkUP in java 

 نحوه نمايش IP يك وب سايت توسط دستور NSLOOKUP در جاوا

 

 

تکنولوژيهای جاوا
Java SE
Java EE
Java ME
JasperReports

 

لينك هاي مفيد
تدبيرگران پوياپرداز
دانلود هاي جاوا
آموزش جاوا
بازگشت
خانه

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 شماره مقاله  :   52

      تاريخ ايجاد :      1388/10/23

        تاريخ ويرايش :   1388/10/23

        دفعات بروز رساني :    0 

  نويسنده :               ---

 

  شبيه سازي دستور NSLOOkUP در جاوا

 

در اين مقاله سعي بر آن است تا دستور  NSLOOKUP را توسط جاوا شبيه سازي نموده و توسط آن از DNS SERVER پيش فرض آدرس IP يك وب سايت يا يك كامپيوتر ثبت شده در DNS SERVER را بدست آوريم. اما بهتر است قبل از شروع كار ابتدا با دستور NSLOOKUP و نحوه عملكرد آن آشنا شويم، سپس به پياده سازي آن توسط زبان جاوا بپردازيم.

 

DNS SERVER چيست؟

آيا تا به حال به اين نكته فكر كرده ايد كه وقتي آدرس يك وب سايت را براي مشاهده آن سايت در نرم افزارهايي مانند IE,FireFox و ... وارد مي كنيد، سايت فوق چگونه يافته شده و براي شما نمايش داده مي شود؟ براي پاسخ اين سئوال ابتدا به مثال زير دقت كنيد: براي ارسال يك نامه يا يك بسته پستي به يك مقصد خاص نياز است تا آدرس پستي دقيق آن مكان را داشته باشيد. «دقت كنيد كه ممكن است مكان مورد نظر شما داراي يك نام و عنوان معروف و مورد شناخت همگان نيز باشد. مانند سازمان صدا و سيما، شركت ايرانسل، دانشگاه تهران و ... » حال سئوال اينجاست كه آيا مي توان يك بسته پستي را از طريق نام و عنوان معروف يك مكان به آنجا رساند يا حتما نياز است تا آدرس دقيق پستي آن مكان را روي بسته فوق درج نماييد؟

در دنياي اينترنت نيز مساله دقيقا به همين صورت مي باشد. يعني براي مشاهده يك وب سايت و دسترسي به صفحات آن، بايد حتما آدرس دقيق آن وب سايت را داشته باشيد. حال نكته اينجاست كه اين آدرس بصورت يك آدرس عددي به نام آدرس IP مي باشد. از طرفي حفظ كردن آدرس هاي IP مشكل مي‌باشد و به همين خاطر به ازاي هر آدرس IP يك نام كه اصطلاحا به آن آدرس وب سايت مي گويند، ايجاد مي گردد. وقتي در اينترنت يك آدرس وب سايت را وارد مي نماييد، ابتدا اين آدرس به آدرس IP معادل آن تبديل مي گردد، سپس سرور نگهدارنده صفحات سايت مورد نظر شما توسط آدرس IP فوق پيدا شده و سايت مورد نظر نمايش داده خواهد شد.

دومين سئوال آن است كه اين عمل تبديل نام به IP چگونه و توسط چه مرجعي صورت مي پذيرد؟ در پاسخ به اين سئوال بايد گفت كه، در دنياي اينترنت سروري تحت عنوان Name Server وجود دارد كه در واقع شامل يك بانك اطلاعاتي حاوي نام وب سايت ها «يا همان نام دامنه ها»  و آدرس هاي IP معادل آنها مي باشد. هر كاربري كه قصد ملاقات از يك وب سايت را داشته باشد، به كمك اين سرويس دهنده ابتدا نام سايت خود را به آدرس IP معادل آن تبديل مي كند، سپس از صفحات سايت مورد نظر ملاقات مي نماييم. «البته عمل تبديل نام به IP بصورت خودكار و بدون دخالت ملاقات كنندگان صورت مي پذيرد. » از جمله معروفترين نرم افزارهاي Name Server مي توان به Microsoft DNS و BIND اشاره نمود.

 

چگونه مي توان نام يا آدرس DNS Server ي كه آدرس يك وب سايت در آن ثبت شده است را بدست آورد؟

انجام چنين عملي بسيار ساده مي باشد و فقط كافيست دستور زير را همراه با آدرس وب سايت مورد نظرتان در محيط cmd وارد نماييد:

whois www.TadbirPoya.ir

NSLOOKUP

با استفاه از اين فرمان مي توان آدرس IP مربوط به يك نام وب سايت را بدست آورد. نحوه استفاده از اين فرمان بسيار ساده بوده و به همين خاطر به ذكر يك مثال در اين زمينه بسنده مي نماييم. براي اجراي اين فرمان ابتدا وارد محيط cmd شويد.

«نكته» فرمان فوق را هم مي توانيد در شبكه داخلي خود و هم در زمان اتصال به انترنت اجرا نماييد. اگر به يك شبكه داخلي كه داراي DNS SERVER مي باشد دسترسي نداريد، مي توانيد به اينترنت متصل شده و فرمان زير را اجرا نماييد:

nslookup www.tadbirpoya.ir

خروجي اين فرمان بصورت زير مي باشد كه در آن قسمت قرمز رنگ نشان دهنده آدرس IP وب سايت مورد نظر شما مي باشد.


DNS request timed out.
timeout was 2 seconds.
*** Can't find server name for address 192.168.5.1: Timed out
Server: ns1.omidantech.net
Address: 87.107.33.5


Non-authoritative answer:
Name: www.tadbirpoya.ir
Address: 38.117.96.89

قسمت آبي رنگ در پاسخ فوق بيانگر نام و آدرس IP سرور DNS ي است كه پرسش فوق از آن صورت گرفته است. اگر مي خواهيد پرسش خود را از يك DNS SERVER خاص انجام دهيد بايد ابتدا فرمان NSLOOKUP را وارد نماييد. سپس با استفاده از سويچ server آدرس DNS SERVER مورد نظر خود را وارد نماييد. سپس پرسش خود را انجام دهيد.

nslookup

> serevr ns1.nsup.com
Server: ns1.nsup.com
Address: 38.117.105.225


*** ns1.nsup.com can't find serevr: Server failed
> www.yahoo.com
Server: ns1.omidantech.net
Address: 87.107.33.5

Non-authoritative answer:
Name: www-real.wa1.b.yahoo.com
Address: 87.248.113.14
Aliases: www.yahoo.com, www.wa1.b.yahoo.com

 

براي كسب اطلاعات بيشتر در اين زمينه به لينك زير مراجعه نماييد.

http://support.microsoft.com/kb/200525

***************

حال كه با مفهوم و نحوه اجراي فرمان NSLOOKUP آشنا شديد، كافيست برنامه زير را كه فرمان فوق را در محيط جاوا شبيه سازي كرده است را اجرا نماييد. برنامه زير بسيار ساده بوده و نياز به توضيح خاصي ندارد.

 

import java.net.InetAddress;
import java.net.UnknownHostException;

public class NSLookup {
   public void performNSLookup() {
        try {
            InetAddress inetHost = InetAddress.getByName("www.tadbirpoya.ir");
            String hostName = inetHost.getHostName();
            System.out.println("The host name was: " + hostName);
            System.out.println("The hosts IP address is: " + inetHost.getHostAddress());
        } catch(UnknownHostException ex) {
                  System.out.println("Unrecognized host");
        }
    }
 
    public static void main(String[] args) {
        new NSLookup().performNSLookup();
    }
}

 

دانلود برنامه هاي مورد استفاده در اين مقاله

مطالب موجود در اين سايت به جهت ارتقاء سطح علمي برنامه نويسان جاوا تهيه و تنظيم شده است. در صورت تمايل مي توانيد مطالب خود را در جهت اصلاح يا ارتقاء مقالات موجود و يا ايجاد مقالات جديد به آدرس ايميل زير ارسال نماييد.

 JArticles@TadbirPoya.ir

استفاده از مطالب موجود در سايت با ذكر منبع بلامانع است.

Copyright @2008-2009 TadbirPoya.ir Co.All rights reserved