خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه استفاده از دستور nmap در لینوکس

نحوه استفاده از دستور nmap در لینوکس
دستور Nmap یک ابزار قدرتمند اسکن شبکه برای ممیزی های امنیتی(security audit ها) و تست نفوذ است. Nmap یکی از ابزارهای ضروری ای است که توسط ادمین های شبکه برای عیب یابی مشکلات network connectivity و پورت اسکن استفاده می شود.

سیستم یکپارچۀ سازمانی راهکار
Nmap همچنین می تواند آدرس مک، نوع سیستم عامل، نسخه سرویس و موارد دیگر را شناسایی کند. این مقاله اصول پایه ای نحوه استفاده از دستور nmap برای انجام وظایف مختلف شبکه را توضیح می دهد.


Nmap یک برنامه چند پلتفرمی است که می تواند بر روی تمام سیستم عامل های مختلف نصب شود. در ابتدا فقط به عنوان یک ابزار لینوکسی انتشار یافت و بعداً پای nmap به سیستم های دیگری مانند BSD، Windows و macOS باز شد.
اگر GUI را به خط فرمان ترجیح می دهید، Nmap یک رابط کاربری گرافیکی به نام Zenmap نیز دارد که از این لینک می توانید آن را دانلود کنید.
مراحل نصب ساده است و بسته به سیستم عامل شما این مراحل متفاوت است.

نحوه نصب Nmap در اوبونتو و دبیان

Nmap از مخازن پیش‌فرض اوبونتو و دبیان در دسترس است. برای نصب Nmap، دستور زیر را اجرا کنید:

sudo apt update
sudo apt install nmap

نحوه نصب Nmap در Fedora و CentOS

در CentOS و سایر مشتقات Red Hat دستور زیر را اجرا کنید:

sudo dnf install nmap


نحوه نصب Nmap در macOS

کاربران macOS می‌توانند Nmap را با دانلود پکیج نصب «.dmg» از سایت Nmap یا از طریق Homebrew نصب کنند:

brew install nmap

Nmap معمولاً برای بررسی امنیت شبکه، network mapping، شناسایی پورت‌های باز و جستجوی دستگاه‌های آنلاین استفاده می‌شود. syntax استفاده از دستور nmap به صورت زیر است:

nmap [Options] [Target...]

ابتدایی ترین مثال استفاده از Nmap اسکن یک سیستم(target) به عنوان یک کاربر استاندارد بدون تعیین هیچ گزینه ای(Options) است:

nmap scanme.nmap.org

هنگامی که nmap به عنوان یک کاربر غیر root که دارای امتیازات raw packet نیست، اجرا می شود، اسکن اتصال TCP را اجرا می کند. در خروجی اطلاعاتی از جمله اطلاعات اولیه در مورد اسکن و لیستی از پورت های TCP باز و فیلتر شده را مشاهده خواهید کرد.

Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
1025/tcp open NFS-or-IIS
1080/tcp open socks
8080/tcp open http-proxy
8081/tcp open blackice-icecap

Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds

محبوب ترین گزینه اسکن، اسکن TCP SYN (-sS) است که سریعتر از گزینه connect بوده و و در برابر همه TCP stack ها سازگار عمل می کند. هنگامی که nmap به عنوان کاربر با امتیازات ادمینی اجرا می شود -sS به طور پیش فرض on می شود:

sudo nmap 192.168.10.121

برای خروجی دقیق تر، -v یا -vv استفاده کنید:

sudo nmap -vv 192.168.10.121

برای انجام اسکن UDP، دستور را با گزینه (-sU) تحت عنوان کاربر root اجرا کنید:

sudo nmap -sU 192.168.10.121

Nmap از IPv6 نیز پشتیبانی می کند. برای تعیین هاست IPv6 از گزینه 6- استفاده کنید:

sudo nmap -6 fd12:3456:789a:1::1

Nmap با تمام آرگومان هایی که گزینه(Options) نیستند به عنوان target Host رفتار می کند. اگر آرگومان ها با یک خط تیره (-، --) مشخص شوند، آنها گزینه در نظر گرفته می شوند.
در دستور زیر ما دو هاست را به عنوان target به nmap پاس دادیم که البته یکی را با IP و دیگری را با نام معرفی کردیم.

nmap 192.168.10.121 host.to.scan

حتی می توانید بصورت زیر محدود شبکه را مشخص کنید که اسکن در آن شبکه صورت بگیرد.

nmap 192.168.10.0/24

اگر محدوده ای از شبکه ها را مد نظر دارید که همگی پشت سر هم هستند، مثلا 192.168.10.1 و 192.168.11.1 , 192.168.12.1 دستور را به صورت زیر اجرا کنید:

