ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:1
مجموع:مجموع:1
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

کار با پویش‌گر پورت Nmap

(2096 مجموع کلمات موجود در متن)
(8816 بار مطالعه شده است)  نسخه چاپی

کار با پورت اسکنر Nmap




0.مقدمه


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


هر پورت باز بی مصرف می‌تواند به مصابه‌ی درب ورودی برای خرابکاران باشد که برروی آن کنترلی نیست.برای اطلاع از وضعیت پورت‌های سیستم می‌توان از برنامه‌های Port Scanner یا پوینده‌ی پورت‌ها استفاده کرد. برنامه‌های پورت اسکنر با روش‌های مختلفی سیستم یا سیستم‌های مورد نظر را به دنبال پورت‌های باز پویش می‌کنند. امروزه می‌توان این ادعا را نمود که یکی و بلکه کاملترین این برنامه‌های Port Scanner برنامه‌ی Nmap است.


برنامه‌ی Nmap یا Network Mapper همان طور که از نامش بر می‌آید برای دریافت اطلاعات و زیر نظر گرفتن شبکه است. البته اگر بخواهیم این برنامه را یک Port Scanner بنامیم باید کمی بی انصاف باشیم، چرا که این برنامه کارهای بسیار دیگری علاوه بر Port Scannig انجام می‌دهد. برای نمونه از Nmap برای تشخیص سیستم عامل یا OS Detection و RPC identification یا ping sweep نیز استفاده می‌شود. سایت رسمی این برنامه را می‌توانید اینجا [1] بیابید. همان طور که در سایت رسمی نیز ذکر شده است این ابزار دو سال به عنوان بهترین ابزار برای پویش سیستم‌ها شناخته شده است و در سازمان‌های بسیاری چون ارتش آمریکا یا آژانس امنیت ملی آمریکا NAS از این ابزار استفاده می‌شود.


در حقیقت این ابزار محصول شرکت Insecure LLC که به صورت اوپن سورس و صد البته آزاد تحت مجوز GNU/GPL منتشر شده است. آخرین نسخه‌های این برنامه از سری 4.03 می‌باشند. امروزه در اغلب توزیع های لینوکسی بزرگ مانند Debian یا Redhat یا Fedora یا Ubuntu این برنامه موجود است و کافیست شما از طریق دستورات نصب مربوطه آن را نصب کنید و نیازی به کامپایل سورس نیست. البته می‌توانید سورس کدها را از سایت رسمی نیز دانلود و نصب کنید.


برای کار با Nmap منابع و راهنماهای بسیاری موجود هستند از راهنمای کامل man nmap تا راهنماهای روی خط مختلف. بسیار خوب، پس از این مقدمه‌ی کوچک و معرفی Nmap به نحوه‌ی کار با این برنامه خواهیم پرداخت.



1.پویش پورت‌ها با Nmap


هر چند Nmap کارهای بسیاری انجام می‌دهد اما پورت اسکنینگ مشهورترین کار Nmap است. در حقیقت Nmap به دلیل قابلیت Port Scaning خود مشهور است. Nmap از روش‌های مختلفی برای پورت اسکنینگ استفاده می‌کند، در حقیقت بعد از مطالعه‌ی مستندات فنی می‌توانید متوجه شوید که تقریبا از تمام روش‌های پورت اسکنینگ پشتیبانی می‌کند.از روش‌های ساده‌ای چون ()TCP connect تا روش های کامل‌تری مانند Three-Way TCP Handshake استفاده از پکت‌های ساده‌ی IP تا Bounceهای FTP. برای استفاده از Nmap باید از اسلوب زیر استفاده نمایید:


nmap [Scan Type(s)] [Options] {target specification}


در جدول شماره ۱ می‌توانید انواع روش‌های پویش یا Scan Typeها را مشاهده کنید:


نوع اتصال

آرگومان

شرح

Connect

sT-

اجرای یک اتصال کامل TCP از طریق()connect در صوورتی که با کاربر غیر root برنامه را اجرا کنید این گزینه‌ی پیش فرض است.

