نماد سایت وبلاگ شتابان هاست

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

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

Nmap مخفف عبارت Network Mapper است . یک اسکنر رایگان و اپن سورس است که  توسط Gordon lyon یا Fyodor vaskovich ساخته شده است. Nmap برای پیدا کردن Hostها و سرویس های شبکه کامپیوتری با فرستادن پکت و آنالیز پاسخ آن ها به کار گرفته می شود. Nmap همچنین می تواند آدرس مک ، نوع سیستم عامل ، ورژن سرویس و موارد دیگر را تشخیص دهد. در این آموزش با ما همراه باشید تا به شما عزیزان درباره نحوه استفاده از دستور nmap برای انجام کارهای مختلف شبکه توضیح دهیم.

نصب Nmap :

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

نصب Nmap در اوبونتو و دبیان :

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

sudo apt updatesudo apt install nmap

نصب Nmap در CentOS و Fedora :

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

sudo dnf install nmap

نصب Nmap در macOS :

کاربران macOS می توانند Nmap را با دانلود بسته نصب “.dmg” از سایت Nmap یا از طریق Homebrew نصب کنند:

brew install nmap

نصب Nmap در ویندوز :

ورژن Windows Nmap دارای محدودیت هایی است و به طور کلی کمی کندتر از ورژن UNIX است. ساده ترین گزینه برای نصب Nmap در ویندوز این است که فایل exe خود نصب را دانلود و اجرا کنید. می توانید Nmap را در ویندوز یا از طریق خط فرمان یا با راه اندازی برنامه Zenmap اجرا کنید. برای اطلاعات بیشتر در مورد نحوه استفاده از Nmap در Windows ، دستورالعمل های استفاده پس از نصب را بررسی کنید.

استفاده از Nmap :

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

nmap [Options] [Target...]

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

nmap scanme.nmap.org

هنگامی که به عنوان یک کاربر non-root و دارای امتیاز بسته اولیه فراخوانی می شود ، nmap اسکن اتصال TCP را اجرا می کند. (-sT) به طور پیش فرض در حالت unprivileged روشن است. خروجی چیزی شبیه به اطلاعات اولیه در مورد اسکن و لیستی از پورت های 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) است که سریعتر از گزینه اتصال است و در برابر همه TCP stacks سازگار عمل می کند. -sS به صورت پیش فرض هنگامی که nmap به عنوان یک کاربر با امتیازات administrative فراخوانی می شود ، روشن می شود:

sudo nmap 192.168.10.121

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

sudo nmap -vv 192.168.10.121

برای انجام اسکن UDP ، دستور را با گزینه (-sU) به عنوان کاربر اصلی فراخوانی کنید:

sudo nmap -sU 192.168.10.121

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

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

تعیین Target Hosts :

Nmap تمام استدلال هایی را که options نیستند به عنوان target hosts مورد بررسی قرار می دهد. ساده ترین گزینه این است که یک یا چند آدرس target یا نام دامنه را ارسال کنید:

nmap 192.168.10.121 host.to.scan

می توانید از نماد CIDR برای تعیین محدوده شبکه استفاده کنید:

nmap 192.168.10.0/24

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

nmap 192.168.10-12.1

یکی دیگر از کاراکترهایی که می توانید برای تعیین targets استفاده کنید کاما است. دستور زیر همان hostهای بالا را targets قرار می دهد:

nmap 192.168.10,11,12.1

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

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

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

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

اگر می خواهید targets را که در محدوده تعیین شده شما قرار دارند حذف کنید ، از گزینه –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

هر پورت می تواند در یکی از حالات زیر باشد:

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

nmap -p 443 192.168.10.121

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

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 :

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

sudo nmap -sn 192.168.10.0/24

گزینه -sn به Nmap می گوید فقط hostهای آنلاین را discover کند و اسکن پورت را انجام ندهد. این زمانی مفید است که بخواهید به سرعت تعیین کنید کدام یک از hostهای مشخص در حال اجرا هستند.

غیرفعال کردن رزولوشن DNS Name :

رفتار پیش فرض Nmap انجام رزولوشن DNS معکوس برای هر discovered host است که زمان اسکن را افزایش می دهد. هنگام اسکن شبکه های بزرگ ، ایده خوبی است که وضوح معکوس DNS را غیرفعال کرده و سرعت اسکن ها را افزایش دهید. برای انجام این کار ، دستور زیر را با گزینه -n فراخوانی کنید:

sudo nmap -n 192.168.10.0/16

OS, Service and Version Detection :

Nmap می تواند سیستم عامل host ریموت را با استفاده از TCP/IP stack fingerprinting تشخیص دهد. برای اجرای OS detection ، دستور زیر را با گزینه -O فراخوانی کنید:

sudo nmap -O scanme.nmap.org

اگر Nmap بتواند سیستم عامل host را تشخیص دهد ، چیزی مانند دستور زیر را نمایش می دهد:

...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds

به طور معمول ، سرویس های سیستم با پورت های استاندارد فراخوانی می شوند که برای آنها شناخته شده و رزرو شده است. به عنوان مثال ، اگر پورت 22 که مربوط به سرویس SSH است باز باشد ، فرض می کنید که یک سرور SSH روی host اجرا می شود. با این حال ، شما نمی توانید کاملاً مطمئن باشید زیرا مردم می توانند services را روی هر پورت که می خواهند اجرا کنند. با تشخیص services و ورژن ، Nmap به شما نشان می دهد که چه برنامه ای در پورت و ورژن برنامه فراخوانی می شود. برای اسکن services و ورژن ، از گزینه -sV استفاده کنید:

sudo nmap -sV scanme.nmap.org
...
PORT      STATE    SERVICE      VERSION
19/tcp    filtered chargen
22/tcp    open     ssh          OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http         Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
...

همچنین می توانید سیستم عامل ، ورژن ها را اسکن کرده و traceroute را در یک دستور با استفاده از گزینه -A اجرا کنید:

sudo nmap -A 192.168.10.121

خروجی Nmap :

به طور پیش فرض ، 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 بنویسید. می توانید از scrips برای تشخیص بدافزارها و backdoors و موارد دیگر استفاده کنید. به عنوان مثال ، برای بررسی اینکه آیا host آسیب دیده است یا خیر ، می توانید از دستور زیر استفاده کنید:

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

جمع بندی :

Nmap یک ابزار اپن سورس است که عمدتا توسط مدیران شبکه برای discover host و اسکن استفاده می شود.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

خروج از نسخه موبایل