nmap 192.168.10-12.1

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

nmap 192.168.10,11,12.1

شما می توانید همه فرم ها را ترکیب کنید:

nmap 10.8-10.10,11,12.0/28  192.168.1-2.100,101

برای اطمینان از اینکه هاست های صحیح را قبل از اسکن مشخص کرده اید، از گزینه اسکن لیست (-sL) استفاده کنید، که فقط target ها را بدون اسکن لیست می کند:

nmap -sL 10.8-10.10,11,12.0/28  192.168.1-2.100,101

اگر می خواهید target خاصی را از محدود مشخص شده حذف کنید، از exclude—استقاده کنید.

nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

به طور پیش فرض، Nmap یک اسکن سریع برای 1000 پورت رایج را انجام می دهد. این پورت ها اولین 1000 پورت متوالی نیستند، بلکه 1000 پورت پر استفاده از 1 تا 65389 هستند. برای اسکن تمام پورت ها از 1 تا 65535، از گزینه -p- استفاده کنید:

nmap -p- 192.168.10.121

هر پورت می تواند در یکی از حالت های زیر باشد:
Open برنامه در حال اجرا روی پورت به درخواست پاسخ می دهد.
Closed هیچ برنامه ای روی پورت اجرا نبوده و هاست به درخواست ها پاسخ می دهد.
Filtered هاست به درخواست پاسخ نمی دهد.

پورت ها و محدوده پورت ها با گزینه -p مشخص می شوند. به عنوان مثال، برای اسکن فقط پورت 443، از دستور زیر استفاده کنید:

nmap -p 443 192.168.10.121

برای تعیین بیش از یک پورت، پورت های مورد نظر را با کاما جدا کنید:

nmap -p 80,443 192.168.10.121

محدوده پورت را می توان با علامت دش مشخص کرد. ه عنوان مثال، برای اسکن تمام پورت های UDP از 1 تا 1024، دستور زیر را اجرا کنید:

sudo nmap -sU -p 1-1024 192.168.10.121

و بصورت ترکیبی:

nmap -p 1-1024,8080,9000 192.168.10.121

پورت ها را می توان با استفاده از نام پورت نیز مشخص کرد. به عنوان مثال، برای اسکن پورت 22، ssh، می توانید بصورت زیر دستور را اجرا کنید:

nmap -p ssh 192.168.10.121

برای انجام ping scanning یا host discovery دستور nmap را با گزینه -sn اجرا کنید:

sudo nmap -sn 192.168.10.0/24

گزینه sn- به Nmap می گوید فقط هاست های آنلاین را شناسایی کرده و پورت اسکن را انجام ندهد. این گزینه زمانی کاربردی است که بخواهید به سرعت تعیین کنید چه هاست هایی در حال اجرا می باشد.
رفتار پیش‌فرض Nmap اجرای reverse-DNS resolution برای هر هاست کشف‌شده است که زمان اسکن را افزایش می‌دهد. هنگام اسکن شبکه های بزرگ، ایده خوبی است که reverse-DNS resolution را غیرفعال کنید و سرعت اسکن ها را افزایش دهید. برای انجام این کار، دستور را با گزینه n- اجرا کنید:

sudo nmap -n 192.168.10.0/16

به طور پیش فرض، Nmap اطلاعات را در خروجی استاندارد (stdout) پرینت کرده و نمایش می دهد. اگر یک شبکه بزرگ را اسکن می کنید یا برای استفاده بعدی به اطلاعات نیاز دارید، می توانید خروجی را در یک فایل ذخیره کنید. Nmap چندین نوع خروجی را ارائه می دهد. برای ذخیره خروجی در فرمت عادی، از گزینه oN- و سپس نام فایل استفاده کنید:

sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt

محبوب ترین خروجی در فرمت XML است. برای انجام این کار، از گزینه oX- استفاده کنید:

sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

فرمت مفید دیگر خروجی grepable است که می تواند با ابزارهای استاندارد یونیکس مانند grep، awk و cut آنالیز شود. خروجی grepable با گزینه oG- مشخص می شود:

sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

یکی از قدرتمندترین ویژگی های Nmap موتور برنامه نویسی آن است. Nmap با صدها اسکریپ عرضه می شود و همچنین می توانید اسکریپ های خود را به زبان Lua بنویسید. می‌توانید از اسکریپ‌ها برای شناسایی بدافزارها و backdoor ها، انجام حملات brute-force و موارد دیگر استفاده کنید. به عنوان مثال، برای بررسی اینکه آیا این هاست مشخص شده به خطر افتاده است، می توانید از دستور زیر استفاده کنید:

nmap -sV --script http-malware-host scanme.nmap.org

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز