Nmap چیست و چگونه از آن استفاده کنیم؛ یک آموزش برای بهترین ابزار اسکنینگ تاریخ

Nmap معروف ترین ابزار اسکنینگ و آموزش هک است که توسط تسترهای نفوذ استفاده می شود. در این مقاله، برخی از ویژگی های اصلی Nmap همراه با چند دستور مفید آن را بررسی خواهیم کرد.

Nmap چیست و چگونه از آن استفاده کنیم؛ یک آموزش برای بهترین ابزار اسکنینگ تاریخ

Nmap چیست؟

Nmap مخفف Network Mapper است. این یک ابزار متن باز خط فرمان لینوکس است که برای اسکن آدرس های IP و پورت ها در یک شبکه و شناسایی برنامه های نصب شده استفاده می شود.

Nmap به مدیران شبکه کمک می کند تا متوجه شوند کدام دستگاه ها در شبکه آن ها در حال اجرا هستند، پورت ها و سرویس های باز را کشف کنند و آسیب پذیری ها را شناسایی کنند.

گوردون لیون (نام مستعار Fyodor) Nmap را به عنوان ابزاری برای کمک به نقشه برداری از یک شبکه به راحتی و یافتن پورت ها و سرویس های باز آن نوشت.

Nmap به شدت محبوب شده است و در فیلم هایی مانند “ماتریکس” و سریال معروف “آقای ربات” نمایش داده شده است.

چرا از Nmap استفاده کنیم؟

دلایل زیادی وجود دارد که چرا حرفه ای های امنیتی Nmap را به دیگر ابزارهای اسکن ترجیح می دهند.

اولاً، Nmap به شما کمک می کند تا به سرعت یک شبکه را بدون نیاز به دستورات پیچیده یا پیکربندی های پیشرفته نقشه برداری کنید. همچنین از دستورات ساده (برای مثال، برای بررسی اینکه آیا یک میزبان فعال است) و اسکریپت نویسی پیچیده از طریق موتور اسکریپت نویسی Nmap پشتیبانی می کند.

دیگر ویژگی های Nmap عبارتند از:

  • قابلیت شناسایی سریع تمامی دستگاه ها از جمله سرورها، روترها، سوئیچ ها، دستگاه های موبایل و غیره در یک یا چند شبکه.
  • کمک به شناسایی سرویس های در حال اجرا روی یک سیستم از جمله سرورهای وب، سرورهای DNS و دیگر برنامه های رایج. Nmap همچنین می تواند نسخه های برنامه ها را با دقت معقول شناسایی کرده و به شناسایی آسیب پذیری های موجود کمک کند.
  • Nmap می تواند اطلاعاتی درباره سیستم عاملی که روی دستگاه ها در حال اجرا است ارائه دهد. این اطلاعات می تواند شامل جزئیات نسخه های سیستم عامل باشد که برنامه ریزی برای رویکردهای بیشتر در طول تست نفوذ را آسان تر می کند.
  • در حین بررسی امنیت و اسکن آسیب پذیری ها، می توانید از Nmap برای حمله به سیستم ها با استفاده از اسکریپت های موجود در موتور اسکریپت نویسی Nmap استفاده کنید.
  • Nmap یک رابط گرافیکی به نام Zenmap دارد. این رابط به شما کمک می کند تا نقشه های بصری از شبکه برای سهولت استفاده و گزارش دهی ایجاد کنید.

دستورات

بیایید برخی از دستورات Nmap را بررسی کنیم. اگر Nmap را نصب نکرده اید، می توانید آن را از اینجا دریافت کنید.

اسکن های پایه

اسکن لیست دستگاه های فعال در یک شبکه، اولین قدم در نقشه برداری شبکه است. دو نوع اسکن وجود دارد که می توانید از آن ها برای این کار استفاده کنید:

  1. اسکن پینگ لیست دستگاه های فعال و در حال اجرا در یک زیرشبکه خاص را اسکن می کند.
  1. nmap -sp 192.168.1.1/24
  1. اسکن یک میزبان واحد  یک میزبان واحد را برای 1000 پورت معروف اسکن می کند. این پورت ها پورت هایی هستند که توسط سرویس های محبوبی مانند SQL، SNTP، آپاچی و دیگر سرویس ها استفاده می شوند.
  1. nmap scanme.nmap.org

اسکن مخفی (Stealth Scan)

اسکن مخفی با ارسال یک بسته SYN و تجزیه و تحلیل پاسخ آن انجام می شود. اگر بسته SYN/ACK دریافت شود، به این معنی است که پورت باز است و می توان یک ارتباط TCP را باز کرد.

با این حال، اسکن مخفی هرگز دست دادن 3 مرحله ای را کامل نمی کند، که این باعث می شود شناسایی سیستم اسکن کننده توسط هدف دشوار باشد.