Steath SYN Scan

sS-

تنها یک بسته‌ی SYN ارسال می‌کند، در حقیقت اولین پکتی که در three-way handshake ارسال می‌شود.اگر یک SYN|ACK دریافت شود به معنی آن است که پورت مورد نظر آزاد است. این بدان معناست که اتصال TCP کامل نمی‌شود یعنی یک اتصال غیر حقیقی و متفاوت با ()connect خواهید داشت. این نوع اسکن را half-open scan می‌نامند.

FIN

sF-

اسکن از نوع FIN یا FIN Scan. یک پاکت FIN خالص ارسال می‌شود، اگر RST دریافت شود به معنی بسته بودن پورت است. ویندوز به دلیل دنبال نکردن تمام قابلیت‌های IP با این روش غیر قابل تشخیص است.

Xmas Tree

sX-

Xmas Tree Scan مانند FIN است اما از بسته‌هایی با flagهای URG و PUSH و FIN استفاده می‌کند.

Null

sN-

Null Scan Mode که مانند FIN اسکن است با این تفاوت که از بسته‌های بدون flag استفاده می‌کند.

UDP

sU-

UDP Scan. برنامه‌ی Nmap یک بسته‌ی UDP با حجم 0-byte به پورتها ارسال می‌کند، اگر ICMP خطای Port Unreachble را ارسال کرد، بنابراین پورت بسته است.این اسکن تا حدودی کند و سنگین است.

IP Protocol

sO-

IP protocol Scanها. برای تشخیص نسخه و پروتوکل‌های IP در حال اجرا در ماشین مقصد استفاده می‌شود.Nmap یک بسته‌ی خالی IP برای هر پروتوکل ارسال می‌کند، هر پروتوکلی که unreachble اعلام نماید در حقیقت پشتیبانی نشدن از پروتوکل را اعلاممی‌کند. بعضی Firewallها از ارسال و دریافت ICMPها یا بخشی از ICMPها جلوگیری می‌کنند، این می‌تواند دلیلی برای دریافت اطلاعات اشتباه یا دریافت نکردن اطلاعات باشد.

ACK

sA-

این روش زمانی مفید است که شما با یک فایروال روبرویید، در فایروالی که SYN-blocking فیلترها فعال هستند، Nmap یک ACK ارسال می‌نماید که نماینده‌ی یک دریافت موفقیت آمیز است. با ارسال این بسته به تمام پورت‌ها، در صورت دریافت RST متوجه فیلتر نبودن پورت می‌گردد.

Window Size

sW-

این اسکن مانند ACK است با این تفاوت که از TCP window size برای تشخیص پورت‌های باز، فیلتر شده یا نشده استفاده می‌کند. خوشبختانه لینوکس در مقابل این نوع اسکن‌ها مشکلی ندارد و اغلب فایروال‌ها نیز همچنین.


علاوه بر اسکن‌تایپ‌های بالا انواع دیگری نیز وجود دارند که به دلیل گستردگی در این مقاله از آن‌ها بحث نشده است.

گزینه‌های بسیاری نیز برای کار با Nmap وجود دارند که اغلب چند گزینه‌ی مهم هستند و سایر گزینه‌ها در شرایط خاص اهمیت پیدا می‌کنند، از این رو در این مقاله سعی خواهم کرد مهم‌ترین گزینه‌های کاربردی را ذکر کنم.

P0- برنامه‌ی Nmap اغلب قبل از اجرای یک اسکن ابتدا مقاصد خود را ping می‌کند. اگر شما می‌دانید که ماشینی در حال استفاده از فایروال یا هر روش دیگری برای جلوگیری از ICMP Ping پکت‌ها است می‌توانید با این گزینه Nmap را مجبور به Ping نکردن بکنید.


v- به حالت Verbose گزارش‌ها را اعلام می‌نماید. در حقیقت تمام راحل انجام کار را اعلام می‌کند.

vv- به صورت Very Verbos اعمال را انجام می‌دهد. در این حالت تمام رفتارهای Nmap را گزارش می‌کند.

