نکاتي در مورد نرم افزار پويشگر پورت Nmap
Nmap مخفف Network Mapper مي باشد و يک نرم افزار کاربردي براي جست و جوي شبکه يا مميزي امنيتي شبکه به شمار مي آيد. اين نرم افزار به گونه اي طراحي شده که بتواند شبکه هاي بزرگ را پويش کند.Nmap از
ip packetهاي خام به صورت منحصر به فرد استفاده مي کند تا تعيين کند چه سيستم هايي (hosts) بر روي شبکه د ردسترس مي باشند، چه سرويس هايي ports ارائه مي کنند، چه سيستم عامل هايي (به همراه نسخه سيستم عامل) بر روي آنها در حال اجرا مي باشد، چه نوع packet filterها يا فايروال هايي مورد استفاده قرار گرفته اند.
Nmap بر روي اکثر رايانه ها، هم گرافيکي و هم کنسول ها قابل استفاده است. Nmap يک نرم افزار مجاني است که به همراه کدهاي آن تحت مجوز زيباي GNU GPL در دسترس مي باشد.
شايد nmap بهترين و در عين حال پر کاربرد ترين نرم افزار پويشگر پورت باشد. در صورتي که يک مدير شبکه يا يک مميز امنيت مي باشيد، بدون شک با اين نرم افزارآشنا هستيد.و از آن استفاده مي کنيد. اين نرم افزار هر چيز که شما از يک پويشگر پورت مي خواهيد را با خود به همراه دارد. در صورت استفاده درست و رعايت نکات ظريف، مي توان نتايج بسيار بهتري گرفت. در اينجا به معرفي نکات و برخي از اشتباهات در به کارگيري Nmap اشاره مي کنم که دانستن آن فرايند پويش را بهبود مي بخشد.
دراين حلا استفاده ازمحيط ويندوز به علت محدوديت هاي موجود در سطح درايورهاوساختار توليد پکت ها توصيه نمي شود. اين مشکل علي رغم توليد وصله هاي متعدد برروي ويندوز همچنان وجود داردواين پويشگر تحت ويندوز هرگز به خوبي ودقت نسخه هاي لينوکسي آن کار نکرده است.
"- .sT- P - " مي باشد عدم توليد مناسب بسته ها توسط Nmap ادامه فرآيند پويش در کشف سيستم هاي جديد را با مشکل روبرو مي کند.
استفاده از يک Source - port پورت مورد اعتماد فايروال، استفاده از پارامتر source - port با مقدار 53 در بسياري از موارد مؤثر مي باشد.
عدم استفاده از پورت اسکن به صورت سريال.(استفاده نکردن از پارامتر-r)
استفاده از روش قابل اطمينان تر TCP Connect با استفاده از پارامتر -sT به جاي روش پيش فرض اسکن - sS يا همان.(Syn Scan)
استفاده از سرعت پايين (or2 - T1) در انجام اسکن مي تواند باعث عدم شناسايي توسط فايروال شود.
بسته به شبکه اي که مي خواهيد شناسايي کنيد، هر يک از اين روش ها مي توانند به شما کمک کنند. در صورتي که شبکه شما به برخي از بسته هاي ICMP پاسخ مي دهد، استفاده از روش ICMP Discovery در ابتدا به شما توصيه مي شود. همچنين با پارامترهاي "-PE-PP-PM" مي توان هرسه حالت ECHO Time Stamp، و NetMask Request براي درخواست هاي ICMP را بررسي نمود.
روش دوم يا Syn/Ack Scan در صورتي که شبکه هدف توسط يک فايروال Stateful حفاظت مي شود، استفاده از پارامتر "-PS" و اگر نوع فايروال Stateless مي باشد، استفاده از پامتر "-PA" انتخاب مناسبي مي باشد. اين دو پارامتر نياز به يک شماره پورت براي ارسال بسته Syn/Ack دارند. رايج ترين پورت ها براي اين منظور 21،25،53،80،443،3389 هستند. همچنين مي توان يک يا چند پورت مختلف همراه با چند مدل مختلف اسکن را در يک پويش استفاده کرد.
"nmap-sP-PE-PE-PM-PS
80,22,23,53 -PA 80,22,25,3389
{hosts}"
به صورت پيش فرض و در صورت امکان، استفاده از ARP Scanning بهترين گزينه است. نکته اي ديگر دراين مبحث، استفاده از پارامتر "-.p" مي باشد در صورت اطمينان از زنده بودن سيستم مورد نظربهتر است اصلاً وارد فاز شناسايي نشويد و همين جا به اين فرآيند پايان داده و نرم افزار را با فرض زنده بودن سيستم روانه پويش پورت کنيد!
سرعت در کندترين حالت "-T1" و در تندترين حالت "-T5" مي باشد. مسلماً سرعت بالاي اسکن زمان کمتري براي انتظار دريافت پاسخ از سيستم هاي کند يا شبکه هاي پر ترافيک صرف مي کند و شما برخي از سيستم ها و پورت هاي باز را از دست خواهيد داد.
اگر قصد پويش شبکه هاي بزرگ در زمان نسبتاً کمي را داريد به جاي افزايش سرعت و کم کردن دقت نرم افزار، بهتر است از اسکن موازي سيستم ها استفاده کنيد. اين کار با افزايش تعداد پويش هاي موازي (min-parallelism-و
--max parallelism)
مي تواند نتيجه اي بهتر و شايد سريع تر از اسکن با سرعت هاي بالا (-T5) را براي شما داشته باشد!
به منظور شناسايي نوع سيستم عامل از پارامتر "-O" و به منظور شناسايي نسخه سرويس ها در اسکن از پارمتر "-sV"ا ستفاده کنيد در صورتي که قصد داريد از تمام قابليت هاي nmap استفاده کنيد، پارامتر"-A"را به کارببريد(فعال سازي Service Detection , Script - based Detection, OS Detection , Script-based Detection , OS Detection و (Tracerroute
منبع:ماهنامه دنياي کامپيوتر و ارتباطات؛ شماره 84.
ip packetهاي خام به صورت منحصر به فرد استفاده مي کند تا تعيين کند چه سيستم هايي (hosts) بر روي شبکه د ردسترس مي باشند، چه سرويس هايي ports ارائه مي کنند، چه سيستم عامل هايي (به همراه نسخه سيستم عامل) بر روي آنها در حال اجرا مي باشد، چه نوع packet filterها يا فايروال هايي مورد استفاده قرار گرفته اند.
Nmap بر روي اکثر رايانه ها، هم گرافيکي و هم کنسول ها قابل استفاده است. Nmap يک نرم افزار مجاني است که به همراه کدهاي آن تحت مجوز زيباي GNU GPL در دسترس مي باشد.
شايد nmap بهترين و در عين حال پر کاربرد ترين نرم افزار پويشگر پورت باشد. در صورتي که يک مدير شبکه يا يک مميز امنيت مي باشيد، بدون شک با اين نرم افزارآشنا هستيد.و از آن استفاده مي کنيد. اين نرم افزار هر چيز که شما از يک پويشگر پورت مي خواهيد را با خود به همراه دارد. در صورت استفاده درست و رعايت نکات ظريف، مي توان نتايج بسيار بهتري گرفت. در اينجا به معرفي نکات و برخي از اشتباهات در به کارگيري Nmap اشاره مي کنم که دانستن آن فرايند پويش را بهبود مي بخشد.
1-سيستم عامل مناسب
دراين حلا استفاده ازمحيط ويندوز به علت محدوديت هاي موجود در سطح درايورهاوساختار توليد پکت ها توصيه نمي شود. اين مشکل علي رغم توليد وصله هاي متعدد برروي ويندوز همچنان وجود داردواين پويشگر تحت ويندوز هرگز به خوبي ودقت نسخه هاي لينوکسي آن کار نکرده است.
2-لينک ارتباطي مناسب
"- .sT- P - " مي باشد عدم توليد مناسب بسته ها توسط Nmap ادامه فرآيند پويش در کشف سيستم هاي جديد را با مشکل روبرو مي کند.
3- فايروال
استفاده از يک Source - port پورت مورد اعتماد فايروال، استفاده از پارامتر source - port با مقدار 53 در بسياري از موارد مؤثر مي باشد.
عدم استفاده از پورت اسکن به صورت سريال.(استفاده نکردن از پارامتر-r)
استفاده از روش قابل اطمينان تر TCP Connect با استفاده از پارامتر -sT به جاي روش پيش فرض اسکن - sS يا همان.(Syn Scan)
استفاده از سرعت پايين (or2 - T1) در انجام اسکن مي تواند باعث عدم شناسايي توسط فايروال شود.
4-انتخاب روش مناسب
بسته به شبکه اي که مي خواهيد شناسايي کنيد، هر يک از اين روش ها مي توانند به شما کمک کنند. در صورتي که شبکه شما به برخي از بسته هاي ICMP پاسخ مي دهد، استفاده از روش ICMP Discovery در ابتدا به شما توصيه مي شود. همچنين با پارامترهاي "-PE-PP-PM" مي توان هرسه حالت ECHO Time Stamp، و NetMask Request براي درخواست هاي ICMP را بررسي نمود.
روش دوم يا Syn/Ack Scan در صورتي که شبکه هدف توسط يک فايروال Stateful حفاظت مي شود، استفاده از پارامتر "-PS" و اگر نوع فايروال Stateless مي باشد، استفاده از پامتر "-PA" انتخاب مناسبي مي باشد. اين دو پارامتر نياز به يک شماره پورت براي ارسال بسته Syn/Ack دارند. رايج ترين پورت ها براي اين منظور 21،25،53،80،443،3389 هستند. همچنين مي توان يک يا چند پورت مختلف همراه با چند مدل مختلف اسکن را در يک پويش استفاده کرد.
"nmap-sP-PE-PE-PM-PS
80,22,23,53 -PA 80,22,25,3389
{hosts}"
به صورت پيش فرض و در صورت امکان، استفاده از ARP Scanning بهترين گزينه است. نکته اي ديگر دراين مبحث، استفاده از پارامتر "-.p" مي باشد در صورت اطمينان از زنده بودن سيستم مورد نظربهتر است اصلاً وارد فاز شناسايي نشويد و همين جا به اين فرآيند پايان داده و نرم افزار را با فرض زنده بودن سيستم روانه پويش پورت کنيد!
5-سرعت اسکن
سرعت در کندترين حالت "-T1" و در تندترين حالت "-T5" مي باشد. مسلماً سرعت بالاي اسکن زمان کمتري براي انتظار دريافت پاسخ از سيستم هاي کند يا شبکه هاي پر ترافيک صرف مي کند و شما برخي از سيستم ها و پورت هاي باز را از دست خواهيد داد.
اگر قصد پويش شبکه هاي بزرگ در زمان نسبتاً کمي را داريد به جاي افزايش سرعت و کم کردن دقت نرم افزار، بهتر است از اسکن موازي سيستم ها استفاده کنيد. اين کار با افزايش تعداد پويش هاي موازي (min-parallelism-و
--max parallelism)
مي تواند نتيجه اي بهتر و شايد سريع تر از اسکن با سرعت هاي بالا (-T5) را براي شما داشته باشد!
6-پورت هاي مورد نظر
7-استفاده از قابليت هاي Os Detection و Version Detection
به منظور شناسايي نوع سيستم عامل از پارامتر "-O" و به منظور شناسايي نسخه سرويس ها در اسکن از پارمتر "-sV"ا ستفاده کنيد در صورتي که قصد داريد از تمام قابليت هاي nmap استفاده کنيد، پارامتر"-A"را به کارببريد(فعال سازي Service Detection , Script - based Detection, OS Detection , Script-based Detection , OS Detection و (Tracerroute
8-سطح دسترسي کاربراستفاده کننده
منبع:ماهنامه دنياي کامپيوتر و ارتباطات؛ شماره 84.