nmap -sS scanme.nmap.org

برای انجام اسکن مخفی از دستور -sS استفاده کنید. به یاد داشته باشید که اسکن مخفی کندتر است و به اندازه اسکن های دیگر تهاجمی نیست، بنابراین ممکن است مجبور شوید مدت زمانی را برای دریافت پاسخ منتظر بمانید.

اسکن نسخه ها

یافتن نسخه های برنامه ها بخشی حیاتی در تست نفوذ است.

این کار زندگی شما را آسان تر می کند زیرا می توانید آسیب پذیری موجود در پایگاه داده آسیب پذیری ها و اکسپلویت ها (CVE) برای نسخه خاصی از سرویس را پیدا کنید. سپس می توانید از آن برای حمله به یک سیستم با استفاده از ابزارهای اکسپلویت مانند Metasploit استفاده کنید.

nmap -sV scanme.nmap.org

برای انجام اسکن نسخه ها، از دستور -sV استفاده کنید. Nmap لیستی از سرویس ها همراه با نسخه های آن ها را ارائه خواهد داد. به یاد داشته باشید که اسکن نسخه ها همیشه 100% دقیق نیست، اما شما را یک قدم به موفقیت در دسترسی به سیستم نزدیک تر می کند.

اسکن OS

علاوه بر سرویس ها و نسخه های آن ها، Nmap می تواند اطلاعاتی در مورد سیستم عامل زیرین با استفاده از اثر انگشت TCP/IP ارائه دهد. Nmap همچنین تلاش می کند تا زمان آپ تایم سیستم را در حین اسکن OS شناسایی کند.

nmap -sV scanme.nmap.org

شما می توانید از پرچم های اضافی مانند osscan-limit برای محدود کردن جستجو به چند هدف مورد انتظار استفاده کنید. Nmap درصد اعتماد را برای هر حدس سیستم عامل نمایش خواهد داد.

دوباره، شناسایی سیستم عامل همیشه دقیق نیست، اما به نفوذگر کمک زیادی می کند تا به هدف خود نزدیک تر شود.

اسکن تهاجمی

Nmap حالت تهاجمی دارد که به شناسایی سیستم عامل، شناسایی نسخه، اسکن اسکریپت و مسیریابی (Traceroute) می پردازد. شما می توانید از آرگومان -A برای انجام اسکن تهاجمی استفاده کنید.

nmap -A scanme.nmap.org

اسکن های تهاجمی اطلاعات بسیار بهتری نسبت به اسکن های معمولی ارائه می دهند. با این حال، اسکن تهاجمی همچنین پروب های بیشتری ارسال می کند و احتمالاً در حین بررسی های امنیتی شناسایی می شود.

اسکن چند میزبان

Nmap قابلیت اسکن چندین میزبان به طور همزمان را دارد. این ویژگی زمانی که شما زیرساخت شبکه وسیعی را مدیریت می کنید، بسیار مفید است.

شما می توانید میزبان های متعدد را از طریق روش های مختلف اسکن کنید:

  • نوشتن تمام آدرس های IP در یک ردیف برای اسکن تمام میزبان ها به طور همزمان.
  • nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • استفاده از علامت ستاره (*) برای اسکن تمام زیرشبکه ها به طور همزمان.
  • nmap 192.164.1.*
  • افزودن کاماها برای جدا کردن پایان آدرس ها به جای تایپ کامل دامنه ها.
  • nmap 192.164.0.1,2,3,4
  • استفاده از خط تیره برای مشخص کردن یک بازه از آدرس های IP.
  • nmap 192.164.0.0–255

اسکن پورت

اسکن پورت یکی از ویژگی های اساسی Nmap است. شما می توانید پورت ها را به چندین روش اسکن کنید.

  • استفاده از پارامتر -p برای اسکن یک پورت خاص:
  • nmap -p 973 192.164.0.1
  • اگر نوع پورت را مشخص کنید، می توانید اطلاعاتی در مورد نوع خاصی از ارتباط، مانند ارتباط TCP، دریافت کنید.
  • nmap -p T:7777, 973 192.164.0.1
  • می توانید یک بازه از پورت ها را با استفاده از خط تیره اسکن کنید.
  • nmap -p 76–973 192.164.0.1
  • همچنین می توانید از پرچم –top-ports برای مشخص کردن n پورت برتر برای اسکن استفاده کنید.
  • nmap –top-ports 10 scanme.nmap.org

اسکن از یک فایل

اگر بخواهید لیست بزرگی از آدرس های IP را اسکن کنید، می توانید این کار را با وارد کردن یک فایل که شامل لیست آدرس های IP است، انجام دهید.

nmap -iL /input_ips.txt

دستور بالا نتایج اسکن تمام دامنه های موجود در فایل “input_ips.txt” را تولید خواهد کرد. علاوه بر اسکن آدرس های IP، شما می توانید از گزینه ها و پرچم های اضافی نیز استفاده کنید.

