Nmap یک ابزار قدرتمند و رایگان برای اسکن و تحلیل شبکه است که به مدیران سیستم و متخصصان امنیت سایبری کمک میکند دستگاههای متصل به شبکه، پورتهای باز و سرویسهای فعال را شناسایی کنند. این ابزار با استفاده از تکنیکهای پیشرفته، مانند اسکن TCP، UDP و شناسایی سیستمعامل، میتواند وضعیت امنیتی شبکه را بررسی کند. با دستورات nmap میتوانید با سفارشیسازی اسکنها، اطلاعات دقیقی درباره زیرساختهای شبکه به دست آورید و نقاط ضعف احتمالی را شناسایی کنید. در ادامه قصد داریم شما را با مهمترین و کاربردیترین دستورات این نرمافزار قدرتمند آشنا کنیم تا بتوانید بهتر و موثرتر از آن بهره بگیرید. با ما همراه باشید.
نحوه استفاده از Nmap
نحوه استفاده از nmap نسبتاً ساده است، بهخصوص اگر با محیطهای خط فرمان آشنا باشید. پس از دانلود nmap و نصب آن، کافی است دستور nmap را در ترمینال اجرا کنید تا لیستی از گزینههای موجود برایتان نمایش داده شود. دستورات nmap در کالی، لینوکس و ویندوز قابل استفاده هستند. همچنین اگر میخواهید از این برنامه در گوشی اندرویدی خود استفاده کنید، امکان دانلود برنامه nmap برای اندروید وجود دارد.
بهعلاوه کاربران حرفهای میتوانند Nmap را همراه با اسکریپتهای سیستمی و وظایف خودکار استفاده کنند تا حداکثر بهره را از این ابزار ببرند.
کاربردیترین دستورات nmap
برای nmap دستورات متنوعی وجود دارد که بسته به شرایط مختلف مورد استفاده قرار میگیرند. در ادامه، برخی از رایجترین و کاربردیترین دستورات Nmap را مرور میکنیم.
۱. دستور Nmap برای اسکن پورتهای باز
هنگام اسکن هاستها، دستورات و سفارشات Nmap میتوانند از نام سرور، آدرسهای IPv4 یا IPv6 استفاده کنند. یک دستور پایه Nmap، اطلاعاتی درباره هاست موردنظر ارائه میدهد.
nmap subdomain.server.com
بدون استفاده از فلگهای اضافی، همانطور که در بالا نوشته شده است، Nmap سرویسها و پورتهای باز هاست را نمایش میدهد.
nmap 192.168.0.1
Nmap میتواند پورتها و سرویسهای باز را، هم با استفاده از نام دامنه و هم با استفاده از آدرس IP نمایش دهد.
nmap -F 192.168.0.1
اگر نیاز به انجام یک اسکن سریع داشته باشید، میتوانید از فلگ -F استفاده کنید. این گزینه، پورتها را از فایل nmap-services لیست میکند. بااینحال، چون فلگ Fast Scan (-F) تعداد پورتهای کمتری را اسکن میکند، بهاندازه یک اسکن کامل دقیق نیست.
۲. اسکن چندین هاست
Nmap میتواند بهجای اسکن یک هاست در هربار، چندین لوکیشن را بهطور همزمان بررسی کند. این ویژگی برای شبکههای بزرگتر بسیار مفید است. بسته به تعداد لوکیشنهایی که نیاز به بررسی دارند، چندین روش برای اسکن همزمان وجود دارد که در ادامه معرفی میکنیم.
اسکن چندین هاست با اضافه کردن چندین دامنه یا آدرس IP در یک خط:
nmap 192.168.0.1 192.168.0.2 192.168.0.3
استفاده از علامت * برای اسکن کل یک زیرشبکه:
nmap 192.168.0.*
استفاده از کاما (,) برای مشخص کردن چندین آدرس بدون نیاز به تایپ کامل هر IP:
nmap 192.168.0.1,2,3
استفاده از خط تیره (-) برای اسکن یک محدوده از آدرسهای IP:
nmap 192.168.0.1-4
۳. حذف هاستهای خاص از جستجو
گاهی اوقات ممکن است بخواهید کل یک گروه (مثلاً یک زیرشبکه) را اسکن کنید، اما یک هاست خاص را از اسکن مستثنی کنید. برای اینکار بهروش زیر عمل کنید:
استفاده از فلگ –exclude برای حذف یک میزبان خاص از جستجو:
nmap 192.168.0.* –exclude 192.168.0.2
استفاده از فایل لیست میزبانهای مستثنی با فلگ –excludefile:
nmap 192.168.0.* –excludefile /file.txt
این روش سادهترین راه برای حذف چندین هاست از اسکن است، زیرا میتوانید لیستی از آدرسهای IP را در یک فایل ذخیره و هنگام اجرا از آن استفاده کنید.
۴. دستورات nmap برای شناسایی سیستمعامل
علاوهبر اطلاعات عمومی، Nmap میتواند اطلاعاتی درباره سیستمعامل، اسکریپتهای در حال اجرا، مسیریابی (traceroute) و نسخههای نرمافزاری ارائه دهد. البته باید توجه داشته باشید که Nmap سعی میکند بهترین تخمین را در مورد سیستمعامل و نسخههای آن بزند، اما همیشه کاملاً دقیق نیست. به دستورات زیر توجه کنید:
استفاده از فلگ -A برای شناسایی سیستمعامل هاستها:
nmap -A 192.168.0.1
فلگ -A میتواند همراه با سایر دستورات و سفارشات Nmap نیز استفاده شود.
استفاده از فلگ -O برای شناسایی اطلاعات دقیقتر درباره سیستمعامل هاست:
nmap -O 192.168.0.1
فلگ -O امکان شناسایی سیستمعامل را فعال میکند.
فلگهای اضافی، شامل -osscan-limit و -osscan-guess:
- -osscan-limit فقط سیستمعاملهایی را شناسایی میکند که بهراحتی قابل تشخیص هستند.
- -osscan-guess بهصورت تهاجمیتر، سعی در حدس زدن سیستمعامل دارد.
باید در نظر داشته باشید تشخیص سیستمعامل براساس ویژگیهای خاص انجام میشود و همیشه ۱۰۰٪ دقیق نیست.
۵. اسکن برای شناسایی تنظیمات فایروال
شناسایی تنظیمات فایروال میتواند در تست نفوذ و اسکن آسیبپذیریها مفید باشد. چندین روش برای شناسایی فایروال وجود دارد، اما رایجترین روش استفاده از فلگ -sA است.
استفاده از فلگ -sA برای تشخیص فعال بودن فایروال روی میزبان:
nmap -sA 192.168.0.1
فلگ -sA از یک ACK Scan استفاده میکند تا مشخص کند آیا یک فایروال روی میزبان فعال است یا نه.
۶. دریافت اطلاعات درباره نسخه سرویسها
گاهی ممکن است نیاز داشته باشید اطلاعات مربوط به نسخه سرویسهای اجراشده روی پورتهای باز را شناسایی کنید. اینکار برای عیبیابی، اسکن آسیبپذیریها یا شناسایی سرویسهایی که نیاز به بهروزرسانی دارند، مفید است.
استفاده از فلگ -sV برای دریافت اطلاعات نسخه سرویسهای هاست:
nmap -sV 192.168.0.1
این دستورات nmap اطلاعات لازم درباره سرویسهای فعال روی میزبان موردنظر را نمایش میدهد.
با فلگ –version-intensity میتوانید شدت جستجو را از سطح ۰ تا ۹ تنظیم کنید. هرچه مقدار این سطح بالاتر باشد، اسکن با دقت بیشتری انجام میشود.
همچنین برای نمایش اطلاعات دقیقتر در صورتی که نتایج اسکن کمتر از حد انتظار باشد، از دستور –version-trace کمک بگیرید:
nmap –version-trace 192.168.0.1
۷. سفارشات nmap اسکن پورتها
یکی از مهمترین قابلیتهای Nmap اسکن پورتهاست. این دستور را میتوان به روشهای مختلفی تنظیم کرد.
استفاده از فلگ -p برای اسکن یک پورت خاص:
nmap -p 443 192.168.0.1
اسکن یک نوع خاص از پورت (مثلاً پورت TCP مشخص):
nmap -p T:8888,443 192.168.0.1
اسکن چندین پورت با جدا کردن آنها توسط کاما (,)
nmap -p 80,443 192.168.0.1
اسکن محدودهای از پورتها با استفاده از خط تیره –
nmap -p 80-443 192.168.0.1
اسکن پورتها به ترتیب (نه بهصورت تصادفی) با استفاده از فلگ -r
nmap -r -p 80-443 192.168.0.1
اسکن متداولترین پورتها با استفاده از فلگ –top-ports
nmap –top-ports 10 192.168.0.1
این دستور، ۱۰ پورت پرتکرار و رایج را اسکن میکند.
-
بوت کمپ هکر قانونمند | CEH
۴.۸۰۰.۰۰۰ تومان -
هکرها از کجا شروع میکنند؟
رایگان
۸. اسکن در حالت مخفی (Stealth Mode)
اگر لازم است اسکن را بهصورت مخفیانه انجام دهید، از دستور زیر استفاده کنید:
nmap -sS 192.168.0.1
فلگ -sS باعث میشود یک اسکن مخفیانه TCP SYN انجام شود. این روش آهستهتر از سایر اسکنهاست، اما در مقایسه با روشهای عادی کمتر قابل شناسایی است. این فلگ را میتوان با سایر دستورات Nmap ترکیب کرد.
۹. شناسایی نام هاست (Hostname)
برای کشف نام هاست (Hostname)، میتوانید از روشهای مختلفی در Nmap استفاده کنید. متداولترین روش، استفاده از فلگ -sL است:
nmap -sL 192.168.0.1
این دستور یک کوئری DNS انجام میدهد و نام هاست را برای آدرسهای مشخصشده بازیابی میکند.
فلگهای اضافی برای کنترل رزولوشن DNS بهصورت زیر است:
- -n → از رزولوشن DNS صرفنظر میکند؛
- -R → همیشه رزولوشن DNS را انجام میدهد؛
- -Pn → کشف هاست را بهطور کامل رد و فرض میکند که همه هاستها آنلاین هستند.
۱۰. اسکن از طریق فایل
اگر یک لیست طولانی از آدرسهای IP برای اسکن دارید، میتوانید آن را مستقیماً از طریق فایل وارد کنید، بهصورت زیر:
nmap -iL /file.txt
این دستور تمامی آدرسهای موجود در فایل مشخصشده را اسکن میکند. همچنین میتوانید سایر فلگها را به آن اضافه کنید.
این روش برای مواقعی مفید است که بهطور مداوم نیاز به اسکن مجموعهای از هاستها دارید.
۱۱. دریافت اطلاعات بیشتر با حالت Verbose
اگر میخواهید خروجی اسکن جزئیات بیشتری داشته باشد، از فلگ -v استفاده کنید:
nmap -v 192.168.0.1
فلگ -v اطلاعات بیشتری را درباره اسکن انجامشده در اختیار شما قرار میدهد. این فلگ را میتوان به اکثر دستورات nmap اضافه کرد تا اطلاعات دقیقتری دریافت کنید.
در حالت عادی، Nmap فقط اطلاعات ضروری را نمایش میدهد، اما با این فلگ میتوانید جزئیات بیشتری را ببینید.
۱۲. اسکن آدرسهای IPv6
با گسترش استفاده از IPv6، Nmap نیز از این پروتکل پشتیبانی میکند. برای اسکن IPv6 باید فلگ -۶ را اضافه کنید:
nmap -6 ::ffff:c0a8:1
این دستور مانند اسکنهای معمولی کار میکند، اما برای آدرسهای IPv6 میتوانید سایر فلگهای Nmap را همراه با -۶ برای عملکردهای پیشرفتهتر استفاده کنید.
۱۳. دستورات nmap برای شناسایی سرورهای فعال
یکی از سادهترین قابلیتهای Nmap، بررسی ماشینهای فعال در یک شبکه است. برای اینکار از فلگ -sP استفاده میشود:
nmap -sP 192.168.0.0/24
این دستور فهرستی از ماشینهای فعال و در دسترس را نمایش میدهد و برای بررسی وضعیت سرورها، تأیید پاسخدهی سیستمها و شناسایی دستگاههای غیرمنتظره در شبکه بسیار مفید است.
۱۴. یافتن واسطهای هاست، مسیرها و بستههای داده
گاهی اوقات، برای رفع اشکال (Debugging) نیاز دارید واسطهای هاست (Host Interfaces)، مسیرهای ارتباطی (Routes) و بستههای دادهای (Packets) را مشاهده کنید.
برای لیست کردن رابطها و مسیرها، از دستور زیر استفاده کنید:
nmap –iflist
این دستور فهرستی از واسطهای شبکه و مسیرهای مربوطه را نمایش میدهد.
برای نمایش بستههای ارسالی و دریافتی، دستور زیر مفید است:
nmap –packet-trace
این دستور جزئیات بستههای ردوبدلشده را نشان میدهد که میتواند برای رفع اشکال در ارتباطات شبکه مفید باشد.
۱۵. اسکنهای تهاجمی (Aggressive) و تنظیمات سرعت
گاهی نیاز دارید که اسکن را سریعتر یا عمیقتر انجام دهید. در Nmap، میتوان این مورد را با کنترل تایمینگ (Timing) تنظیم کرد:
nmap -T5 192.168.0.1
عدد T5 نشاندهنده بالاترین سطح سرعت و تهاجمی بودن اسکن است. البته، هرچه اسکن تهاجمیتر باشد، احتمال خطا و شناسایی توسط سیستمهای امنیتی بیشتر میشود.
مقادیر تایمینگ از T1 (کندترین) تا T5 (سریعترین) متغیر هستند. همچنین مقادیر T3 و T4 برای اکثر اسکنها کافی هستند، زیرا تعادل بین سرعت و دقت را حفظ میکنند.
۱۶. دریافت راهنمای Nmap
اگر در مورد دستورات nmap یا فلگهای مختلف سؤالی دارید، میتوانید از دستور زیر برای دریافت راهنما استفاده کنید:
nmap -h
این دستور صفحه راهنمای Nmap را نمایش میدهد و تمامی فلگهای موجود و توضیحات مربوط به هرکدام را ارائه میکند. برای کاربران مبتدی و حتی حرفهای، این دستور بسیار مفید است تا با گزینههای جدید Nmap آشنا شوند.
۱۷. ایجاد دیکوی (Decoy) هنگام اسکن
Nmap این قابلیت را دارد که دیکویهایی (Decoys) برای فریب فایروالها ایجاد کند. این ویژگی معمولاً برای اشکالزدایی (Debugging) استفاده میشود، اما در برخی موارد ممکن است برای مقاصد مخرب نیز بهکار رود.
nmap -D 192.168.0.1,192.168.0.2,…
هنگام استفاده از فلگ -D، میتوانید یک فهرست از آدرسهای IP دیکوی را مشخص کنید. این آدرسهای دیکوی بهگونهای نمایش داده میشوند که انگار آنها نیز در حال اسکن شبکه هستند، درحالیکه اسکن واقعی پنهان میماند.
علاوهبراین، میتوان از دستورات زیر برای مخفی کردن اطلاعات واقعی اسکن استفاده کرد:
- دستور –spoof-mac → برای جعل آدرس MAC در اسکن Nmap؛
- دستور -S → برای جعل آدرس مبدأ (Source Address).
این تکنیکها برای دور زدن سیستمهای امنیتی و بررسی رفتار فایروالها مفید هستند.
بیشتر بخوانید: آموزش نصب nmap در ویندوز لینوکس و کالی
در چه دورهای میتوانم با دستورات nmap بیشتر آشنا شوم؟
اگر به یادگیری عمیق و حرفهای دستورات و سفارشات nmap علاقهمند هستید، ورکشاپ Nmap آپتک بهترین انتخاب برای شماست. این دوره با رویکردی عملی و جامع، طراحی شده است و شما را با مفاهیم پایه تا تکنیکهای پیشرفته اسکن شبکه با Nmap آشنا میکند. در طول این دوره، شناسایی سیستمعاملها، تشخیص پورتهای باز، بررسی آسیبپذیریها و آموزش تست نفوذ با nmap را بهطور کامل یاد خواهید گرفت. این آموزش برای علاقهمندان به امنیت سایبری، مدیران شبکه و کارشناسان تست نفوذ مناسب است و به شما کمک میکند تا مهارتهای خود را به سطح حرفهای برسانید.
از مهمترین مزایای دوره Nmap آپتک، میتوان به موارد زیر اشاره کرد:
- آموزش nmap در کالی؛
- آموزش nmap در ویندوز؛
- تسلط بر Nmap با تمرینهای کاربردی؛
- افزایش دانش امنیت سایبری؛
- ارتقاء مهارتهای تخصصی؛
- فرصتهای شغلی بهتر.
با شرکت در این دوره، میتوانید به یک متخصص حرفهای در اسکن و تست امنیت شبکه تبدیل شوید.
سخن پایانی
Nmap یکی از قدرتمندترین و کاربردیترین ابزارهای اسکن شبکه است که به متخصصان امنیت سایبری، مدیران شبکه و کارشناسان تست نفوذ کمک میکند تا اطلاعات دقیقی درباره دستگاههای متصل به شبکه، وضعیت پورتها، تنظیمات فایروال و آسیبپذیریهای احتمالی به دست آورند. این ابزار با قابلیتهایی مانند اسکن پورتها، تشخیص سیستمعامل، بررسی نسخههای سرویسها و انجام اسکنهای مخفیانه، امکان تحلیل و تقویت امنیت شبکه را فراهم میکند. یادگیری عمیق دستورات nmap علاوهبراینکه مهارتهای تخصصیتان را ارتقا میدهد، شما را به متخصصانی حرفهای در زمینه امنیت سایبری تبدیل میکند.
منبع +
چگونه میتوان فهمید که یک سرور به درخواستهای ICMP (پینگ) پاسخ میدهد یا نه؟
با استفاده از دستور nmap -PE <IP> میتوان بررسی کرد آیا سیستم هدف به پینگ ICMP Echo Request پاسخ میدهد یا خیر.
آیا میتوان اسکن را طوری انجام داد که فقط دستگاههایی که بهتازگی آنلاین شدهاند، شناسایی شوند؟
بله! با استفاده از گزینه –scan-delay <time> میتوان بین ارسال هر پکت تاخیر مشخصی تعیین کرد تا فقط دستگاههایی که جدیداً متصل شدهاند، شناسایی شوند.