I- به صورت Ident فعالیت می‌کند. در این حالت Nmap به پورت به صورت Full Connect از طریق ()Connect متصل می‌شود و در صورت برقراری تماس یک Ident query از قصد گرفته و آن را بر می‌گرداند. با این روش می‌توان نام کاربری که در حال گوش‌دادن به پورت مورد نظر است را دریافت کرد.

برای آن که کار با Connect Typeها و نیز گزینه‌ها را بهتر فرا بگیرید به نمونه‌ی زیر توجه کنید:


root@ispak# nmap -vv -sS 80.191.2.203


Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-10-07 15:18 IRST

DNS resolution of 1 IPs took 0.47s. Mode: Async [#: 2, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]

Initiating SYN Stealth Scan against 80.191.2.203 [1674 ports] at 15:18

Discovered open port 80/tcp on 80.191.2.203

Discovered open port 22/tcp on 80.191.2.203

Discovered open port 21/tcp on 80.191.2.203

Discovered open port 25/tcp on 80.191.2.203

Discovered open port 110/tcp on 80.191.2.203

The SYN Stealth Scan took 149.62s to scan 1674 total ports.

Host 80.191.2.203 appears to be up ... good.

Interesting ports on 80.191.2.203:

(The 1667 ports scanned but not shown below are in state: filtered)

PORT STATE SERVICE

20/tcp closed ftp-data

21/tcp open ftp

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

115/tcp closed sftp


Nmap finished: 1 IP address (1 host up) scanned in 151.990 seconds

Raw packets sent: 5020 (220.840KB) | Rcvd: 44 (1988B)




2. استفاده به عنوان Ping Sweeper


همان طور که ذکر شد از Nmap می‌توان برای Ping Sweeping استفاده کرد، این امکان به صورت توکار یا Built-in در Nmap موجود است. برای استفاده از این امکان می‌ةوانید از اسلوب زیر استفاده کنید:

#nmap -sP 92.168.0.0/24

به عنوان آرگومان آدرس می‌توانید از اسلوب‌های مختلف استفاده کنید:


نمونه

نوع

192.168.0.* 192.168.*.*

Wildcardها

192.168.0-220 192.168.20-100.0-220

محدوده (range)

192.168.0.0/24 10.10.0.0./16

استفاده از CIDR ها

test.irantux.com/25

نماد‌ها


با استفاده از Nmap می‌تواند Ping Sweeping را بدن نیاز به نوشتن اسکریپت‌های شل یا پرل به سادگی یک دستور انجام دهید.

برای نمونه:

root@lacindizustu:/home/lacin# nmap -sP 213.207.248.*


Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-10-07 15:11 IRST

Host 213.207.248.0 seems to be a subnet broadcast address (returned 1 extra pings). Note -- the actual IP also responded.

Host 213.207.248.1 appears to be up.

Host 213.207.248.2 appears to be up.

Host 213.207.248.5 appears to be up.

RTTVAR has grown to over 2.3 seconds, decreasing to 2.0

RTTVAR has grown to over 2.3 seconds, decreasing to 2.0

RTTVAR has grown to over 2.3 seconds, decreasing to 2.0

Host 213.207.248.7 appears to be up.

Host 213.207.248.9 appears to be up.

.........

Host 213.207.248.156 appears to be up.

Host 213.207.248.163 appears to be up.

Host 213.207.248.170 appears to be up.

Host 213.207.248.178 appears to be up.

Host 213.207.248.179 appears to be up.

Host 213.207.248.187 appears to be up.

Host 213.207.248.191 appears to be up.

Host 213.207.248.195 appears to be up.

Host 213.207.248.199 appears to be up.

Host 213.207.248.200 appears to be up.

Host 213.207.248.205 appears to be up.

Host 213.207.248.206 appears to be up.

Host 213.207.248.209 appears to be up.

Host 213.207.248.213 appears to be up.

Host 213.207.248.216 appears to be up.

Host 213.207.248.217 appears to be up.

Host 213.207.248.218 appears to be up.

Host 213.207.248.219 appears to be up.

Host 213.207.248.222 appears to be up.

......

Host 213.207.248.255 seems to be a subnet broadcast address (returned 1 extra pings). Note -- the actual IP also responded.

Nmap finished: 256 IP addresses (79 hosts up) scanned in 178.817 seconds






3.استفاده به عنوان تشخیص‌گر سیستم عامل


یکی دیگر از کارهایی که می‌توانید از طریق Nmap انجام دهید تشخیص سیستم عامل از راه دور است. البته Nmap برای این کار بهترین ابزار نیست و ابزارهای دیگری مانند Queso یا Xprobe ابزارهای بسیار معروف دیگری هستند که Queso در حقیقت به صورت پیش فرض در آمده اما برای تشخیص سیستم عامل می‌توان از Nmap همراه گزینه‌ی O- نیز استفاده کرد:


#nmap -vV -sS -O www.example.org


این نکته قابل ذکر است که برای استفاده از قابلیت OS detection باید برنامه‌ی Nmap را با کاربر root اجرا کنید.

مانند:

root@ispak#nmap -vv -sS -O 213.207.248.253


Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-10-07 15:14 IRST

DNS resolution of 1 IPs took 0.16s. Mode: Async [#: 2, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]

Initiating SYN Stealth Scan against 213.207.248.253 [1674 ports] at 15:14

Discovered open port 1723/tcp on 213.207.248.253

Increasing send delay for 213.207.248.253 from 0 to 5 due to 122 out of 406 dropped probes since last increase.

SYN Stealth Scan Timing: About 45.19% done; ETC: 15:15 (0:00:36 remaining)

SYN Stealth Scan Timing: About 51.69% done; ETC: 15:16 (0:01:02 remaining)

SYN Stealth Scan Timing: About 62.68% done; ETC: 15:18 (0:01:18 remaining)

SYN Stealth Scan Timing: About 76.69% done; ETC: 15:19 (0:01:04 remaining)

SYN Stealth Scan Timing: About 86.86% done; ETC: 15:20 (0:00:41 remaining)

The SYN Stealth Scan took 492.89s to scan 1674 total ports.

For OSScan assuming port 1723 is open, 1 is closed, and neither are firewalled

Host 213.207.248.253 appears to be up ... good.

Interesting ports on 213.207.248.253:

(The 1664 ports scanned but not shown below are in state: closed)

PORT STATE SERVICE

135/tcp filtered msrpc

136/tcp filtered profile

137/tcp filtered netbios-ns

138/tcp filtered netbios-dgm

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

1391/tcp filtered iclpv-sas

1434/tcp filtered ms-sql-m

1723/tcp open pptp

4444/tcp filtered krb524

Device type: general purpose

Running: Microsoft Windows 2003/.NET|NT/2K/XP

OS details: Microsoft Windows 2003 Server or XP SP2

OS Fingerprint:

TSeq(Class=TR%IPID=I%TS=0)

.....................

PU(Resp=Y%DF=N%TOS=0%IPLEN=B0%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)


TCP Sequence Prediction: Class=truly random

Difficulty=9999999 (Good luck!)

IPID Sequence Generation: Incremental


Nmap finished: 1 IP address (1 host up) scanned in 497.773 seconds

Raw packets sent: 3133 (138.324KB) | Rcvd: 1762 (71.168KB)



در این مقاله سعی شد تا بخشی از قابلیت‌های Nmap را به شما نمایش بدهم. اما مطمئنا این ابزار به قدر چند کتاب قابلیت و جای بحث دارد. در صورتی که بخواهید کار با این ابزار را هر چه بهتر بیاموزید می‌توانید از سایت رسمی آن شروع کنید.[۲]


با امید این که این مقاله توانسته باشد در حل مشکلات سیستم و شبکیتان به شما یاری برساند.




نویسنده: نوید عبدی (ارسال ایمیل)


[۱].آدرس سایت رسمی: www.nmap.org است.

[۲].صفحه‌ی راهنمای اصلی http://insecure.org/nmap/man


PDF Version


تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.