خروجی و صادر کردن نتایج اسکن

تست های نفوذ می توانند روزها یا حتی هفته ها طول بکشند. صادر کردن نتایج Nmap می تواند برای جلوگیری از انجام کارهای تکراری و کمک به تهیه گزارش های نهایی مفید باشد. بیایید برخی از روش های صادر کردن نتایج اسکن Nmap را بررسی کنیم.

  • خروجی verbose:
  • nmap -v scanme.nmap.org

خروجی verbose اطلاعات اضافی در مورد اسکن انجام شده ارائه می دهد. این برای نظارت بر اقدامات مرحله به مرحله ای که Nmap روی شبکه انجام می دهد مفید است، به ویژه اگر شما یک خارجی باشید که در حال اسکن شبکه یک مشتری هستید.

  • خروجی معمولی
    اسکن های Nmap همچنین می توانند به فایل متنی صادر شوند. این خروجی کمی با خروجی خط فرمان اصلی تفاوت خواهد داشت، اما تمام نتایج اسکن های ضروری را ثبت خواهد کرد.
  • nmap -oN output.txt scanme.nmap.org
  • خروجی XML
    اسکن های Nmap همچنین می توانند به فرمت XML صادر شوند. این فرمت فایل به عنوان فرمت پیش فرض بسیاری از ابزارهای تست نفوذ است و وارد کردن نتایج اسکن را به راحتی قابل تجزیه می کند.
  • nmap -oX output.xml scanme.nmap.org
  • فرمت های متعدد
    شما همچنین می توانید نتایج اسکن را به تمام فرمت های موجود به طور همزمان صادر کنید با استفاده از دستور -oA:
  • nmap -oA output scanme.nmap.org

دستور بالا نتایج اسکن را در سه فایل صادر خواهد کرد  output.xml، output.nmap و output.gnmap.

راهنمای Nmap

Nmap یک دستور داخلی دارد که تمام پرچم ها و گزینه هایی که می توانید استفاده کنید را فهرست می کند. این دستور اغلب مفید است با توجه به تعداد زیادی از آرگومان های خط فرمان که Nmap ارائه می دهد.

nmap -h

موتور اسکریپت نویسی Nmap (NSE)

Nmap Scripting Engine (NSE) ابزاری بسیار قدرتمند است که می توانید از آن برای نوشتن اسکریپت ها و خودکارسازی ویژگی های مختلف شبکه استفاده کنید.

شما می توانید اسکریپت های زیادی را در Nmap پیدا کنید یا اسکریپت خود را بر اساس نیازهای خود بنویسید. شما حتی می توانید اسکریپت های موجود را با استفاده از زبان برنامه نویسی Lua تغییر دهید.

Zenmap

Zenmap یک رابط گرافیکی برای Nmap است. این نرم افزار رایگان و متن باز به شما کمک می کند تا به راحتی با Nmap شروع کنید.

علاوه بر ارائه نقشه های بصری شبکه، Zenmap به شما این امکان را می دهد که اسکن های خود را ذخیره کرده و برای استفاده های آینده جستجو کنید.

Zenmap برای مبتدیانی که می خواهند قابلیت های Nmap را بدون استفاده از رابط خط فرمان آزمایش کنند، بسیار مناسب است.

نتیجه گیری

Nmap به وضوح “چاقوی ارتشی سوئیسی” شبکه است، به لطف مجموعه دستورات چندمنظوره اش.

این ابزار به شما این امکان را می دهد که به سرعت شبکه، میزبان ها، پورت ها، فایروال ها و سیستم عامل ها را اسکن کرده و اطلاعات ضروری را کشف کنید.

Nmap دارای تنظیمات، پرچم ها و ترجیحات متعددی است که به مدیران سیستم کمک می کند شبکه را به طور دقیق تجزیه و تحلیل کنند.

آیا شما به دنبال کسب اطلاعات بیشتر در مورد "Nmap چیست و چگونه از آن استفاده کنیم؛ یک آموزش برای بهترین ابزار اسکنینگ تاریخ" هستید؟ با کلیک بر روی آموزش, کسب و کار ایرانی، ممکن است در این موضوع، مطالب مرتبط دیگری هم وجود داشته باشد. برای کشف آن ها، به دنبال دسته بندی های مرتبط بگردید. همچنین، ممکن است در این دسته بندی، سریال ها، فیلم ها، کتاب ها و مقالات مفیدی نیز برای شما قرار داشته باشند. بنابراین، همین حالا برای کشف دنیای جذاب و گسترده ی محتواهای مرتبط با "Nmap چیست و چگونه از آن استفاده کنیم؛ یک آموزش برای بهترین ابزار اسکنینگ تاریخ"، کلیک کنید.