nmap
این دستور nmap است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
nmap - ابزار کاوش شبکه و اسکنر امنیتی / پورت
خلاصه
nmap [اسکن نوع...] [گزینه] {هدف مشخصات}
شرح
Nmap ("Network Mapper") یک ابزار منبع باز برای کاوش و امنیت شبکه است
حسابرسی این برای اسکن سریع شبکه های بزرگ طراحی شده است، اگرچه در برابر آن به خوبی عمل می کند
میزبان های مجرد Nmap از بستههای IP خام به روشهای جدید برای تعیین میزبانهای موجود استفاده میکند
در شبکه، چه خدماتی (نام و نسخه برنامه) آن میزبان ها ارائه می دهند،
چه سیستم عامل هایی (و نسخه های سیستم عامل) در حال اجرا هستند، چه نوع بسته ای
فیلترها / فایروال ها در حال استفاده هستند و ده ها ویژگی دیگر. در حالی که Nmap معمولا است
برای ممیزی های امنیتی استفاده می شود، بسیاری از سیستم ها و مدیران شبکه آن را مفید می دانند
کارهای معمولی مانند موجودی شبکه، مدیریت برنامه های ارتقاء سرویس و
نظارت بر زمان آپدیت هاست یا سرویس
خروجی Nmap لیستی از اهداف اسکن شده با اطلاعات تکمیلی در مورد هر یک است
بسته به گزینه های مورد استفاده کلیدی در میان این اطلاعات «پورت های جالب است
جدول».. آن جدول شماره پورت و پروتکل، نام سرویس و وضعیت را فهرست می کند. در
حالت یا باز، فیلتر، بسته یا بدون فیلتر است. باز کن. به این معنی است که یک برنامه
در ماشین مورد نظر در حال گوش دادن به اتصالات/بسته ها در آن پورت است. فیلتر شده. به معنای
که یک فایروال، فیلتر یا سایر موانع شبکه پورت را مسدود می کند تا Nmap
نمی توان تشخیص داد که باز است یا بسته. بسته شد. پورت ها هیچ برنامه ای برای گوش دادن ندارند
آنها را هر چند می توانستند در هر زمانی باز کنند. پورت ها به عنوان بدون فیلتر طبقه بندی می شوند. چه زمانی
آنها به پروب های Nmap پاسخ می دهند، اما Nmap نمی تواند باز بودن یا باز بودن آنها را تعیین کند
بسته Nmap ترکیبات حالت باز|فیلتر شده را گزارش می دهد. و بسته شد|فیلتر شد. هنگامی که آن را
نمی تواند تعیین کند که کدام یک از دو حالت یک پورت را توصیف می کند. جدول پورت نیز ممکن است شامل شود
جزئیات نسخه نرم افزار زمانی که تشخیص نسخه درخواست شده است. هنگامی که یک پروتکل IP
اسکن درخواست شده است (-بنابراینNmap اطلاعاتی را در مورد پروتکل های IP پشتیبانی شده به جای ارائه می دهد
پورت های گوش دادن
علاوه بر جدول پورت های جالب، Nmap می تواند اطلاعات بیشتری در مورد آن ارائه دهد
اهداف، از جمله نام های معکوس DNS، حدس های سیستم عامل، انواع دستگاه ها و MAC
آدرس.
یک اسکن Nmap معمولی در مثال 1 نشان داده شده است. تنها آرگومان های Nmap استفاده شده در این مثال
هستند -Aبرای فعال کردن سیستم عامل و تشخیص نسخه، اسکن اسکریپت و ردیابی. -T4 برای
اجرای سریعتر؛ و سپس نام میزبان.
مثال 1. A نماینده Nmap اسکن
# nmap -A -T4 scanme.nmap.org
گزارش اسکن Nmap برای scanme.nmap.org (74.207.244.221)
میزبان بالا است (تأخیر 0.029s).
رکورد rDNS برای 74.207.244.221: li86-221.members.linode.com
نشان داده نشده است: 995 پورت بسته
نسخه خدمات ایالت بندر
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (پروتکل 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp باز http Apache httpd 2.2.14 ((اوبونتو))
|_http-title: برو جلو و ScanMe!
646/tcp فیلتر ldp
1720/tcp فیلتر H.323/Q.931
9929/tcp باز کردن nping-echo Nping echo
نوع دستگاه: منظور عمومی
در حال اجرا: Linux 2.6.X
CPE سیستم عامل: cpe:/o:linux:linux_kernel:2.6.39
جزئیات سیستم عامل: Linux 2.6.39
فاصله شبکه: 11 پرش
اطلاعات سرویس: سیستم عامل: Linux; CPE: cpe:/o:linux:kernel
TRACEROUTE (با استفاده از پورت 53/tcp)
آدرس HOP RTT
[برای اختصار 10 راز اول را برش دهید]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap انجام شد: 1 آدرس IP (1 میزبان) در 14.40 ثانیه اسکن شد
جدیدترین نسخه Nmap را می توان از این سایت دریافت کرد https://nmap.org. جدیدترین نسخه از
این صفحه مرد در دسترس است https://nmap.org/book/man.html. همچنین به عنوان یک
فصل اسکن شبکه Nmap: راهنمای پروژه رسمی Nmap برای کشف شبکه و
اسکن امنیتی (نگاه کنید به https://nmap.org/book/).
OPTIONS خلاصه
این خلاصه گزینه ها زمانی چاپ می شود که Nmap بدون آرگومان و آخرین نسخه اجرا شود
همیشه در دسترس است https://svn.nmap.org/nmap/docs/nmap.usage.txt. به مردم کمک می کند
رایج ترین گزینه ها را به خاطر بسپارید، اما جایگزینی برای مستندات عمیق در داخل نیست
بقیه این راهنما برخی از گزینه های مبهم حتی در اینجا گنجانده نشده اند.
Nmap 7.01 (https://nmap.org)
استفاده: nmap [نوع(های) اسکن] [گزینهها] {مشخصات هدف}
مشخصات هدف:
می تواند نام هاست، آدرس های IP، شبکه ها و غیره را ارسال کند.
مثال: scanme.nmap.org، microsoft.com/24، 192.168.0.1؛ 10.0.0-255.1-254
-iL : ورودی از لیست میزبان/شبکه ها
-iR : اهداف تصادفی را انتخاب کنید
-- استثناء کردن : هاست/شبکه را حذف کنید
--excludefile : حذف لیست از فایل
کشف میزبان:
-sL: لیست اسکن - به سادگی فهرست اهداف برای اسکن
-sn: پینگ اسکن - اسکن پورت را غیرفعال کنید
-Pn: همه هاست ها را بصورت آنلاین در نظر بگیرید -- از کشف میزبان صرفنظر کنید
-PS/PA/PU/PY[portlist]: کشف TCP SYN/ACK، UDP یا SCTP به پورت های داده شده
-PE/PP/PM: کاوشگرهای کشف درخواست پژواک ICMP، مهر زمانی و نقاب شبکه
-PO[لیست پروتکل]: پینگ پروتکل IP
-n/-R: هرگز وضوح DNS را انجام ندهید/همیشه حل کنید [پیشفرض: گاهی اوقات]
--dns-servers : سرورهای DNS سفارشی را مشخص کنید
--system-dns: از حل کننده DNS سیستم عامل استفاده کنید
--traceroute: مسیر پرش را برای هر میزبان ردیابی کنید
تکنیک های اسکن:
-sS/sT/sA/sW/sM: اسکن TCP SYN/Connect()/ACK/Window/Maimon
-sU: اسکن UDP
-sN/sF/sX: اسکن TCP Null، FIN و Xmas
--scanflags : پرچم های اسکن TCP را سفارشی کنید
-sI : اسکن بیکار
-sY/sZ: اسکن SCTP INIT/COOKIE-ECHO
-sO: اسکن پروتکل IP
-ب : اسکن FTP bounce
مشخصات پورت و ترتیب اسکن:
-پ : فقط پورت های مشخص شده را اسکن کنید
مثال: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports : پورت های مشخص شده را از اسکن حذف کنید
-F: حالت سریع - پورت های کمتری را نسبت به اسکن پیش فرض اسکن کنید
-r: پورت ها را به طور متوالی اسکن کنید - تصادفی نکنید
--بالاترین پورت ها : اسکن رایج ترین پورت ها
--نسبت پورت : اسکن پورت ها رایج تر از
تشخیص سرویس/نسخه:
-sV: پورت های باز را برای تعیین اطلاعات سرویس/نسخه بررسی کنید
- شدت نسخه : از 0 (سبک) تا 9 تنظیم کنید (همه پروب ها را امتحان کنید)
--نسخه-نور: محدود به محتمل ترین پروب ها (شدت 2)
--version-all: هر کاوشگر را امتحان کنید (شدت 9)
--version-trace: نمایش فعالیت اسکن نسخه دقیق (برای اشکال زدایی)
اسکن اسکریپت:
-sC: معادل --script=default
--script= : یک لیست جدا شده با کاما است
دایرکتوری ها، فایل های اسکریپت یا دسته های اسکریپت
--script-args= : ارائه آرگومان به اسکریپت ها
--script-args-file=filename: ارگ های اسکریپت NSE را در یک فایل ارائه کنید
--script-trace: نمایش تمام داده های ارسالی و دریافتی
--script-updatedb: پایگاه داده اسکریپت را به روز کنید.
--script-help= : نشان دادن راهنمایی در مورد اسکریپت ها.
فهرستی از فایلهای اسکریپت یا با کاما است
اسکریپت-دسته ها
تشخیص سیستم عامل:
-O: شناسایی سیستم عامل را فعال کنید
--osscan-limit: شناسایی سیستم عامل را به اهداف امیدوارکننده محدود کنید
--osscan-guess: سیستم عامل را با شدت بیشتری حدس بزنید
زمان و عملکرد:
گزینه هایی که می گیرند در ثانیه هستند، یا "ms" (میلی ثانیه) را اضافه کنید.
's' (ثانیه)، 'm' (دقیقه)، یا 'h' (ساعت) به مقدار (مثلا 30 متر).
-T<0-5>: الگوی زمان بندی را تنظیم کنید (بالاتر سریعتر است)
--min-hostgroup/max-hostgroup : اندازه های گروه اسکن میزبان موازی
---------------------------------------------------------------------------------------------------------- : موازی سازی پروب
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout : مشخص می کند
زمان سفر رفت و برگشت کاوشگر
-- max - دوباره تلاش می کند : تعداد ارسالهای مجدد پروب اسکن پورت را درج میکند.
--host-timeout : بعد از این مدت در هدف تسلیم شوید
----تأخیر-اسکن/--حداکثر-تأخیر-اسکن : تأخیر بین پروب ها را تنظیم کنید
-- نرخ دقیقه : ارسال بسته ها کمتر از در هر ثانیه
-- حداکثر نرخ : ارسال بسته ها سریعتر از در هر ثانیه
فرار و جعل فایروال/IDS:
-f; --mtu : بسته های قطعه (به صورت اختیاری با MTU داده شده)
-دی : پوشش اسکن با طعمه ها
-س : آدرس منبع جعلی
-e : از رابط مشخص شده استفاده کنید
-g/--source-port : از شماره پورت داده شده استفاده کنید
-- پراکسی ها : اتصالات را از طریق پراکسی های HTTP/SOCKS1 رله کنید
--داده ها : یک بار سفارشی به بسته های ارسالی اضافه کنید
--data-string : یک رشته ASCII سفارشی را به بسته های ارسالی اضافه کنید
--طول داده : داده های تصادفی را به بسته های ارسالی اضافه کنید
--ip-Options : بسته ها را با گزینه های IP مشخص شده ارسال کنید
--ttl : فیلد IP time-to-live را تنظیم کنید
- جعل مک : آدرس مک خود را جعل کنید
--badsum: بسته ها را با یک جمع کنترلی جعلی TCP/UDP/SCTP ارسال کنید
خروجی:
-oN/-oX/-oS/-oG : اسکن خروجی در حالت عادی، XML، s|
و فرمت Grepable، به ترتیب، به نام فایل داده شده.
-oA : خروجی در سه فرمت اصلی به طور همزمان
-v: سطح پرحرفی را افزایش دهید (برای تأثیر بیشتر از -vv یا بیشتر استفاده کنید)
-d: سطح اشکال زدایی را افزایش دهید (برای تأثیر بیشتر از -dd یا بیشتر استفاده کنید)
--reason: دلیل قرار گرفتن یک پورت در یک وضعیت خاص را نشان می دهد
--open: فقط پورت های باز (یا احتمالاً باز) را نشان می دهد
--packet-trace: نمایش تمام بسته های ارسالی و دریافتی
--iflist: چاپ رابط ها و مسیرهای میزبان (برای اشکال زدایی)
--append-output: به جای clobber فایل های خروجی مشخص شده را اضافه کنید
--از سرگیری : یک اسکن سقط شده را از سر بگیرید
-- شیوه نامه : شیوه نامه XSL برای تبدیل خروجی XML به HTML
--webxml: شیوه نامه مرجع از Nmap.Org برای XML قابل حمل بیشتر
--no-stylesheet: جلوگیری از مرتبط شدن صفحه سبک XSL با خروجی XML
MISC:
-6: اسکن IPv6 را فعال کنید
-A: شناسایی سیستم عامل، تشخیص نسخه، اسکن اسکریپت و ردیابی را فعال کنید
--datadir : محل فایل داده Nmap سفارشی را مشخص کنید
--send-eth/--send-ip: ارسال با استفاده از فریم های اترنت خام یا بسته های IP
--privileged: فرض کنید که کاربر کاملاً دارای امتیاز است
--unprivileged: فرض کنید کاربر فاقد امتیازات سوکت خام است
-V: چاپ شماره نسخه
-h: این صفحه خلاصه راهنما را چاپ کنید.
مثال ها:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
برای گزینهها و مثالهای بیشتر به صفحه MAN (https://nmap.org/book/man.html) مراجعه کنید
هدف مشخصات
هر چیزی در خط فرمان Nmap که یک گزینه (یا آرگومان گزینه) نیست، درمان می شود
به عنوان مشخصات میزبان هدف. ساده ترین حالت این است که یک آدرس IP هدف یا
نام میزبان برای اسکن
گاهی اوقات می خواهید یک شبکه کامل از میزبان های مجاور را اسکن کنید. برای این کار، Nmap پشتیبانی می کند
به سبک CIDR. خطاب به. می توانید اضافه کنید /بی حسی ها به آدرس IPv4 یا نام میزبان و Nmap
هر آدرس IP را اسکن می کند که برای اولین بار بی حسی ها مانند مرجع هستند
IP یا نام میزبان داده شده است. به عنوان مثال، 192.168.10.0/24 256 هاست را اسکن می کند.
192.168.10.0 (باینری: 11000000 10101000 00001010 00000000) و 192.168.10.255 (دودویی:
11000000 10101000 00001010 11111111)، شامل. 192.168.10.40/24 دقیقاً اسکن می کند
همان اهداف با توجه به اینکه میزبان scanme.nmap.org. در آدرس IP 64.13.134.52 است
مشخصات scanme.nmap.org/16 65,536 آدرس IP را بین 64.13.0.0 و
64.13.255.255. کوچکترین مقدار مجاز /0 است که کل اینترنت را هدف قرار می دهد. در
بزرگترین مقدار 32/ است که فقط هاست یا آدرس IP نامگذاری شده را اسکن می کند زیرا تمام آدرس ها
بیت ها ثابت هستند
نماد CIDR کوتاه است اما همیشه به اندازه کافی انعطاف پذیر نیست. برای مثال، ممکن است بخواهید اسکن کنید
192.168.0.0/16 اما از IP هایی که با 0 یا 255 ختم می شوند صرف نظر کنید زیرا ممکن است به عنوان زیرشبکه استفاده شوند.
آدرس شبکه و پخش Nmap این را از طریق آدرس دهی محدوده هشتگانه پشتیبانی می کند. نسبتا
از تعیین یک آدرس IP معمولی، می توانید لیستی از اعداد جدا شده با کاما یا
محدوده برای هر اکتت برای مثال، 192.168.0-255.1-254 از تمام آدرس های موجود در
محدوده ای که به 0 یا 255 ختم می شود و 192.168.3-5,7.1،XNUMX چهار آدرس را اسکن می کند.
192.168.3.1، 192.168.4.1، 192.168.5.1 و 192.168.7.1. هر طرف یک محدوده ممکن است باشد
حذف شده؛ مقادیر پیش فرض 0 در سمت چپ و 255 در سمت راست هستند. استفاده از - به خودی خود است
مانند 0-255، اما به یاد داشته باشید که از 0- در اکتت اول استفاده کنید تا مشخصات هدف
به نظر نمی رسد یک گزینه خط فرمان باشد. نیازی نیست که محدوده ها به اکتت های نهایی محدود شوند:
مشخص کننده 0-255.0-255.13.37 یک اسکن در سراسر اینترنت برای تمام آدرس های IP انجام می دهد.
منتهی به 13.37. این نوع نمونه گیری گسترده می تواند برای نظرسنجی های اینترنتی مفید باشد
پژوهش.
آدرس های IPv6 را فقط می توان با آدرس IPv6 یا نام میزبان کاملاً واجد شرایط آنها مشخص کرد.
محدودههای CIDR و octet هنوز برای IPv6 پشتیبانی نمیشوند.
آدرس های IPv6 با دامنه غیر جهانی باید پسوند Zone ID داشته باشند. در سیستم های یونیکس، این
یک علامت درصد است که با نام رابط همراه است. یک آدرس کامل ممکن است باشد
fe80::a8bb:ccff:fedd:eeff%eth0. در ویندوز، به جای یک از یک عدد شاخص رابط استفاده کنید
نام رابط: fe80::a8bb:ccff:fedd:eeff%1. شما می توانید لیستی از شاخص های رابط را مشاهده کنید
اجرای فرمان netsh.exe رابط ipv6 نشان رابط.
Nmap چندین مشخصات میزبان را در خط فرمان میپذیرد و نیازی به این کار نیست
همان نوع دستور nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3،7،XNUMX-XNUMX.- کاری را انجام می دهد که شما
انتظار داشت
در حالی که اهداف معمولاً در خطوط فرمان مشخص می شوند، گزینه های زیر نیز هستند
برای کنترل انتخاب هدف در دسترس است:
-iL نام فایل ورودی (ورودی از لیست) .
مشخصات هدف را از نام فایل ورودی. عبور از یک لیست بزرگ از میزبان اغلب است
در خط فرمان ناخوشایند است، اما یک میل رایج است. به عنوان مثال، سرور DHCP شما
ممکن است فهرستی از 10,000 اجاره نامه فعلی را که می خواهید اسکن کنید صادر کنید. یا شاید شما بخواهید
برای اسکن تمام آدرس های IP جز برای کسانی که می توانند هاست ها را با استفاده از IP استاتیک غیرمجاز پیدا کنند
آدرس ها. به سادگی لیستی از میزبان ها را برای اسکن ایجاد کنید و نام فایل را به Nmap به عنوان ارسال کنید
استدلالی برای -iL گزینه. ورودی ها می توانند در هر یک از قالب های پذیرفته شده توسط Nmap باشند
در خط فرمان (آدرس IP، نام میزبان، CIDR، IPv6، یا محدوده های octet). هر ورودی
باید با یک یا چند فاصله، برگه یا خط جدید از هم جدا شوند. می توانید خط فاصله را مشخص کنید
(-) به عنوان نام فایل اگر می خواهید Nmap هاست ها را از ورودی استاندارد بخواند نه از یک
فایل واقعی
فایل ورودی ممکن است حاوی نظراتی باشد که با # شروع می شوند و تا انتهای آن ادامه می یابند
خط.
-iR تعداد میزبان (اهداف تصادفی را انتخاب کنید).
برای نظرسنجی های سراسر اینترنت و سایر تحقیقات، ممکن است بخواهید اهدافی را انتخاب کنید
تصادفی. در تعداد میزبان آرگومان به Nmap می گوید که چند IP تولید کند. آی پی های نامطلوب
مانند آنهایی که در محدوده های آدرس خصوصی، چندپخشی یا تخصیص نیافته خاص هستند
به طور خودکار رد شد آرگومان 0 را می توان برای یک اسکن بی پایان مشخص کرد. نگاه داشتن
در نظر داشته باشید که برخی از مدیران شبکه در اسکنهای غیرمجاز از آنها سر میزنند
شبکه ها و ممکن است شکایت کنند. از این گزینه با مسئولیت خود استفاده کنید! اگر خودت را پیدا کنی
یک بعدازظهر بارانی واقعا خسته شدم، دستور را امتحان کنید nmap -پن -H.H -p 80 -iR 0 --باز کن. به
قرار دادن وب سرورهای تصادفی برای مرور
-- استثناء کردن host1[,host2[،...]] (بدون میزبان/شبکه) .
فهرستی از اهداف جدا شده با کاما را مشخص می کند تا از اسکن حذف شوند، حتی اگر آنها
بخشی از محدوده کلی شبکه ای هستند که شما مشخص می کنید. لیستی که در آن پاس می کنید از نرمال استفاده می کند
نحو Nmap، بنابراین میتواند شامل نامهای میزبان، بلوکهای شبکه CIDR، محدودههای هشتگانه و غیره باشد.
زمانی مفید باشد که شبکه ای که می خواهید اسکن کنید شامل ماموریت حیاتی غیر قابل لمس باشد
سرورها، سیستم هایی که به اسکن پورت ها یا زیرشبکه ها واکنش منفی نشان می دهند
توسط افراد دیگر اداره می شود.
--excludefile exclude_file (فهرست را از فایل حذف کنید).
این همان عملکرد را ارائه می دهد -- استثناء کردن گزینه، با این تفاوت که حذف شده است
اهداف در خط جدید، فاصله، یا برگه جدا شده ارائه می شوند exclude_file به جای
در خط فرمان
فایل exclude ممکن است حاوی نظراتی باشد که با # شروع میشوند و تا انتهای آن ادامه مییابند
خط.
HOST کشف
یکی از اولین گامها در هر مأموریت شناسایی شبکه، کاهش a
مجموعه ای از IP (گاهی اوقات عظیم) در لیستی از میزبان های فعال یا جالب قرار می گیرد. اسکن کردن
هر پورت از هر آدرس IP کند است و معمولاً غیر ضروری است. البته چی
جالب کردن هاست تا حد زیادی به اهداف اسکن بستگی دارد. مدیران شبکه ممکن است
فقط به میزبان هایی که سرویس خاصی را اجرا می کنند علاقه مند هستند، در حالی که حسابرسان امنیتی ممکن است به آن اهمیت دهند
در مورد هر دستگاه با یک آدرس IP. ممکن است یک مدیر استفاده راحت باشد
فقط یک پینگ ICMP برای تعیین مکان میزبان ها در شبکه داخلی خود، در حالی که یک نفوذ خارجی
تستر ممکن است از مجموعه متنوعی از ده ها پروب در تلاش برای فرار از دیوار آتش استفاده کند
محدودیت های.
از آنجایی که نیازهای کشف میزبان بسیار متنوع است، Nmap گزینه های متنوعی را برای آن ها ارائه می دهد
سفارشی کردن تکنیک های مورد استفاده کشف میزبان گاهی اوقات اسکن پینگ نامیده می شود، اما انجام می شود
فراتر از بسته های درخواست اکو ساده ICMP مرتبط با ابزار ping همه جا حاضر.
کاربران می توانند با اسکن لیست، مرحله پینگ را به طور کامل رد کنند (-sL) یا با غیرفعال کردن پینگ (-پن),
یا شبکه را با ترکیبات دلخواه از TCP SYN/ACK، UDP، SCTP چند پورت درگیر کنید
پروب های INIT و ICMP. هدف این کاوشگرها درخواست پاسخ هایی است که نشان می دهد
که یک آدرس IP در واقع فعال است (در حال استفاده توسط یک میزبان یا دستگاه شبکه). روی بسیاری
در شبکهها، تنها درصد کمی از آدرسهای IP در هر لحظه فعال هستند. این هست
به ویژه در فضای آدرس خصوصی مانند 10.0.0.0/8 رایج است. آن شبکه 16 دارد
میلیون آی پی، اما من دیده ام که توسط شرکت هایی با کمتر از هزار دستگاه استفاده شده است. میزبان
کشف میتواند آن ماشینها را در دریای پراکنده آدرسهای IP پیدا کند.
اگر هیچ گزینه ای برای کشف میزبان داده نشود، Nmap یک درخواست اکو ICMP، یک بسته TCP SYN ارسال می کند.
به پورت 443، یک بسته TCP ACK به پورت 80 و یک درخواست مهر زمانی ICMP. (برای IPv6،
درخواست مهر زمانی ICMP حذف شده است زیرا بخشی از ICMPv6 نیست.) این پیش فرض ها هستند
معادل -پلی اتیلن -PS443 -PA80 -PP گزینه ها. استثناهای این مورد، ARP (برای
IPv4) و Neighbor Discovery. (برای IPv6) اسکن هایی که برای هر هدفی در محلی استفاده می شود
شبکه اترنت برای کاربران پوسته یونیکس غیرمجاز، پروب های پیش فرض یک بسته SYN هستند
به پورت های 80 و 443 با استفاده از اتصال تماس سیستم.. این کشف میزبان اغلب است
هنگام اسکن شبکه های محلی کافی است، اما مجموعه ای جامع تر از کاوشگرهای کشف
برای ممیزی امنیتی توصیه می شود.
La -پ* گزینه ها (که انواع پینگ را انتخاب می کنند) را می توان ترکیب کرد. شما می توانید شانس خود را افزایش دهید
نفوذ به فایروال های سخت با ارسال انواع کاوشگر با استفاده از پورت ها/پرچم های مختلف TCP
و کدهای ICMP همچنین توجه داشته باشید که ARP/Neighbor Discovery (- روابط عمومی). به صورت پیش فرض در مقابل انجام می شود
در یک شبکه اترنت محلی هدف گذاری می کند حتی اگر شبکه دیگری را مشخص کنید -پ* گزینه ها، زیرا اینطور است
تقریباً همیشه سریعتر و مؤثرتر است.
بهطور پیشفرض، Nmap کشف میزبان را انجام میدهد و سپس یک پورت را در برابر هر میزبان آن اسکن میکند
تعیین می کند آنلاین است. این درست است حتی اگر انواع غیرپیشفرض کشف میزبان را مشخص کنید
مانند پروب های UDP (-PU). در مورد را بخوانید -sn گزینه ای برای یادگیری نحوه اجرای فقط میزبان
کشف یا استفاده -پن برای رد شدن از کشف میزبان و اسکن پورت همه میزبان های هدف. به شرح زیر
گزینه ها کشف میزبان را کنترل می کنند:
-sL (فهرست اسکن) .
اسکن لیست یک شکل منحط از کشف میزبان است که به سادگی هر میزبان را فهرست می کند
شبکه(های) مشخص شده، بدون ارسال هیچ بسته ای به میزبان هدف. به صورت پیش فرض،
Nmap همچنان وضوح DNS معکوس را روی هاست ها انجام می دهد تا نام آنها را یاد بگیرد. اغلب
جای تعجب است که نام های میزبان ساده چقدر اطلاعات مفیدی ارائه می دهند. مثلا fw.chi
نام فایروال شیکاگو یک شرکت است. Nmap همچنین تعداد کل را گزارش می کند
آدرس های IP در پایان اسکن لیست یک بررسی سلامت عقل خوبی برای اطمینان از اینکه شما انجام داده اید است
آدرس های IP مناسب برای اهداف شما اگر میزبان نام دامنه ورزشی شما نیست
بدانید، برای جلوگیری از اسکن شرکت اشتباه، ارزش بررسی بیشتر را دارد
شبکه می باشد.
از آنجایی که ایده این است که به سادگی فهرستی از میزبان های هدف را چاپ کنید، گزینه هایی برای سطح بالاتر
عملکردهایی مانند اسکن پورت، تشخیص سیستم عامل یا اسکن پینگ را نمی توان با هم ترکیب کرد
با این. اگر میخواهید اسکن پینگ را غیرفعال کنید، در حالی که همچنان چنین بالاتری را انجام میدهید
عملکرد سطح، در ادامه مطلب بخوانید -پن گزینه (پرش پینگ).
-sn (بدون اسکن پورت).
این گزینه به Nmap می گوید که پس از کشف هاست اسکن پورت را انجام ندهد و فقط پرینت بگیرد
میزبان های موجود که به کاوشگرهای کشف میزبان پاسخ دادند. این اغلب شناخته شده است
به عنوان "پینگ اسکن"، اما شما همچنین می توانید درخواست کنید که اسکریپت میزبان traceroute و NSE باشد
اجرا کن. این به طور پیش فرض یک مرحله بیشتر از اسکن لیست مزاحم است و اغلب می تواند باشد
برای اهداف مشابه استفاده می شود. این اجازه می دهد تا شناسایی نور از یک شبکه هدف بدون
جلب توجه بسیار دانستن تعداد میزبان ها برای مهاجمان ارزشمندتر است
از لیست ارائه شده توسط لیست اسکن هر IP و نام میزبان.
مدیران سیستم اغلب این گزینه را نیز ارزشمند می دانند. به راحتی می توان از آن استفاده کرد
برای شمارش ماشین های موجود در شبکه یا نظارت بر در دسترس بودن سرور. این اغلب است
پینگ جاروب نامیده می شود و قابل اعتمادتر از پینگ آدرس پخش است زیرا
بسیاری از میزبان ها به درخواست های پخش پاسخ نمی دهند.
کشف میزبان پیش فرض با انجام شد -sn شامل یک درخواست اکو ICMP، TCP SYN به
پورت 443، TCP ACK به پورت 80 و درخواست مهر زمانی ICMP به طور پیش فرض. هنگام اجرا
توسط یک کاربر غیرمجاز، فقط بسته های SYN ارسال می شود (با استفاده از a اتصال تماس) به پورت 80
و 443 روی هدف. هنگامی که یک کاربر ممتاز سعی می کند اهداف را در محلی اسکن کند
شبکه اترنت، درخواست های ARP استفاده می شود مگر اینکه --send-ip مشخص شد. در -sn انتخاب
را می توان با هر یک از انواع کاوشگر اکتشافی ترکیب کرد -پ* گزینه ها، به استثنای -پن)
برای انعطاف بیشتر اگر هر یک از آن گزینههای نوع پروب و شماره پورت استفاده میشود،
پروب های پیش فرض لغو می شوند. هنگامی که فایروال های سختگیرانه ای بین
میزبان منبع در حال اجرا Nmap و شبکه هدف، با استفاده از آن تکنیک های پیشرفته است
توصیه شده. در غیر این صورت، هنگامی که فایروال پروب ها یا آنها را رها می کند، میزبان ها از دست می روند
پاسخ.
در نسخه های قبلی Nmap، -sn به عنوان شناخته شده بود -sP..
-پن (بدون پینگ).
این گزینه مرحله کشف Nmap را به طور کلی رد می کند. به طور معمول، Nmap از این مرحله استفاده می کند
برای تعیین ماشین های فعال برای اسکن سنگین تر. به طور پیش فرض، Nmap فقط اجرا می شود
کاوش های سنگین مانند اسکن پورت، تشخیص نسخه، یا تشخیص سیستم عامل در برابر میزبان
که پیدا شده است. غیرفعال کردن کشف میزبان با -پن باعث می شود Nmap تلاش کند
درخواست توابع اسکن در برابر هر آدرس IP هدف مشخص شده است. بنابراین اگر یک کلاس
B فضای آدرس هدف (/16) در خط فرمان مشخص شده است، همه 65,536 آدرس IP
اسکن می شوند. کشف میزبان مناسب مانند اسکن لیست نادیده گرفته می شود، اما به جای آن
با توقف و چاپ لیست هدف، Nmap به انجام عملکردهای درخواستی ادامه می دهد
انگار هر IP هدف فعال است. برای رد شدن از اسکن پینگ و پورت اسکن، در حالی که هنوز اجازه می دهد
NSE برای اجرا، از دو گزینه استفاده کنید -پن -sn با هم.
برای ماشینهای موجود در شبکه اترنت محلی، اسکن ARP همچنان انجام میشود (مگر اینکه
- غیرفعال کردن-arp-ping or --send-ip مشخص شده است) زیرا Nmap به آدرس های MAC نیاز دارد
اسکن بیشتر میزبان های هدف در نسخه های قبلی Nmap، -پن بود -P0است. و -پ.ن..
-PS بندر فهرست (پینگ TCP SYN) .
این گزینه یک بسته TCP خالی با مجموعه پرچم SYN ارسال می کند. مقصد پیش فرض
پورت 80 است (در زمان کامپایل با تغییر قابل تنظیم است DEFAULT_TCP_PROBE_PORT_SPEC. به
nmap.h).. پورت های جایگزین را می توان به عنوان یک پارامتر مشخص کرد. نحو همان است
برای -p به جز اینکه مشخص کننده های نوع پورت مانند T: مجاز نیستند. نمونه ها هستند
-PS22 و -PS22-25,80,113,1050,35000. توجه داشته باشید که هیچ فاصله ای بین آنها وجود ندارد -PS و
لیست پورت اگر چندین پروب مشخص شده باشد، به صورت موازی ارسال می شوند.
پرچم SYN به سیستم راه دور نشان می دهد که در حال تلاش برای ایجاد a هستید
ارتباط. به طور معمول پورت مقصد بسته خواهد شد و یک بسته RST (بازنشانی) خواهد بود
پس فرستاده شد اگر پورت باز باشد، هدف مرحله دوم a را برمی دارد
دست دادن سه طرفه TCP. با پاسخ دادن با یک بسته TCP SYN/ACK. ماشین در حال اجرا
سپس Nmap با پاسخ دادن به RST به جای پاسخ دادن، اتصال نوپای را از بین می برد
ارسال یک بسته ACK که دست دادن سه طرفه را کامل می کند و a را ایجاد می کند
اتصال کامل بسته RST توسط هسته ماشینی که Nmap را در آن اجرا می کند ارسال می شود
پاسخ به SYN/ACK غیرمنتظره، نه توسط Nmap.
Nmap برای باز یا بسته بودن پورت مهم نیست. RST یا SYN/ACK
پاسخی که قبلا بحث شد به Nmap بگویید که میزبان در دسترس و پاسخگو است.
در جعبه های یونیکس، فقط کاربر ممتاز ریشه دارد. به طور کلی قادر به ارسال و دریافت است
بسته های TCP خام.. برای کاربران غیرمجاز، یک راه حل به طور خودکار استفاده می شود.
به موجب آن اتصال فراخوانی سیستم در برابر هر پورت هدف آغاز می شود. این را دارد
اثر ارسال یک بسته SYN به میزبان هدف، در تلاش برای ایجاد یک
ارتباط. اگر اتصال با یک موفقیت سریع یا یک شکست ECONNREFUSED باز می گردد
پشته TCP زیرین باید یک SYN/ACK یا RST دریافت کرده باشد و میزبان علامت گذاری شده باشد
در دسترس. اگر تلاش برای اتصال تا رسیدن به مهلت معلق باقی بماند،
میزبان به عنوان پایین علامت گذاری شده است.
-پا بندر فهرست (پینگ TCP ACK) .
پینگ TCP ACK کاملاً شبیه پینگ SYN است که به تازگی در مورد آن بحث شده است. تفاوت، به عنوان
احتمالاً می توانید حدس بزنید، این است که پرچم TCP ACK به جای پرچم SYN تنظیم شده است. چنین
یک بسته ACK به نظر می رسد که داده ها را از طریق یک اتصال TCP ایجاد شده تأیید می کند.
اما چنین ارتباطی وجود ندارد. بنابراین هاست های راه دور همیشه باید با RST پاسخ دهند
بسته، وجود آنها را در این فرآیند آشکار می کند.
La -پا گزینه از همان پورت پیش فرض پروب SYN (80) استفاده می کند و همچنین می تواند یک را بگیرد
لیست پورت های مقصد در قالب یکسان. اگر یک کاربر غیرمجاز این را امتحان کند،
اتصال راه حلی که قبلا مورد بحث قرار گرفت استفاده می شود. این راه حل ناقص است زیرا
اتصال در واقع یک بسته SYN به جای ACK ارسال می کند.
دلیل ارائه هر دو پروب پینگ SYN و ACK به حداکثر رساندن شانس است
دور زدن فایروال ها بسیاری از مدیران روترها و سایر فایروال های ساده را پیکربندی می کنند
برای مسدود کردن بسته های SYN ورودی به جز بسته هایی که برای خدمات عمومی مانند
وب سایت شرکت یا سرور ایمیل. این مانع از اتصالات ورودی دیگر به
سازمان، در حالی که به کاربران این امکان را می دهد تا ارتباط خروجی بدون مانع با آن برقرار کنند
اینترنت. این رویکرد غیر حالتی منابع کمی را در فایروال/روتر و
به طور گسترده توسط فیلترهای سخت افزاری و نرم افزاری پشتیبانی می شود. نت فیلتر/iptables لینوکس.
نرم افزار فایروال ارائه می دهد -- syn گزینه راحتی برای اجرای این بدون تابعیت
رویکرد. هنگامی که قوانین فایروال بدون حالت مانند این وجود دارد، SYN پینگ را بررسی می کند
(-PS) به احتمال زیاد هنگام ارسال به پورت های هدف بسته مسدود می شوند. در چنین مواردی،
کاوشگر ACK همانطور که درست از این قوانین عبور می کند می درخشد.
نوع رایج دیگری از فایروال از قوانین حالتی استفاده می کند که بسته های غیرمنتظره را رها می کند. این
این ویژگی در ابتدا بیشتر در فایروال های سطح بالا یافت می شد، اگرچه بسیار زیاد شده است
در طول سال ها رایج تر است. سیستم Netfilter/iptables لینوکس از این طریق پشتیبانی می کند
la --دولت گزینه ای که بسته ها را بر اساس وضعیت اتصال دسته بندی می کند. یک کاوشگر SYN
به احتمال زیاد علیه چنین سیستمی کار می کند، زیرا بسته های غیرمنتظره ACK عموما هستند
به عنوان جعلی شناخته شد و رها شد. یک راه حل برای این مشکل ارسال هر دو SYN و
پروب ACK با مشخص کردن -PS و -پا.
-PU بندر فهرست (پینگ UDP).
یکی دیگر از گزینه های کشف میزبان، پینگ UDP است که یک بسته UDP را به داده شده ارسال می کند
پورت ها برای اکثر پورت ها، بسته خالی خواهد بود، اگرچه برخی از آنها از پروتکل خاص استفاده می کنند
محموله ای که احتمال بیشتری برای ایجاد پاسخ دارد. پایگاه داده payload توضیح داده شده است
at https://nmap.org/book/nmap-payloads.html.. --داده ها, --data-stringو
--طول داده گزینه.
لیست پورت ها همان قالبی است که قبلاً مورد بحث قرار گرفت -PS و -پا
گزینه ها. اگر هیچ پورتی مشخص نشده باشد، پیشفرض 40125 است. این پیشفرض میتواند باشد
در زمان کامپایل با تغییر پیکربندی می شود DEFAULT_UDP_PROBE_PORT_SPEC. در nmap.h.. A
پورت بسیار غیر معمول به طور پیش فرض استفاده می شود زیرا ارسال به پورت های باز اغلب انجام می شود
برای این نوع اسکن خاص نامطلوب است.
به محض برخورد با یک پورت بسته در ماشین هدف، پروب UDP باید یک ICMP را ایجاد کند
در ازای بسته غیرقابل دسترسی پورت کنید. این به Nmap نشان می دهد که دستگاه روشن است و
در دسترس. بسیاری از انواع دیگر خطاهای ICMP، مانند موارد غیرقابل دسترس میزبان/شبکه یا TTL
بیش از حد نشان دهنده یک میزبان از کار افتاده یا غیرقابل دسترسی است. عدم پاسخگویی نیز وجود دارد
این گونه تفسیر کرد. اگر به یک پورت باز دسترسی پیدا کنید، اکثر سرویس ها به سادگی آن را نادیده می گیرند
بسته را خالی کنید و هیچ پاسخی را برگردانید. به همین دلیل است که پورت پروب پیش فرض است
40125، که استفاده از آن بسیار بعید است. چند سرویس مانند کاراکتر
پروتکل ژنراتور (شارژ)، به یک بسته خالی UDP پاسخ می دهد و در نتیجه فاش می کند
به Nmap که دستگاه در دسترس است.
مزیت اصلی این نوع اسکن این است که فایروال ها را دور زده و آن ها را فیلتر می کند
فقط TCP صفحه نمایش به عنوان مثال، من زمانی صاحب یک باند پهن بی سیم Linksys BEFW11S4 بودم
روتر. رابط خارجی این دستگاه به طور پیش فرض تمامی پورت های TCP را فیلتر می کرد، اما
پروبهای UDP همچنان پیامهای غیرقابل دسترس پورت را ایجاد میکنند و در نتیجه دستگاه را از دست میدهند.
-PY بندر فهرست (پینگ SCTP INIT) .
این گزینه یک بسته SCTP حاوی حداقل یک قطعه INIT ارسال می کند. به طور پیش فرض
پورت مقصد 80 است (در زمان کامپایل با تغییر قابل تنظیم است
DEFAULT_SCTP_PROBE_PORT_SPEC. در nmap.h). پورت های جایگزین را می توان به صورت a مشخص کرد
پارامتر. نحو همان است که برای -p به جز اینکه مشخص کننده های نوع پورت مانند
س: مجاز نیستند. نمونه ها هستند -PY22 و -PY22,80,179,5060. توجه داشته باشید که می تواند وجود داشته باشد
بدون فاصله بین -PY و لیست پورت اگر کاوشگرهای متعدد مشخص شوند، خواهند بود
به صورت موازی ارسال می شود.
قطعه INIT به سیستم راه دور نشان می دهد که شما در تلاش برای ایجاد یک
اتحادیه. به طور معمول درگاه مقصد بسته خواهد شد و یک قطعه ABORT بسته خواهد شد
پس فرستاده شد اگر پورت باز باشد، هدف مرحله دوم یک را برمی دارد
SCTP چهار طرفه دست دادن. با پاسخ دادن با یک قطعه INIT-ACK. اگر دستگاه در حال کار است
Nmap دارای یک پشته SCTP کاربردی است، سپس ارتباط نوپا را از بین می برد
پاسخ دادن با یک قطعه ABORT به جای ارسال یک قطعه COOKIE-ECHO که می تواند باشد
مرحله بعدی در دست دادن چهار طرفه. بسته ABORT توسط هسته از ارسال می شود
ماشینی که Nmap را در پاسخ به INIT-ACK غیرمنتظره اجرا می کند، نه توسط Nmap.
Nmap برای باز یا بسته بودن پورت مهم نیست. یا ABORT یا INIT-ACK
پاسخی که قبلا بحث شد به Nmap بگویید که میزبان در دسترس و پاسخگو است.
در جعبه های یونیکس، فقط کاربر ممتاز ریشه دارد. به طور کلی قادر به ارسال و دریافت است
بسته های خام SCTP.. استفاده از پینگ SCTP INIT در حال حاضر برای افراد غیرمجاز امکان پذیر نیست.
کاربران..
-پلی اتیلن; -PP; -PM (انواع پینگ ICMP) .
علاوه بر انواع غیر معمول کشف میزبان TCP، UDP و SCTP مورد بحث قرار گرفت
قبلاً Nmap میتواند بستههای استاندارد ارسال شده توسط برنامه پینگ همه جا را ارسال کند.
Nmap بسته ICMP نوع 8 (درخواست پژواک) را به آدرس های IP مورد نظر ارسال می کند.
یک نوع 0 (پاسخ اکو) در ازای میزبان های موجود. متاسفانه برای شبکه
کاوشگرها، بسیاری از هاست ها و فایروال ها اکنون این بسته ها را مسدود می کنند، نه اینکه به عنوان پاسخ دهند
مورد نیاز RFC 1122[2].. به همین دلیل، اسکن های فقط ICMP به ندرت به اندازه کافی قابل اعتماد هستند
در برابر اهداف ناشناخته از طریق اینترنت. اما برای مدیران سیستم نظارت بر یک
شبکه داخلی، می توانند رویکردی کاربردی و کارآمد باشند. استفاده کنید -پلی اتیلن انتخاب
برای فعال کردن این رفتار درخواست اکو.
در حالی که درخواست اکو یک پرس و جو پینگ استاندارد ICMP است، Nmap در اینجا متوقف نمی شود. ICMP
استانداردها (RFC 792[3]. و RFC 950[4]. ) همچنین درخواست مهر زمانی، اطلاعات را مشخص کنید
بسته های درخواستی درخواست و آدرس آدرس به ترتیب با کدهای 13، 15 و 17. در حالی که
هدف ظاهری این پرس و جوها یادگیری اطلاعاتی مانند ماسک آدرس است
و زمان فعلی، آنها به راحتی می توانند برای کشف میزبان استفاده شوند. سیستمی که پاسخ می دهد
آماده و در دسترس است. Nmap در حال حاضر بسته های درخواست اطلاعات را پیاده سازی نمی کند
آنها به طور گسترده مورد حمایت قرار نمی گیرند. RFC 1122 اصرار دارد که «یک میزبان نباید پیادهسازی شود
این پیام ها». پرس و جوهای مهر زمان و ماسک آدرس را می توان با ارسال کرد -PP و -PM
به ترتیب گزینه ها پاسخ مهر زمانی (کد ICMP 14) یا پاسخ ماسک آدرس (کد
18) فاش می کند که میزبان در دسترس است. این دو پرس و جو زمانی می توانند ارزشمند باشند
مدیران به طور خاص بسته های درخواست اکو را مسدود می کنند در حالی که بسته های دیگر را فراموش می کنند
از پرس و جوهای ICMP می توان برای همین منظور استفاده کرد.
-PO پروتکل فهرست (پینگ پروتکل IP) .
یکی از گزینه های جدیدتر کشف میزبان، پینگ پروتکل IP است که IP را ارسال می کند
بسته هایی با شماره پروتکل مشخص شده در هدر IP آنها تنظیم شده است. لیست پروتکل
همان فرمت لیست پورت ها را در TCP، UDP و SCTP که قبلاً مورد بحث قرار گرفته بود، می گیرد
گزینه های کشف میزبان اگر هیچ پروتکلی مشخص نشده باشد، پیش فرض ارسال چندگانه است
بسته های IP برای ICMP (پروتکل 1)، IGMP (پروتکل 2) و IP-in-IP (پروتکل 4). را
پروتکل های پیش فرض را می توان در زمان کامپایل با تغییر پیکربندی کرد
DEFAULT_PROTO_PROBE_PORT_SPEC. در nmap.h. توجه داشته باشید که برای ICMP، IGMP، TCP (پروتکل
6)، UDP (پروتکل 17) و SCTP (پروتکل 132)، بسته ها با مناسب ارسال می شوند.
هدرهای پروتکل در حالی که سایر پروتکل ها بدون هیچ داده اضافی فراتر از آن ارسال می شوند
هدر IP (مگر اینکه یکی از --داده ها, --data-string، یا --طول داده گزینه ها هستند
مشخص شده).
این روش کشف میزبان هر یک از پاسخ ها را با استفاده از همان پروتکل a جستجو می کند
probe یا پیام های غیرقابل دسترسی پروتکل ICMP که نشان دهنده پروتکل داده شده است
در میزبان مقصد پشتیبانی نمی شود. هر یک از انواع پاسخ نشان می دهد که
میزبان هدف زنده است
- روابط عمومی (ARP Ping) .
یکی از رایج ترین سناریوهای استفاده از Nmap، اسکن شبکه اترنت است. در اکثر شبکه های محلی،
به خصوص آنهایی که از محدوده آدرس خصوصی مشخص شده توسط RFC 1918[5]، وسیع
اکثر آدرس های IP در هر زمان معینی استفاده نمی شوند. وقتی Nmap سعی می کند یک خام ارسال کند
بسته IP مانند درخواست اکو ICMP، سیستم عامل باید تعیین کند
آدرس سخت افزار مقصد (ARP) مربوط به IP هدف است تا بتواند
فریم اترنت را به درستی آدرس دهی کنید. این اغلب کند و مشکل ساز است، زیرا
سیستم عامل ها با این توقع نوشته نشده اند که باید انجام دهند
میلیون ها درخواست ARP علیه هاست های غیرقابل دسترس در مدت زمان کوتاهی.
اسکن ARP Nmap و الگوریتم های بهینه شده آن را مسئول درخواست های ARP قرار می دهد. و اگر آن را
پاسخ دریافت می کند، Nmap حتی نیازی به نگرانی در مورد بسته های پینگ مبتنی بر IP ندارد
از آنجایی که از قبل میداند میزبان آماده است. این امر اسکن ARP را بسیار سریعتر و بیشتر می کند
قابل اعتماد نسبت به اسکن های مبتنی بر IP. بنابراین هنگام اسکن هاست های اترنت به طور پیش فرض انجام می شود
که Nmap تشخیص می دهد در یک شبکه اترنت محلی هستند. حتی اگر انواع پینگ های مختلف (مانند
as -پلی اتیلن or -PS) مشخص شده اند، Nmap به جای هر یک از اهدافی که هستند از ARP استفاده می کند
در همان LAN اگر مطلقاً نمی خواهید اسکن ARP انجام دهید، آن را مشخص کنید
- غیرفعال کردن-arp-ping.
برای IPv6 (گزینه -6)، - روابط عمومی به جای ARP از ICMPv6 Neighbor Discovery استفاده می کند. همسایه
Discovery که در RFC 4861 تعریف شده است، می تواند به عنوان معادل IPv6 ARP دیده شود.
- غیرفعال کردن-arp-ping (بدون پینگ ARP یا ND) .
Nmap معمولاً ARP یا IPv6 Neighbor Discovery (ND) مربوط به اتصال محلی را کشف می کند
هاست های اترنت، حتی اگر سایر گزینه های کشف میزبان مانند -پن or -پلی اتیلن استفاده می شود. به
این رفتار ضمنی را غیرفعال کنید، از - غیرفعال کردن-arp-ping گزینه.
رفتار پیشفرض معمولاً سریعتر است، اما این گزینه در شبکههایی که استفاده میکنند مفید است
پروکسی ARP، که در آن یک روتر به طور فرضی به تمام درخواست های ARP پاسخ می دهد و هر
به نظر می رسد هدف با توجه به اسکن ARP بالا است.
-- ردیاب (ردیابی مسیر به میزبان) .
Traceroutes پس از اسکن با استفاده از اطلاعات از نتایج اسکن به انجام می شود
پورت و پروتکل را تعیین کنید که به احتمال زیاد به هدف می رسد. با همه کار میکنه
انواع اسکن به جز اسکن های اتصال (-sT) و اسکن بیکار (-sI). همه ردیابی ها از Nmap استفاده می کنند
مدل زمان بندی پویا و به صورت موازی انجام می شود.
Traceroute با ارسال بسته هایی با TTL پایین (زمان تا زندگی) در تلاش برای
پیام های بیش از حد ICMP را از پرش های میانی بین اسکنر و اسکنر استخراج کنید
میزبان هدف پیاده سازی traceroute استاندارد با TTL 1 و افزایش شروع می شود
TTL تا رسیدن به میزبان مقصد. Traceroute Nmap با یک بالا شروع می شود
TTL و سپس TTL را کاهش می دهد تا به صفر برسد. انجام آن به عقب به Nmap اجازه می دهد
از الگوریتمهای کش هوشمند برای سرعت بخشیدن به ردیابی روی چندین میزبان استفاده کنید. به طور متوسط
Nmap بسته به شرایط شبکه، 5 تا 10 بسته کمتر برای هر میزبان ارسال می کند. اگر مجرد
زیر شبکه در حال اسکن است (یعنی 192.168.0.0/24) Nmap ممکن است فقط دو بسته ارسال کند
به اکثر میزبان ها
-n (بدون وضوح DNS).
به Nmap می گوید هرگز رزولوشن DNS را روی آدرس های IP فعالی که پیدا می کند معکوس کنید.
از آنجایی که DNS حتی با حل کننده خرد موازی داخلی Nmap می تواند کند باشد، این گزینه
می تواند زمان اسکن را کاهش دهد.
-R (رزولوشن DNS برای همه اهداف) .
به Nmap می گوید همیشه رزولوشن DNS معکوس را در آدرس های IP هدف انجام دهید. به طور معمول
DNS معکوس فقط در برابر هاست های پاسخگو (آنلاین) انجام می شود.
-system-dns (از سیستم حل کننده DNS استفاده کنید).
به طور پیشفرض، Nmap آدرسهای IP را با ارسال درخواستها به طور مستقیم به سرورهای نام حل میکند
روی هاست شما پیکربندی شده و سپس در حال گوش دادن به پاسخ است. درخواست های زیاد (اغلب ده ها)
به طور موازی برای بهبود عملکرد انجام می شود. برای استفاده از خود این گزینه را مشخص کنید
حل کننده سیستم در عوض (یک IP در هر زمان از طریق getnameinfo زنگ زدن). این کندتر است
و به ندرت مفید است مگر اینکه اشکالی در حل کننده موازی Nmap پیدا کنید (لطفاً به ما اجازه دهید
بدانید اگر دارید). حل کننده سیستم همیشه برای اسکن IPv6 استفاده می شود.
--dns-servers سرور 1[,سرور 2[،...]] (سرورهایی برای استفاده برای جستارهای معکوس DNS) .
به طور پیش فرض، Nmap سرورهای DNS شما را (برای وضوح rDNS) از شما تعیین می کند
فایل resolv.conf (یونیکس) یا رجیستری (Win32). به طور متناوب، می توانید از این استفاده کنید
گزینه ای برای تعیین سرورهای جایگزین. اگر از این گزینه استفاده می کنید استفاده نمی شود
-system-dns یا اسکن IPv6. استفاده از چندین سرور DNS اغلب سریعتر است، به خصوص
اگر سرورهای معتبری را برای فضای IP مورد نظر خود انتخاب کنید. این گزینه نیز می تواند
پنهان کاری را بهبود بخشید، زیرا درخواست های شما تقریباً از هر DNS بازگشتی قابل برگشت است
سرور در اینترنت
این گزینه هنگام اسکن شبکه های خصوصی نیز مفید است. گاهی اوقات فقط تعداد کمی
سرورهای نام اطلاعات rDNS مناسبی را ارائه می دهند و شما حتی ممکن است ندانید کجا هستند
هستند. می توانید شبکه را برای پورت 53 اسکن کنید (شاید با تشخیص نسخه)، سپس امتحان کنید
اسکن لیست Nmap (-sL) هر سرور نام را یک به یک با مشخص می کند --dns-servers
تا زمانی که یکی را پیدا کنید که کار می کند.
PORT اسکن کردن مبانی
در حالی که Nmap در طول سال ها عملکرد خود را افزایش داده است، به عنوان یک پورت کارآمد شروع به کار کرد
اسکنر، و این عملکرد اصلی آن باقی می ماند. دستور ساده nmap هدف اسکن 1,000
پورت های TCP روی هاست هدف. در حالی که بسیاری از اسکنرهای پورت به طور سنتی همه پورت ها را یکپارچه می کنند
در حالت باز یا بسته، Nmap بسیار دانهدارتر است. این پورت ها را به شش قسمت تقسیم می کند
حالت ها: باز، بسته، فیلتر شده، فیلتر نشده، باز|فیلتر شده یا بسته|فیلتر شده.
این حالتها ویژگیهای ذاتی پورت نیستند، اما نحوه دیدن Nmap را توصیف میکنند
آنها به عنوان مثال، اسکن Nmap از همان شبکه هدف ممکن است پورت 135/tcp را نشان دهد
به عنوان باز، در حالی که اسکن در همان زمان با گزینه های مشابه از سراسر اینترنت
ممکن است آن پورت را فیلتر شده نشان دهد.
La شش بندر کشورهای به رسمیت شناخته شده by Nmap
یک برنامه به طور فعال اتصالات TCP، دیتاگرام های UDP یا SCTP را می پذیرد
انجمن ها در این بندر یافتن اینها اغلب هدف اصلی اسکن پورت است.
افرادی که به امنیت فکر می کنند می دانند که هر پورت باز راهی برای حمله است. مهاجمان و
pen-testers می خواهند از پورت های باز سوء استفاده کنند، در حالی که مدیران سعی می کنند یا را ببندند
از آنها با فایروال محافظت کنید بدون اینکه کاربران قانونی را خنثی کنید. پورت های باز نیز هستند
برای اسکنهای غیرامنیتی جالب است زیرا خدماتی را که برای استفاده در آن در دسترس هستند نشان میدهند
شبکه می باشد.
یک پورت بسته قابل دسترسی است (بسته های پروب Nmap را دریافت می کند و به آنها پاسخ می دهد)، اما
هیچ برنامه ای برای گوش دادن به آن وجود ندارد. آنها می توانند در نشان دادن اینکه یک میزبان است مفید باشند
بر روی یک آدرس IP (کشف میزبان، یا اسکن پینگ)، و به عنوان بخشی از تشخیص سیستم عامل.
از آنجایی که پورت های بسته قابل دسترسی هستند، ممکن است ارزش آن را داشته باشد که بعداً در صورت باز شدن برخی از آنها اسکن شود
بالا مدیران ممکن است بخواهند چنین پورت هایی را با فایروال مسدود کنند. سپس آنها
در حالت فیلتر شده ظاهر می شود، که در ادامه مورد بحث قرار می گیرد.
Nmap نمی تواند باز بودن پورت را تعیین کند زیرا فیلتر بسته از آن جلوگیری می کند
کاوشگرها از رسیدن به بندر فیلتر می تواند از یک فایروال اختصاصی باشد
دستگاه، قوانین روتر یا نرم افزار فایروال مبتنی بر میزبان. این پورت ها مهاجمان را ناامید می کند
زیرا آنها اطلاعات بسیار کمی ارائه می دهند. گاهی اوقات آنها با خطای ICMP پاسخ می دهند
پیام هایی مانند نوع 3 کد 13 (مقصد غیر قابل دسترس: ارتباط
از نظر اداری ممنوع است)، اما فیلترهایی که به سادگی پروب ها را بدون پاسخ رها می کنند
بسیار رایج تر هستند. این Nmap را مجبور میکند تا در صورت وجود پروب، چندین بار دوباره امتحان کند
به دلیل ازدحام شبکه به جای فیلتر حذف شد. این سرعت اسکن را کند می کند
به طور چشمگیری.
حالت فیلتر نشده به این معنی است که یک پورت قابل دسترسی است، اما Nmap قادر به تعیین آن نیست
چه باز باشد چه بسته فقط اسکن ACK که برای نقشه برداری فایروال استفاده می شود
قوانین، پورت ها را به این حالت طبقه بندی می کند. اسکن پورت های فیلتر نشده با اسکن های دیگر
انواعی مانند اسکن پنجره، اسکن SYN، یا اسکن FIN ممکن است به تشخیص اینکه آیا پورت است یا خیر کمک کند
باز.
Nmap زمانی که قادر به تشخیص باز بودن یک پورت نباشد، پورت ها را در این حالت قرار می دهد
یا فیلتر شده این برای انواع اسکن که در آن پورت های باز هیچ پاسخی نمی دهند اتفاق می افتد. کمبود
پاسخ همچنین میتواند به این معنی باشد که یک فیلتر بسته، کاوشگر را رها کرده یا هر پاسخی به آن داده است
برانگیخته شده است. بنابراین Nmap نمی داند که آیا پورت باز است یا فیلتر شده است.
اسکنهای UDP، IP، FIN، NULL و Xmas پورتها را از این طریق طبقهبندی میکنند.
این حالت زمانی استفاده می شود که Nmap قادر به تعیین بسته بودن یا بسته بودن یک پورت نباشد
فیلتر شده. این فقط برای اسکن IP ID بیکار استفاده می شود.
PORT اسکن کردن TECHNIQUES
به عنوان یک مبتدی که در حال انجام تعمیرات خودرو هستم، می توانم ساعت ها در تلاش برای جابجایی خود باشم
ابزار ابتدایی (چکش، نوار چسب، آچار، و غیره) برای کار در دست. وقتی شکست می خورم
با بدبختی و بدبختی من را به سمت یک مکانیک واقعی یدک می کشد، او همیشه در یک ابزار بزرگ ماهی می گیرد.
قفسه سینه تا بیرون کشیدن ابزار عالی که باعث می شود کار بدون دردسر به نظر برسد. هنر
اسکن پورت مشابه است. کارشناسان ده ها تکنیک اسکن را درک می کنند و آنها را انتخاب می کنند
یک (یا ترکیب) مناسب برای یک کار مشخص. کاربران بی تجربه و اسکریپت
بچه ها،. از طرف دیگر، سعی کنید هر مشکلی را با اسکن پیش فرض SYN حل کنید. از آنجا که
Nmap رایگان است، تنها مانع تسلط بر اسکن پورت دانش است. که قطعا می زند
دنیای خودرو، جایی که ممکن است نیاز به مهارت زیادی باشد تا مشخص شود که به یک اسکله نیاز دارید
کمپرسور فنری، پس هنوز باید هزاران دلار برای آن بپردازید.
بیشتر انواع اسکن فقط برای کاربران ممتاز در دسترس است. این به این دلیل است که آنها ارسال می کنند
و بسته های خام را دریافت کنید. که نیاز به دسترسی ریشه در سیستم های یونیکس دارد. با استفاده از یک
حساب مدیر در ویندوز توصیه می شود، اگرچه Nmap گاهی اوقات برای آن کار می کند
وقتی WinPcap قبلاً در سیستم عامل بارگذاری شده باشد، کاربران غیرمجاز در آن پلتفرم.
هنگامی که Nmap در سال 1997 منتشر شد، نیاز به امتیازات ریشه یک محدودیت جدی بود.
کاربران فقط به حساب های پوسته مشترک دسترسی داشتند. حالا، دنیا فرق کرده است. کامپیوترها هستند
ارزانتر، افراد بسیار بیشتری دسترسی مستقیم به اینترنت و سیستمهای یونیکس رومیزی دارند
(از جمله Linux و Mac OS X) رایج هستند. یک نسخه ویندوز از Nmap اکنون در دسترس است،
به آن اجازه می دهد حتی روی دسکتاپ های بیشتری اجرا شود. به همه این دلایل، کاربران نیاز کمتری دارند
Nmap را از حسابهای پوسته مشترک محدود اجرا کنید. این خوش شانس است، به عنوان گزینه های ممتاز
Nmap را بسیار قدرتمندتر و انعطاف پذیرتر کنید.
در حالی که Nmap تلاش می کند تا نتایج دقیقی تولید کند، به خاطر داشته باشید که تمام بینش های آن درست است
بر اساس بسته های بازگردانده شده توسط ماشین های هدف (یا فایروال های مقابل آنها). چنین
میزبان ها ممکن است غیرقابل اعتماد باشند و پاسخ هایی را ارسال کنند که قصد دارند Nmap را اشتباه یا گمراه کنند. خیلی
معمولتر میزبانهای غیر سازگار با RFC هستند که آنطور که باید به پروبهای Nmap پاسخ نمیدهند.
اسکن های FIN، NULL و Xmas به ویژه در معرض این مشکل هستند. چنین مسائلی هستند
مخصوص انواع خاصی از اسکن است و بنابراین در ورودی های نوع اسکن جداگانه مورد بحث قرار می گیرد.
این بخش ده ها تکنیک اسکن پورت پشتیبانی شده توسط Nmap را مستند می کند. فقط یکی
روش ممکن است در یک زمان مورد استفاده قرار گیرد، با این تفاوت که اسکن UDP (-sU) و هر یک از اسکن های SCTP
انواع (-sY, -sz) ممکن است با هر یک از انواع اسکن TCP ترکیب شود. به عنوان کمک حافظه، پورت
گزینه های نوع اسکن از این شکل هستند -sC، که در آن C یک شخصیت برجسته در نام اسکن است،
معمولا اولین یک استثنا در این مورد، اسکن FTP منسوخ شده است (-b). توسط
بهطور پیشفرض، Nmap یک اسکن SYN را انجام میدهد، اگرچه اگر کاربر این کار را انجام دهد، جایگزین اسکن اتصال میشود
امتیاز مناسبی برای ارسال بسته های خام ندارند (نیاز به دسترسی ریشه در یونیکس است). از
اسکن های ذکر شده در این بخش، کاربران غیرمجاز فقط می توانند اتصال و FTP bounce را اجرا کنند
اسکن
-H.H (اسکن TCP SYN) .
اسکن SYN به دلایل خوب، پیشفرض و محبوبترین گزینه اسکن است. میتونه باشه
به سرعت انجام می شود و هزاران پورت در ثانیه را در یک شبکه سریع اسکن نمی کند
فایروال های محدود کننده با مشکل مواجه می شوند. همچنین نسبتا محجوب و مخفیانه است
زیرا هرگز اتصالات TCP را کامل نمی کند. اسکن SYN در برابر هر TCP سازگار عمل می کند
به جای اینکه به ویژگی های خاص پلتفرم های خاص مانند Nmap وابسته باشد، پشته کنید
FIN/NULL/Xmas، Maimon و اسکن بیکار انجام می دهند. این همچنین اجازه می دهد تا روشن، قابل اعتماد
تمایز بین حالت های باز، بسته و فیلتر شده
این تکنیک اغلب به عنوان اسکن نیمه باز شناخته می شود، زیرا شما a را باز نمی کنید
اتصال کامل TCP شما یک بسته SYN می فرستید، انگار می خواهید یک بسته واقعی باز کنید
اتصال و سپس منتظر پاسخ باشید. یک SYN/ACK نشان می دهد که پورت در حال گوش دادن است
(باز)، در حالی که RST (بازنشانی) نشان دهنده یک غیر شنونده است. در صورت عدم پاسخگویی
دریافت پس از چندین بار ارسال مجدد، پورت به عنوان فیلتر شده علامت گذاری می شود. بندر است
همچنین در صورت وجود خطای غیرقابل دسترسی ICMP (نوع 3، کد 0، 1، 2، 3، 9، 10 یا
13) دریافت می شود. اگر بسته SYN (بدون ACK) باشد، پورت نیز باز در نظر گرفته می شود
flag) در پاسخ دریافت می شود. این می تواند به دلیل یک ویژگی بسیار نادر TCP شناخته شده باشد
به عنوان یک اتصال همزمان باز یا تقسیم دست دادن (نگاه کنید به
https://nmap.org/misc/split-handshake.pdf).
-sT (اسکن اتصال TCP) .
اسکن اتصال TCP نوع پیشفرض اسکن TCP است که اسکن SYN گزینهای نیست. این هست
موردی که کاربر از امتیازات بسته خام برخوردار نیست. به جای خام نوشتن
مانند سایر انواع اسکن، Nmap از سیستم عامل اصلی درخواست می کند
برقراری ارتباط با دستگاه و پورت هدف با صدور اتصال سیستم
زنگ زدن. این همان سیستم سطح بالا است که مرورگرهای وب، کلاینت های P2P و بسیاری از آنها را صدا می کنند
سایر برنامههای فعال شبکه برای برقراری ارتباط استفاده میکنند. بخشی از الف است
رابط برنامه نویسی معروف به Berkeley Sockets API. به جای خواندن بسته خام
Nmap از این API برای بدست آوردن اطلاعات وضعیت هر یک استفاده می کند
تلاش برای اتصال
وقتی اسکن SYN در دسترس باشد، معمولاً انتخاب بهتری است. Nmap کنترل کمتری روی آن دارد
سطح بالا اتصال تماس نسبت به بسته های خام، کارایی آن را کمتر می کند. در
فراخوانی سیستم به جای اجرای آن، اتصالات را به درگاه های هدف باز می کند
بازنشانی نیمه باز که اسکن SYN انجام می دهد. این نه تنها بیشتر طول می کشد و به موارد بیشتری نیز نیاز دارد
بسته ها برای به دست آوردن اطلاعات یکسان هستند، اما ماشین های مورد نظر به احتمال زیاد وارد سیستم می شوند
ارتباط. یک IDS مناسب هر دو را می گیرد، اما اکثر ماشین ها چنین هشداری ندارند
سیستم. بسیاری از خدمات در سیستم متوسط یونیکس شما یک یادداشت به syslog اضافه می کنند و
گاهی اوقات یک پیام خطای مرموز، زمانی که Nmap متصل می شود و سپس اتصال را می بندد
بدون ارسال داده وقتی این اتفاق میافتد، سرویسهای واقعاً رقتانگیز از کار میافتند، اگرچه اینطور است
غیر معمول. مدیری که مجموعهای از اتصالات را میبیند، تلاش میکند در گزارشهای خود از یک
سیستم واحد باید بداند که اتصال اسکن شده است.
-sU (اسکن های UDP).
در حالی که اکثر سرویس های محبوب در اینترنت از طریق پروتکل TCP اجرا می شوند، UDP[6] خدمات
به طور گسترده مستقر هستند. DNS، SNMP و DHCP (پورت های ثبت شده 53، 161/162 و 67/68) هستند
سه مورد از رایج ترین. زیرا اسکن UDP به طور کلی کندتر و دشوارتر است
نسبت به TCP، برخی از حسابرسان امنیتی این پورت ها را نادیده می گیرند. این یک اشتباه است، به عنوان قابل بهره برداری
سرویسهای UDP بسیار رایج هستند و مهاجمان قطعاً کل پروتکل را نادیده نمیگیرند.
خوشبختانه Nmap می تواند به موجودی پورت های UDP کمک کند.
اسکن UDP با فعال می شود -sU گزینه. می توان آن را با یک نوع اسکن TCP ترکیب کرد
مانند اسکن SYN (-H.H) برای بررسی هر دو پروتکل در طول اجرای یکسان.
اسکن UDP با ارسال یک بسته UDP به هر پورت مورد نظر کار می کند. برای برخی از پورت های رایج
مانند 53 و 161، یک payload خاص پروتکل برای افزایش نرخ پاسخ ارسال می شود، اما
برای اکثر پورت ها بسته خالی است مگر اینکه --داده ها, --data-string، یا --طول داده
گزینه ها مشخص شده است. اگر یک خطای غیرقابل دسترسی پورت ICMP (نوع 3، کد 3) برگردانده شد،
بندر بسته است سایر خطاهای غیرقابل دسترس ICMP (نوع 3، کدهای 0، 1، 2، 9، 10، یا
13) پورت را فیلتر شده علامت بزنید. گاهی اوقات، یک سرویس با یک بسته UDP پاسخ می دهد،
اثبات باز بودن آن اگر پس از ارسال مجدد پاسخی دریافت نشد، پورت دریافت می شود
طبقه بندی شده به عنوان باز | فیلتر شده. این به این معنی است که پورت می تواند باز یا شاید بسته باشد
فیلترها ارتباط را مسدود می کنند. تشخیص نسخه (-sV) می تواند برای کمک استفاده شود
پورت های واقعا باز را از پورت های فیلتر شده متمایز کنید.
یک چالش بزرگ با اسکن UDP انجام سریع آن است. پورت ها به ندرت باز و فیلتر می شوند
هر پاسخی را بفرستید، Nmap را به حالت پایانی درآورید و سپس ارسال مجدد را انجام دهید
در صورتی که کاوشگر یا پاسخ از دست رفته باشد. پورت های بسته اغلب مشکل بزرگ تری هستند.
آنها معمولاً یک خطای غیرقابل دسترس درگاه ICMP را ارسال می کنند. اما بر خلاف بسته های RST ارسال شده
با بسته شدن پورتهای TCP در پاسخ به SYN یا اسکن اتصال، تعداد زیادی از میزبانها محدودیت نرخ دارند. ICMP
به طور پیش فرض پیام های غیرقابل دسترسی را درگاه کنید. لینوکس و سولاریس به ویژه در مورد آنها سختگیر هستند
این. به عنوان مثال، هسته لینوکس 2.4.20 پیام های غیرقابل دسترسی را به مقصد محدود می کند
یک در ثانیه (در net/ipv4/icmp.c).
Nmap محدودیت نرخ را تشخیص میدهد و بر این اساس سرعت را کاهش میدهد تا از سیل شبکه جلوگیری کند
با بسته های بی فایده ای که ماشین هدف رها می کند. متأسفانه، به سبک لینوکس
محدودیت یک بسته در ثانیه باعث می شود اسکن 65,536 پورت بیش از 18 ساعت طول بکشد. ایده ها
برای سرعت بخشیدن به اسکن UDP شما، شامل اسکن بیشتر میزبان ها به صورت موازی، انجام سریع است
ابتدا فقط پورت های محبوب را اسکن کنید، از پشت فایروال اسکن کنید و از آن استفاده کنید
---میزبان تایم اوت برای رد شدن از میزبان های کند.
-sY (اسکن SCTP INIT) .
SCTP[7] یک جایگزین نسبتا جدید برای پروتکل های TCP و UDP است که اکثر آنها را با هم ترکیب می کند
ویژگی های TCP و UDP و همچنین افزودن ویژگی های جدید مانند multi-homing و
چند جریانی بیشتر برای سرویس های مربوط به SS7/SIGTRAN استفاده می شود، اما دارای آن است
این پتانسیل برای کاربردهای دیگر نیز قابل استفاده است. اسکن SCTP INIT SCTP است
معادل اسکن TCP SYN. می توان آن را به سرعت انجام داد و هزاران پورت را اسکن کرد
در هر ثانیه در یک شبکه سریع که توسط فایروال های محدود کننده مختل نمی شود. مانند اسکن SYN،
اسکن INIT نسبتا محجوب و مخفیانه است، زیرا هرگز SCTP را کامل نمی کند.
انجمن ها همچنین امکان تمایز واضح و قابل اعتماد بین باز، بسته،
و حالت های فیلتر شده
این تکنیک اغلب به عنوان اسکن نیمه باز شناخته می شود، زیرا شما a را باز نمی کنید
ارتباط کامل SCTP شما یک قطعه INIT می فرستید، انگار می خواهید یک واقعی باز کنید
ارتباط برقرار کنید و سپس منتظر پاسخ باشید. یک قطعه INIT-ACK نشان می دهد که پورت است
گوش دادن (باز)، در حالی که یک قطعه ABORT نشان دهنده یک غیر شنونده است. در صورت عدم پاسخگویی
پس از چندین بار ارسال مجدد دریافت می شود، پورت به عنوان فیلتر شده علامت گذاری می شود. بندر است
همچنین در صورت وجود خطای غیرقابل دسترسی ICMP (نوع 3، کد 0، 1، 2، 3، 9، 10 یا
13) دریافت می شود.
-sN; -SF; -sX (اسکن TCP NULL، FIN و Xmas) .
این سه نوع اسکن (حتی بیشتر با --scanflags گزینه شرح داده شده
در بخش بعدی) از یک حفره ظریف در TCP RFC[8] برای افتراق
بین پورت های باز و بسته صفحه 65 از RFC 793 می گوید که «اگر [مقصد] پورت
وضعیت بسته است .... یک بخش ورودی که حاوی RST نیست باعث ارسال RST می شود
در پاسخ." سپس در صفحه بعدی بستههایی که به پورتهای باز ارسال میشوند بدون استفاده از این مورد بحث میشود
بیتهای SYN، RST یا ACK تنظیم میشوند و بیان میکنند که: «بعید است به اینجا برسید، اما اگر این کار را انجام دهید،
بخش را رها کنید و برگردید."
هنگام اسکن سیستم های سازگار با این متن RFC، هر بسته ای که حاوی SYN نباشد،
بیتهای RST یا ACK در صورت بسته بودن پورت و عدم پاسخ، منجر به RST برگشتی میشوند
اصلا اگر پورت باز باشد. تا زمانی که هیچ یک از آن سه بیت گنجانده نشده باشد
ترکیب سه مورد دیگر (FIN، PSH و URG) مشکلی ندارد. Nmap از این مورد سوء استفاده می کند
سه نوع اسکن:
اسکن تهی (-sN)
هیچ بیتی را تنظیم نمی کند (سرصفحه پرچم TCP 0 است)
اسکن FIN (-SF)
فقط بیت TCP FIN را تنظیم می کند.
اسکن کریسمس (-sX)
پرچم های FIN، PSH و URG را تنظیم می کند و بسته را مانند یک درخت کریسمس روشن می کند.
این سه نوع اسکن دقیقاً از نظر رفتار یکسان هستند به جز مجموعه پرچمهای TCP
در بسته های پروب اگر بسته RST دریافت شود، پورت بسته در نظر گرفته می شود، در حالی که خیر
پاسخ به این معنی است که باز است|فیلتر شده است. در صورت عدم دسترسی به ICMP، پورت فیلتر شده علامت گذاری می شود
خطا (نوع 3، کد 0، 1، 2، 3، 9، 10، یا 13) دریافت می شود.
مزیت کلیدی این انواع اسکن این است که می توانند به صورت مخفیانه از طریق برخی از اسکن ها عبور کنند
فایروال های غیر وضعیتی و روترهای فیلتر بسته. مزیت دیگر این است که اینها
انواع اسکن کمی مخفی تر از اسکن SYN هستند. روی این حساب نکن
با این حال، اکثر محصولات IDS مدرن را می توان برای شناسایی آنها پیکربندی کرد. نقطه ضعف بزرگ این است
که همه سیستم ها به طور کامل از RFC 793 پیروی نمی کنند. تعدادی از سیستم ها RST را ارسال می کنند
بدون توجه به باز بودن یا نبودن پورت به پروب ها پاسخ می دهد. این باعث همه
از پورت هایی که باید برچسب بسته شوند. سیستم عامل های اصلی که این کار را انجام می دهند مایکروسافت هستند
ویندوز، بسیاری از دستگاه های سیسکو، BSDI و IBM OS/400. این اسکن بر خلاف اکثر موارد کار می کند
هر چند سیستم های مبتنی بر یونیکس. یکی دیگر از معایب این اسکن ها این است که نمی توانند
پورتهای باز را از پورتهای فیلتر شده خاص تشخیص دهید و پاسخ را برای شما به ارمغان بیاورد
باز | فیلتر شده.
-sA (اسکن TCP ACK) .
این اسکن با سایر اسکنهایی که تاکنون مورد بحث قرار گرفتهاند متفاوت است، زیرا هرگز مشخص نمیشود
پورت های باز (یا حتی باز | فیلتر شده). برای ترسیم قوانین فایروال استفاده می شود،
تعیین وضعیت یا نبودن آنها و اینکه کدام پورت ها فیلتر شده اند.
بسته پروب اسکن ACK فقط دارای مجموعه پرچم ACK است (مگر اینکه از آن استفاده کنید --scanflags) چه زمانی
اسکن سیستم های فیلتر نشده، پورت های باز و بسته هر دو یک بسته RST را برمی گرداند. Nmap
سپس آنها را بدون فیلتر برچسب گذاری می کند، به این معنی که آنها توسط بسته ACK قابل دسترسی هستند، اما
باز یا بسته بودن آنها مشخص نیست. پورت هایی که پاسخ نمی دهند یا ارسال نمی کنند
برخی از پیامهای خطای ICMP (نوع 3، کد 0، 1، 2، 3، 9، 10، یا 13)، برچسبگذاری شدهاند.
فیلتر شده.
-sW (اسکن پنجره TCP).
اسکن پنجره دقیقاً مشابه اسکن ACK است با این تفاوت که از یک پیاده سازی بهره برداری می کند
جزئیات سیستم های خاص برای متمایز کردن پورت های باز از بسته، به جای
هنگامی که RST برگردانده می شود همیشه بدون فیلتر چاپ می شود. این کار را با بررسی TCP انجام می دهد
فیلد پنجره بسته های RST برگردانده شد. در برخی از سیستم ها، پورت های باز از یک مثبت استفاده می کنند
اندازه پنجره (حتی برای بسته های RST) در حالی که بسته های بسته دارای یک پنجره صفر هستند. بنابراین به جای
همیشه یک پورت را به عنوان فیلتر نشده لیست می کند وقتی که یک RST برگشتی دریافت می کند، اسکن پنجره آن را لیست می کند
در صورتی که مقدار پنجره TCP در آن تنظیم مجدد مثبت یا صفر باشد، درگاه باز یا بسته است.
بود.
این اسکن متکی بر جزئیات پیاده سازی تعداد کمی از سیستم ها است
اینترنت، بنابراین همیشه نمی توانید به آن اعتماد کنید. معمولاً سیستم هایی که از آن پشتیبانی نمی کنند
تمام پورت ها را بسته برگردانید البته این امکان وجود دارد که دستگاه واقعاً باز نباشد
پورت ها اگر اکثر پورت های اسکن شده بسته هستند اما تعداد کمی از پورت های رایج (مانند 22، 25،
53) فیلتر می شوند، سیستم به احتمال زیاد حساس است. گاهی اوقات، سیستم ها این کار را انجام می دهند
حتی رفتاری کاملاً برعکس از خود نشان دهد. اگر اسکن شما 1,000 پورت باز و سه پورت را نشان می دهد
درگاه های بسته یا فیلتر شده، پس این سه پورت ممکن است واقعاً باز باشند.
-sM (اسکن TCP Maimon) .
اسکن Maimon به نام کاشف آن، Uriel Maimon نامگذاری شده است. او توضیح داد
تکنیک در مجله Phrack شماره 49 (نوامبر 1996). Nmap که شامل این بود
تکنیک، دو شماره بعد منتشر شد. این تکنیک دقیقا مشابه NULL است،
اسکن FIN و Xmas با این تفاوت که پروب FIN/ACK است. مطابق با RFC 793[8] (TCP)،
یک بسته RST باید در پاسخ به چنین کاوشگری ایجاد شود که آیا پورت باز است یا خیر
یا بسته با این حال، Uriel متوجه شد که بسیاری از سیستم های مشتق شده از BSD به سادگی بسته را رها می کنند
اگر پورت باز باشد
--scanflags (اسکن TCP سفارشی) .
کاربران واقعاً پیشرفته Nmap نیازی ندارند خود را به انواع اسکن کنسرو شده ارائه شده محدود کنند.
La --scanflags این گزینه به شما امکان می دهد با تعیین TCP دلخواه اسکن خود را طراحی کنید
پرچمها.. اجازه دهید آبهای خلاقانهتان جاری شود، در حالی که از سیستمهای تشخیص نفوذ فرار میکنید.
که فروشندگان آن به سادگی از طریق صفحه مرد Nmap با اضافه کردن قوانین خاص صفحه را انجام دادند!
La --scanflags آرگومان می تواند یک مقدار پرچم عددی مانند 9 (PSH و FIN) باشد، اما
استفاده از نام های نمادین آسان تر است. فقط هر ترکیبی از URG، ACK، PSH را با هم له کنید،
RST، SYN، و FIN. مثلا، --scanflags urgackpshrstsynfin هر چند همه چیز را تنظیم می کند
برای اسکن خیلی مفید نیست. ترتیبی که اینها در آن مشخص شده اند نامربوط است.
علاوه بر مشخص کردن پرچمهای مورد نظر، میتوانید نوع اسکن TCP (مانند
-sA or -SF). این نوع پایه به Nmap می گوید که چگونه پاسخ ها را تفسیر کند. به عنوان مثال، یک SYN
اسکن عدم پاسخ را برای نشان دادن یک پورت فیلتر شده در نظر می گیرد، در حالی که اسکن FIN آن را درمان می کند
همان open|filtered. Nmap مانند نوع اسکن پایه رفتار خواهد کرد.
با این تفاوت که به جای آن از پرچم های TCP که شما مشخص کرده اید استفاده می کند. اگر پایه را مشخص نکنید
نوع، اسکن SYN استفاده می شود.
-sz (SCTP COOKIE ECHO scan) .
SCTP COOKIE ECHO scan یک اسکن SCTP پیشرفته تر است. از این واقعیت سوء استفاده می کند
که پیادهسازیهای SCTP باید بستههای حاوی تکههای COOKIE ECHO را بیصدا رها کنند
در پورت های باز، اما اگر پورت بسته است، یک ABORT ارسال کنید. مزیت این اسکن
نوع آن این است که اسکن پورت به اندازه اسکن INIT واضح نیست. همچنین، ممکن است وجود داشته باشد
قوانین فایروال غیر حالتی که تکه های INIT را مسدود می کند، اما تکه های COOKIE ECHO را مسدود نمی کند. نکن
فریب بخورید و فکر کنید که این کار اسکن پورت را نامرئی می کند. یک IDS خوب خواهد بود
قادر به تشخیص اسکن های SCTP COOKIE ECHO نیز می باشد. نکته منفی این است که SCTP COOKIE ECHO اسکن می کند
نمی تواند بین پورت های باز و فیلتر شده تفاوت قائل شود و وضعیت را به شما واگذار می کند
open|در هر دو مورد فیلتر شده است.
-sI انسان زنده شد میزبان[:پروبیپورت] (اسکن بیکار) .
این روش اسکن پیشرفته امکان اسکن واقعاً کور پورت TCP از هدف را فراهم می کند
(به این معنی که هیچ بسته ای از آدرس IP واقعی شما به مقصد ارسال نمی شود). در عوض، الف
حمله منحصر به فرد کانال جانبی از توالی شناسه تکه تکه شدن IP قابل پیش بینی بهره برداری می کند
تولید روی میزبان زامبی برای جمع آوری اطلاعات در مورد پورت های باز روی هدف.
سیستمهای IDS اسکن را بهگونهای نمایش میدهند که از دستگاه زامبی که مشخص کردهاید (که
باید بالا باشد و معیارهای خاصی را داشته باشد). این نوع اسکن جذاب بسیار پیچیده است
به طور کامل در این راهنمای مرجع توضیح دهید، بنابراین من یک مقاله غیررسمی نوشتم و پست کردم
جزئیات کامل در https://nmap.org/book/idlescan.html.
این نوع اسکن علاوه بر مخفی بودن فوق العاده (به دلیل ماهیت کور) آن
اجازه ترسیم روابط اعتماد مبتنی بر IP بین ماشین ها را می دهد. لیست پورت
پورت های باز را نشان می دهد از جانب la چشم انداز of la انسان زنده شد میزبان بنابراین می توانید اسکن a را امتحان کنید
با استفاده از زامبی های مختلفی که فکر می کنید ممکن است قابل اعتماد باشند، هدف قرار دهید. (از طریق روتر/بسته
قوانین فیلتر).
اگر میخواهید کاوش کنید، میتوانید یک دونقطه و سپس یک شماره پورت به میزبان زامبی اضافه کنید
یک پورت خاص در زامبی برای تغییرات IP ID. در غیر این صورت Nmap از پورت آن استفاده خواهد کرد
به طور پیش فرض برای پینگ های TCP (80) استفاده می کند.
-بنابراین (اسکن پروتکل IP) .
اسکن پروتکل IP به شما امکان می دهد تعیین کنید کدام پروتکل های IP (TCP، ICMP، IGMP و غیره)
توسط ماشین های هدف پشتیبانی می شوند. این از نظر فنی اسکن پورت نیست، زیرا چرخه می شود
از طریق شماره پروتکل IP به جای شماره پورت TCP یا UDP. با این حال هنوز از آن استفاده می کند
-p گزینه ای برای انتخاب شماره پروتکل های اسکن شده، نتایج خود را در حالت عادی گزارش می دهد
فرمت جدول پورت، و حتی از موتور اسکن زیربنایی به عنوان پورت واقعی استفاده می کند
روش های اسکن بنابراین به اندازه کافی به اسکن پورت نزدیک است که به اینجا تعلق دارد.
اسکن پروتکل علاوه بر اینکه در نوع خود مفید است، قدرت آن را نشان می دهد
نرم افزار متن باز در حالی که ایده اساسی بسیار ساده است، من فکر نکرده بودم
برای افزودن آن و یا دریافت هیچ درخواستی برای چنین عملکردی. سپس در تابستان
2000، گرهارد ریگر. ایده را تصور کردم، یک پچ عالی برای اجرای آن نوشت،
و به لیست پستی اعلام ارسال کرد. (در آن زمان nmap-hackers نامیده می شد).
آن پچ را در درخت Nmap قرار داد و روز بعد نسخه جدیدی را منتشر کرد.
تعداد کمی از نرم افزارهای تجاری کاربرانی را دارند که به اندازه کافی مشتاق طراحی و طراحی شوند
کمک به بهبود خود را!
اسکن پروتکل به روشی مشابه اسکن UDP عمل می کند. به جای تکرار از طریق
فیلد شماره پورت یک بسته UDP، هدرهای بسته IP را ارسال می کند و از طریق آن تکرار می شود
فیلد پروتکل IP هشت بیتی هدرها معمولاً خالی هستند و هیچ داده ای ندارند و نه
حتی هدر مناسب برای پروتکل ادعا شده. استثناها TCP، UDP، ICMP،
SCTP و IGMP. سربرگ پروتکل مناسب برای آن دسته از سیستمها گنجانده شده است
در غیر این صورت آنها را ارسال نمی کند و به دلیل اینکه Nmap از قبل توابعی برای ایجاد آنها دارد.
به جای تماشای پیامهای غیرقابل دسترس درگاه ICMP، اسکن پروتکل روشن است
مراقب ICMP باشید پروتکل پیام های غیر قابل دسترس اگر Nmap هر پاسخی را دریافت کند
پروتکل از میزبان هدف، Nmap آن پروتکل را به عنوان باز علامت گذاری می کند. یک پروتکل ICMP
خطای غیرقابل دسترس (نوع 3، کد 2) باعث می شود که پروتکل به عنوان بسته علامت گذاری شود
پورت غیرقابل دسترسی (نوع 3، کد 3) پروتکل را باز نشان می دهد. سایر ICMP ها غیرقابل دسترس هستند
خطاها (نوع 3، کد 0، 1، 9، 10 یا 13) باعث می شود که پروتکل فیلتر شده علامت گذاری شود.
(اگرچه آنها ثابت می کنند که ICMP در همان زمان باز است). در صورت عدم دریافت پاسخ
پس از ارسال مجدد، پروتکل با علامت باز|فیلتر شده مشخص می شود
-b FTP رله میزبان (اسکن FTP Bounce Scan) .
ویژگی جالب پروتکل FTP (RFC 959[9]) پشتیبانی از به اصطلاح پروکسی است
اتصالات FTP این به کاربر اجازه می دهد تا به یک سرور FTP متصل شود، سپس آن فایل ها را بپرسد
به سرور شخص ثالث ارسال شود. چنین ویژگی برای سوء استفاده در سطوح مختلف آماده است، بنابراین
اکثر سرورها پشتیبانی از آن را متوقف کرده اند. یکی از سوء استفاده هایی که این ویژگی اجازه می دهد این است
باعث می شود سرور FTP میزبان های دیگر را اسکن کند. به سادگی از سرور FTP بخواهید که یک را ارسال کند
به نوبه خود به هر پورت جالب یک میزبان هدف فایل کنید. پیام خطا خواهد بود
توضیح دهید که آیا پورت باز است یا خیر. این یک راه خوب برای دور زدن فایروال ها است
زیرا سرورهای FTP سازمانی اغلب در جایی قرار می گیرند که دسترسی بیشتری به آن دارند
هاست های داخلی دیگر نسبت به هر هاست قدیمی اینترنت. Nmap از اسکن FTP Bounce Scan پشتیبانی می کند
با -b گزینه. یک استدلال از شکل می گیرد نام کاربری:کلمه عبور@سرور:بندر.
سرور نام یا آدرس IP یک سرور FTP آسیب پذیر است. مانند یک URL معمولی، شما
ممکن است حذف شود نام کاربری:کلمه عبور، در این صورت اعتبار ورود ناشناس (کاربر: ناشناس
رمز عبور:-wwwuser@) استفاده می شود. شماره پورت (و نقطه قبل از آن) ممکن است به عنوان حذف شود
خوب، در این صورت پورت FTP پیش فرض (21) روشن است سرور استفاده می شود.
این آسیب پذیری در سال 1997 زمانی که Nmap منتشر شد گسترده بود، اما تا حد زیادی گسترش یافته است.
درست شد. سرورهای آسیب پذیر هنوز در اطراف هستند، بنابراین وقتی همه چیز با شکست مواجه می شود ارزش امتحان کردن را دارد.
اگر هدف شما دور زدن فایروال است، شبکه مورد نظر را برای پورت 21 (یا حتی برای) اسکن کنید
اگر تمام پورت ها را با تشخیص نسخه اسکن کنید) و از ftp-bounce استفاده کنید.
اسکریپت NSE. Nmap به شما می گوید که آیا میزبان آسیب پذیر است یا خیر. اگر عادل هستید
در تلاش برای پوشاندن مسیرهای خود، نیازی به محدودیت ندارید (و در واقع نباید).
خود را به میزبان در شبکه هدف. قبل از اینکه اینترنت تصادفی را اسکن کنید
آدرسهای سرورهای آسیبپذیر FTP، در نظر بگیرید که sysadminها ممکن است از شما قدردانی نکنند
از سرورهای خود به این شکل سوء استفاده می کنند.
PORT مشخصات و SCAN سفارش
علاوه بر تمام روشهای اسکن که قبلاً مورد بحث قرار گرفت، Nmap گزینههایی را برای آنها ارائه میکند
مشخص می کند کدام پورت ها اسکن می شوند و آیا ترتیب اسکن تصادفی است یا متوالی.
به طور پیش فرض، Nmap رایج ترین 1,000 پورت را برای هر پروتکل اسکن می کند.
-p بندر محدوده ها (فقط پورت های مشخص شده را اسکن کنید) .
این گزینه مشخص می کند که کدام پورت ها را می خواهید اسکن کنید و پیش فرض را لغو می کند.
شمارههای پورت جداگانه، و همچنین محدودههایی که با خط فاصله از هم جدا شدهاند، صحیح هستند (مثلاً 1-1023).
ممکن است مقادیر ابتدایی و/یا پایانی یک محدوده حذف شود و باعث شود Nmap از 1 و استفاده کند.
به ترتیب 65535. بنابراین می توانید مشخص کنید -پ- برای اسکن پورت ها از 1 تا 65535.
اسکن پورت صفر اگر به صراحت آن را مشخص کنید مجاز است. برای اسکن پروتکل IP
(-بنابراین، این گزینه شماره پروتکل هایی را که می خواهید اسکن کنید (0–255) مشخص می کند.
هنگام اسکن ترکیبی از پروتکل ها (به عنوان مثال TCP و UDP)، می توانید a را مشخص کنید
پروتکل خاص با قرار دادن شماره پورت با T: برای TCP، U: برای UDP، S: برای
SCTP یا P: برای پروتکل IP. واجد شرایط تا زمانی که شما یک واجد شرایط دیگر را مشخص کنید ادامه دارد.
مثلا برهان -p U:53,111,137,T:21-25,80,139,8080 پورت های UDP 53 را اسکن می کند،
111 و 137 و همچنین پورت های TCP ذکر شده. توجه داشته باشید که برای اسکن هر دو UDP و TCP، شما
باید مشخص کند -sU و حداقل یک نوع اسکن TCP (مانند -H.H, -SF، یا -sT). اگر نه
واجد شرایط پروتکل داده می شود، شماره پورت ها به همه لیست های پروتکل اضافه می شوند. پورت ها
همچنین می توان با توجه به آنچه پورت در آن به آن اشاره شده است، با نام مشخص شود
nmap-services. حتی می توانید از علامت های عام * و ? با نام ها به عنوان مثال، به
اسکن FTP و تمام پورت هایی که نام آنها با "http" شروع می شود، استفاده کنید -p ftp،http*. مراقب باش
در مورد گسترش پوسته و نقل قول به -p اگر مطمئن نیستید
محدوده پورت ها را می توان با براکت های مربع احاطه کرد تا پورت های داخل آن را نشان دهد
محدوده ای که در سرویس های nmap ظاهر می شود. به عنوان مثال، موارد زیر تمام پورت ها را اسکن می کند
سرویس های nmap برابر یا کمتر از 1024: -p [-1024،XNUMX،XNUMX،XNUMX،XNUMX]. مراقب گسترش پوسته و
نقل استدلال به -p اگر مطمئن نیستید
--exclude-ports بندر محدوده ها (پورت های مشخص شده را از اسکن حذف کنید) .
این گزینه مشخص می کند که می خواهید Nmap کدام پورت ها را از اسکن حذف کند. را بندر
محدوده ها مشابه مشخص شده اند -p. برای اسکن پروتکل IP (-بنابراین) این گزینه
شماره پروتکل هایی را که می خواهید حذف کنید (0-255) را مشخص می کند.
هنگامی که از پورت ها خواسته می شود که حذف شوند، آنها از همه انواع اسکن ها حذف می شوند (به عنوان مثال
آنها تحت هیچ شرایطی اسکن نمی شوند). این شامل کشف نیز می شود
فاز.
-F (اسکن سریع (پورت محدود)) .
مشخص می کند که می خواهید پورت های کمتری نسبت به حالت پیش فرض اسکن کنید. به طور معمول Nmap اسکن می کند
رایج ترین 1,000 پورت برای هر پروتکل اسکن شده. با -F، این به 100 کاهش می یابد.
Nmap به یک فایل nmap-service با اطلاعات فرکانس نیاز دارد تا بداند کدام است
پورت ها رایج ترین هستند. اگر اطلاعات فرکانس پورت در دسترس نباشد، شاید
به دلیل استفاده از یک فایل nmap-services سفارشی، Nmap تمام پورت های نامگذاری شده را اسکن می کند.
پورت های 1-1024. در این مورد، -F به این معنی است که فقط پورت هایی را که در سرویس ها نامگذاری شده اند اسکن کنید
فایل.
-r (پورت ها را تصادفی نکنید).
بهطور پیشفرض، Nmap ترتیب پورت اسکنشده را تصادفی میکند (به جز مواردی که معمولاً مشخص است
پورت های قابل دسترسی به دلایل کارایی نزدیک به ابتدا منتقل می شوند). این
تصادفی سازی معمولاً مطلوب است، اما می توانید مشخص کنید -r برای ترتیب (مرتب شده
از پایین ترین به بالاترین) در عوض اسکن پورت.
--نسبت پورت نسبت<اعشاری عدد میان 0 و 1>
تمام پورت ها را در فایل nmap-services با نسبتی بیشتر از آنچه داده شده اسکن می کند. نسبت
باید بین 0.0 تا 1.1 باشد.
--بالاترین پورت ها n
را اسکن می کند n پورت های با بالاترین نسبت در فایل nmap-services پس از حذف همه پورت ها یافت می شوند
مشخص شده توسط --exclude-ports. n باید 1 یا بیشتر باشد.
SERVICE و نسخه شناسایی
Nmap را به یک ماشین راه دور نشان دهید و ممکن است به شما بگوید که پورت های 25/tcp، 80/tcp، و 53/udp
باز هستند. با استفاده از خدمات nmap آن. پایگاه داده حدود 2,200 سرویس شناخته شده،. Nmap
گزارش می دهد که آن پورت ها احتمالاً با یک سرور پست الکترونیکی (SMTP)، وب سرور مطابقت دارند
(HTTP)، و سرور نام (DNS). این جستجو معمولاً دقیق است - وسیع
اکثر دیمون هایی که در پورت TCP 25 گوش می دهند، در واقع سرورهای پست هستند. با این حال، شما
نباید امنیت خود را در این مورد شرط بندی کنید! مردم می توانند خدمات را در پورت های عجیب و غریب اجرا کنند و انجام می دهند.
حتی اگر Nmap درست باشد و سرور فرضی بالا SMTP، HTTP و DNS را اجرا کند.
سرورها، این اطلاعات زیادی نیست. هنگام انجام ارزیابی های آسیب پذیری (یا حتی
موجودیهای شبکه ساده) شرکتها یا مشتریان شما، واقعاً میخواهید بدانید کدام یک
سرورها و نسخه های پست و DNS در حال اجرا هستند. داشتن شماره نسخه دقیق کمک می کند
به طور چشمگیری در تعیین اینکه سرور در برابر کدام اکسپلویت ها آسیب پذیر است. تشخیص نسخه
به شما کمک می کند تا این اطلاعات را به دست آورید.
پس از کشف پورت های TCP و/یا UDP با استفاده از یکی از روش های اسکن دیگر، نسخه
تشخیص آن پورت ها را مورد بازجویی قرار می دهد تا اطلاعات بیشتری در مورد آنچه در حال اجرا است مشخص کند. در
nmap-service-probes. پایگاه داده شامل کاوشگرهایی برای پرس و جو از خدمات مختلف و مطابقت است
عباراتی برای شناسایی و تجزیه پاسخ ها. Nmap سعی می کند پروتکل سرویس را تعیین کند
(به عنوان مثال FTP، SSH، Telnet، HTTP)، نام برنامه (به عنوان مثال ISC BIND، Apache httpd، Solaris
telnetd)، شماره نسخه، نام میزبان، نوع دستگاه (مانند چاپگر، روتر)، خانواده سیستم عامل
(به عنوان مثال ویندوز، لینوکس). در صورت امکان، Nmap همچنین Common Platform Enumeration را دریافت می کند
(CPE). نمایش این اطلاعات گاهی اوقات جزئیات متفرقه مانند آیا
یک سرور X برای اتصالات باز است، نسخه پروتکل SSH یا نام کاربری KaZaA هستند
در دسترس. البته اکثر سرویس ها همه این اطلاعات را ارائه نمی دهند. اگر Nmap بود
با پشتیبانی OpenSSL کامپایل شده، به سرورهای SSL متصل می شود تا سرویس را استنباط کند
گوش دادن پشت آن لایه رمزگذاری.. برخی از پورت های UDP در حالت باز رها می شوند|فیلتر شده اند
وضعیت پس از اسکن پورت UDP قادر به تعیین باز یا فیلتر بودن پورت نیست.
تشخیص نسخه سعی میکند پاسخی را از این پورتها دریافت کند (همانطور که با آن انجام میشود
پورت ها را باز کنید) و در صورت موفقیت حالت را به باز تغییر دهید. open|پورت های TCP فیلتر شده هستند
به همین صورت رفتار کرد. توجه داشته باشید که Nmap -A گزینه تشخیص نسخه را در میان سایر موارد فعال می کند
چیزها مقاله ای که کار، استفاده و سفارشی سازی تشخیص نسخه را مستند می کند
در دسترس است https://nmap.org/book/vscan.html.
هنگامی که خدمات RPC کشف شد، آسیاب RPC Nmap. به طور خودکار استفاده می شود
برنامه RPC و شماره نسخه را تعیین کنید. تمام پورت های TCP/UDP شناسایی شده را می گیرد
RPC و آنها را با دستورات NULL برنامه SunRPC در تلاش برای تعیین اینکه آیا
آنها پورت های RPC هستند، و اگر چنین است، چه برنامه و شماره نسخه ای را ارائه می دهند. بنابراین شما می توانید
به طور موثر همان اطلاعات را به دست آورید rpcinfo -p حتی اگر پورت مپر هدف پشت a باشد
فایروال (یا با پوشش های TCP محافظت می شود). دکوها در حال حاضر با اسکن RPC کار نمی کنند.
هنگامی که Nmap پاسخ هایی را از یک سرویس دریافت می کند اما نمی تواند آنها را با پایگاه داده خود مطابقت دهد، آن را دریافت می کند
یک اثر انگشت خاص و یک URL را برای شما چاپ می کند تا اگر مطمئن هستید آن را ارسال کنید
آنچه در پورت اجرا می شود لطفا چند دقیقه وقت بگذارید تا ارسال را ارسال کنید تا
یافتن شما می تواند برای همه مفید باشد. به لطف این ارسال ها، Nmap حدود 6,500 الگو دارد
منطبق بر بیش از 650 پروتکل مانند SMTP، FTP، HTTP و غیره.
تشخیص نسخه با گزینه های زیر فعال و کنترل می شود:
-sV (تشخیص نسخه).
همانطور که در بالا توضیح داده شد، تشخیص نسخه را فعال می کند. به طور متناوب، می توانید استفاده کنید -A، که
تشخیص نسخه را در میان چیزهای دیگر فعال می کند.
-sR. نام مستعار برای است -sV. قبل از مارس 2011، برای فعال کردن آسیاب RPC استفاده می شد
جدا از تشخیص نسخه، اما اکنون این گزینه ها همیشه ترکیب می شوند.
-- allports (هیچ پورتی را از تشخیص نسخه مستثنی نکنید).
بهطور پیشفرض، تشخیص نسخه Nmap از پورت TCP 9100 عبور میکند، زیرا برخی از چاپگرها به سادگی
چاپ هر چیزی که به آن پورت ارسال می شود، که منجر به ده ها صفحه درخواست HTTP GET می شود،
درخواست های جلسه باینری SSL و غیره. این رفتار را می توان با تغییر یا تغییر داد
با حذف دستور Exclude در nmap-service-probes، یا می توانید مشخص کنید -- allports
برای اسکن تمام پورت ها بدون توجه به هر دستور Exclude.
- شدت نسخه شدت (تنظیم شدت اسکن نسخه) .
هنگام انجام اسکن نسخه (-sV)، Nmap یک سری کاوشگر می فرستد که هر کدام هستند
یک مقدار کمیاب بین یک و نه اختصاص داده است. پروب های با شماره کمتر موثر هستند
در برابر طیف گسترده ای از خدمات رایج، در حالی که خدمات با تعداد بالاتر به ندرت ارائه می شوند
مفید سطح شدت مشخص می کند که کدام پروب ها باید اعمال شوند. هر چه بالاتر باشد
تعداد، احتمال بیشتری وجود دارد که سرویس به درستی شناسایی شود. با این حال، بالا
اسکن شدت بیشتر طول می کشد. شدت باید بین 0 تا 9 باشد. پیش فرض این است
7.. هنگامی که یک پروب از طریق nmap-service-probesports در پورت هدف ثبت می شود.
دستورالعمل، آن کاوشگر بدون توجه به سطح شدت آزمایش می شود. این تضمین می کند که
پروب های DNS همیشه در برابر هر پورت باز 53 تلاش می شود، پروب SSL خواهد بود
در مقابل 443 و غیره انجام شد.
--نسخه-نور (فعال کردن حالت نور) .
این یک نام مستعار راحت برای است - شدت نسخه 2. این حالت نور نسخه را می سازد
اسکن بسیار سریعتر است، اما احتمال شناسایی خدمات کمی کمتر است.
--نسخه-همه (هر کاوشگر را امتحان کنید).
نام مستعار برای - شدت نسخه 9، حصول اطمینان از اینکه هر کاوشگر تلاش شده است
در برابر هر پورت
--نسخه-ردیابی (ردیابی فعالیت اسکن نسخه) .
این باعث میشود Nmap اطلاعات اشکالزدایی گستردهای را در مورد اینکه اسکن نسخه چیست چاپ کند
در حال انجام. این زیرمجموعه چیزی است که با آن به دست می آورید ---packet-trace.
OS شناسایی
یکی از شناخته شده ترین ویژگی های Nmap تشخیص سیستم عامل از راه دور با استفاده از پشته TCP/IP است
انگشت نگاری Nmap یک سری بسته های TCP و UDP را به میزبان راه دور می فرستد و بررسی می کند
عملا هر ذره در پاسخ ها. پس از انجام ده ها تست مانند TCP ISN
نمونهبرداری، پشتیبانی و سفارش گزینههای TCP، نمونهبرداری IP ID و اندازه پنجره اولیه
بررسی کنید، Nmap نتایج را با nmap-os-db خود مقایسه می کند. پایگاه داده بیش از 2,600 سیستم عامل شناخته شده
در صورت وجود اثر انگشت، جزئیات سیستم عامل را چاپ می کند. هر اثر انگشت شامل
یک توصیف متنی آزاد از سیستم عامل، و یک طبقه بندی که فروشنده را ارائه می دهد
نام (به عنوان مثال Sun)، سیستم عامل اصلی (مثلا Solaris)، سیستم عامل (مثلاً 10) و نوع دستگاه
(عمومی، روتر، سوئیچ، کنسول بازی و غیره). اکثر اثر انگشت ها نیز یک Common دارند
شمارش پلتفرم (CPE). نمایندگی، مانند cpe:/o:linux:linux_kernel:2.6.
اگر Nmap نتواند سیستم عامل دستگاه را حدس بزند و شرایط خوب باشد (به عنوان مثال حداقل یکی
پورت باز و یک پورت بسته پیدا شد)، Nmap نشانی اینترنتی ارائه می دهد که می توانید از آن برای ارسال استفاده کنید
اثر انگشت را اگر میدانید (مطمئناً) سیستمعاملی که روی دستگاه اجرا میشود. با این کار شما
به مجموعه سیستم عامل های شناخته شده Nmap کمک کنید و بنابراین بیشتر خواهد شد
دقیق برای همه
تشخیص سیستم عامل برخی آزمایشات دیگر را فعال می کند که از اطلاعات جمع آوری شده استفاده می کنند
به هر حال در طول فرآیند یکی از این موارد، TCP Sequence Predictability Classification است.
این تقریباً میزان سختی ایجاد یک اتصال TCP جعلی را نشان می دهد
میزبان راه دور برای بهره برداری از روابط اعتماد مبتنی بر IP مفید است (rlogin,
فیلترهای فایروال و غیره) یا برای پنهان کردن منبع حمله. این نوع جعل است
به ندرت دیگر انجام می شود، اما بسیاری از ماشین ها هنوز در برابر آن آسیب پذیر هستند. واقعی
عدد دشواری بر اساس نمونه گیری آماری است و ممکن است نوسان داشته باشد. به طور کلی است
بهتر است از طبقه بندی انگلیسی مانند "چالش ارزشمند" یا "شوخی بی اهمیت" استفاده کنید.
این فقط در خروجی معمولی به صورت کامل گزارش می شود (-v) حالت. وقتی حالت کلامی فعال است
همراه با -O، تولید توالی IP ID نیز گزارش شده است. اکثر ماشین آلات در
کلاس "افزایشی"، به این معنی که آنها فیلد ID در هدر IP را افزایش می دهند
هر بسته ای که می فرستند این آنها را در برابر چندین اطلاعات پیشرفته آسیب پذیر می کند
حملات جمع آوری و جعل
یکی دیگر از اطلاعات اضافی که توسط تشخیص سیستم عامل فعال می شود، حدس زدن زمان کارکرد هدف است.
این از گزینه TCP timestamp استفاده می کند (RFC 1323[10]) برای حدس زدن آخرین زمان یک ماشین
راه اندازی مجدد این حدس ممکن است نادرست باشد زیرا شمارنده مهر زمانی اولیه نشده است
به صفر می رسد یا شمارنده سرریز می شود و به اطراف می پیچد، بنابراین فقط به صورت پرمخاطب چاپ می شود
حالت.
مقالهای که کار، استفاده و سفارشیسازی تشخیص سیستمعامل را مستند میکند در این آدرس موجود است
https://nmap.org/book/osdetect.html.
تشخیص سیستم عامل با گزینه های زیر فعال و کنترل می شود:
-O (فعال کردن تشخیص سیستم عامل) .
همانطور که در بالا توضیح داده شد، تشخیص سیستم عامل را فعال می کند. به طور متناوب، می توانید استفاده کنید -A برای فعال کردن سیستم عامل
تشخیص همراه با چیزهای دیگر
--osscan-limit (تشخیص سیستم عامل را به اهداف امیدوارکننده محدود کنید).
اگر حداقل یک پورت TCP باز و یک پورت بسته باشد، تشخیص سیستم عامل بسیار موثرتر است
یافت. این گزینه را تنظیم کنید و Nmap حتی تشخیص سیستم عامل را در برابر میزبان هایی که انجام می دهند امتحان نمی کند
این معیار را برآورده نمی کند این می تواند در زمان قابل توجهی صرفه جویی کند، به خصوص در -پن اسکن
مقابل بسیاری از میزبانان فقط زمانی مهم است که تشخیص سیستم عامل با آن درخواست شود -O or -A.
--osscan-guess; --درهم (نتایج تشخیص سیستم عامل را حدس بزنید).
هنگامی که Nmap قادر به تشخیص تطابق کامل سیستم عامل نیست، گاهی اوقات موارد نزدیک را ارائه می دهد
به عنوان احتمالات مطابقت باید بسیار نزدیک باشد تا Nmap به طور پیش فرض این کار را انجام دهد.
هر یک از این گزینه ها (معادل) باعث می شود Nmap با شدت بیشتری حدس بزند. Nmap خواهد شد
هنوز هم به شما می گوید چه زمانی یک مسابقه ناقص چاپ می شود و سطح اطمینان آن را نشان می دهد
(درصد) برای هر حدس.
--max-os-tries (حداکثر تعداد تلاش های شناسایی سیستم عامل را در برابر یک هدف تنظیم کنید).
هنگامی که Nmap تشخیص سیستم عامل را در برابر یک هدف انجام می دهد و نتواند مطابقت کامل را پیدا کند، آن را انجام می دهد
معمولا تلاش را تکرار می کند. به طور پیش فرض، Nmap در صورت وجود شرایط، پنج بار تلاش می کند
برای ارسال اثر انگشت سیستم عامل مطلوب است، و دو بار زمانی که شرایط چندان خوب نیست.
تعیین یک پایین تر --max-os-tries مقدار (مانند 1) Nmap را سرعت می بخشد، اگرچه شما از دست می دهید
در تلاش های مجدد که به طور بالقوه می تواند سیستم عامل را شناسایی کند. متناوبا، یک ارزش بالا
ممکن است تنظیم شود تا در صورت مساعد بودن شرایط، امکان تکرار بیشتر را فراهم کند. این به ندرت است
انجام شد، به جز ایجاد اثر انگشت بهتر برای ارسال و ادغام در
پایگاه داده Nmap OS.
nmap اسکریپت موتور (NSE)
موتور برنامهنویسی Nmap (NSE) یکی از قدرتمندترین و انعطافپذیرترین ویژگیهای Nmap است. آی تی
به کاربران اجازه می دهد اسکریپت های ساده بنویسند (و به اشتراک بگذارند) (با استفاده از لوا برنامه نویسی زبان[11].
) برای خودکارسازی طیف گسترده ای از وظایف شبکه. آن اسکریپت ها به صورت موازی اجرا می شوند
با سرعت و کارایی که از Nmap انتظار دارید. کاربران می توانند به رشد و تکیه کنند
مجموعه متنوعی از اسکریپتها با Nmap توزیع میشوند یا اسکریپتهای خود را برای رفع نیازهای سفارشی مینویسند.
وظایفی که هنگام ایجاد سیستم در نظر داشتیم شامل کشف شبکه و موارد دیگر است
تشخیص نسخه پیچیده، تشخیص آسیب پذیری. حتی می توان از NSE برای
بهره برداری از آسیب پذیری
برای انعکاس آن کاربردهای مختلف و ساده کردن انتخاب هر کدام از اسکریپت ها برای اجرا
اسکریپت حاوی فیلدی است که آن را با یک یا چند دسته مرتبط می کند. در حال حاضر تعریف شده است
دسته ها عبارتند از auth، پخش، پیش فرض. کشف، انجام، بهره برداری، خارجی، فازر،
نفوذی، بدافزار، امن، نسخه و vuln. اینها همه در شرح داده شده است
https://nmap.org/book/nse-usage.html#nse-categories.
اسکریپت ها در sandbox اجرا نمی شوند و بنابراین می توانند به طور تصادفی یا مخرب به شما آسیب برسانند
سیستم یا به حریم خصوصی شما حمله کند. هرگز اسکریپت های شخص ثالث را اجرا نکنید مگر اینکه به آن اعتماد دارید
نویسندگان یا خودتان فیلمنامه ها را به دقت بررسی کرده اید.
Nmap Scripting Engine به تفصیل در اینجا توضیح داده شده است https://nmap.org/book/nse.html و است
توسط گزینه های زیر کنترل می شود:
-sC .
اسکن اسکریپت را با استفاده از مجموعه پیش فرض اسکریپت ها انجام می دهد. معادل است با
--script=پیش فرض. برخی از اسکریپت های این دسته را سرزده و
نباید بدون مجوز علیه شبکه هدف اجرا شود.
- متن نام فایل|دسته|فهرست راهنما|بیان[،...] .
اسکن اسکریپت را با استفاده از لیست نام فایل ها، دسته های اسکریپت و
دایرکتوری ها هر عنصر در لیست ممکن است یک عبارت بولی باشد که a را توصیف می کند
مجموعه پیچیده تری از اسکریپت ها هر عنصر ابتدا به عنوان یک عبارت تفسیر می شود، سپس
به عنوان یک دسته و در نهایت به عنوان نام فایل یا دایرکتوری.
دو ویژگی ویژه فقط برای کاربران پیشرفته وجود دارد. یکی این است که نام اسکریپت ها را پیشوند بگذارید
و عبارات با + برای مجبور کردن آنها به اجرا حتی اگر معمولاً این کار را نمی کردند (مثلاً
سرویس مربوطه در پورت هدف شناسایی نشد). دیگر این که برهان
همه ممکن است برای تعیین هر اسکریپت در پایگاه داده Nmap استفاده شوند. در این مورد محتاط باشید
زیرا NSE حاوی اسکریپت های خطرناکی مانند اکسپلویت ها، احراز هویت brute force است
کراکرها و حملات انکار سرویس.
نام فایل و دایرکتوری ممکن است نسبی یا مطلق باشد. از اسامی مطلق استفاده می شود
به طور مستقیم. مسیرهای نسبی در اسکریپت های هر یک از مکان های زیر جستجو می شوند
تا پیدا شدن: --datadir
$NMAPDIR.
~/.nmap (در ویندوز جستجو نشده است).
صفحه اصلی\AppData\Roaming\nنقشه (فقط در ویندوز).
دایرکتوری حاوی فایل اجرایی nmap
دایرکتوری حاوی فایل اجرایی nmap و به دنبال آن ../share/nmap
nmapdatadir.
دایرکتوری فعلی
هنگامی که نام دایرکتوری داده می شود، Nmap هر فایلی را در فهرستی که نام آن به پایان می رسد بارگیری می کند
با nse. همه فایل های دیگر نادیده گرفته می شوند و دایرکتوری ها به صورت بازگشتی جستجو نمی شوند. چه زمانی
یک نام فایل داده شده است، لازم نیست پسوند nse. اضافه خواهد شد
در صورت لزوم به طور خودکار اسکریپت های Nmap در یک زیر شاخه اسکریپت از Nmap ذخیره می شوند
دایرکتوری داده به طور پیش فرض (نگاه کنید به https://nmap.org/book/data-files.html). برای بهره وری،
اسکریپت ها در یک پایگاه داده ذخیره شده در scripts/script.db، نمایه می شوند. که دسته را فهرست می کند
یا دسته هایی که هر اسکریپت به آن تعلق دارد. هنگام مراجعه به اسکریپت های script.db توسط
نام، می توانید از یک علامت عام "*" به سبک پوسته استفاده کنید.
nmap - متن "http-*"
همه اسکریپت هایی را که نام آنها با http- شروع می شود، مانند http-auth و http-open-proxy بارگیری می کند.
استدلال به - متن برای محافظت از حروف عام در برابر پوسته، باید در نقل قول قرار می گرفت.
انتخاب اسکریپت پیچیده تر را می توان با استفاده از و، یا، و نه عملگرهای انجام داد
ساخت عبارات بولی اپراتورها هم همین را دارند تقدم[12] چنانکه در لوا: نیست
بالاترین، به دنبال آن و و سپس یا. با استفاده از پرانتز می توانید اولویت را تغییر دهید.
از آنجا که عبارات حاوی کاراکترهای فاصله هستند، لازم است آنها را نقل قول کنید.
nmap - متن "نه سرزده"
همه اسکریپت ها را به جز مواردی که در دسته نفوذی قرار دارند بارگذاری می کند.
nmap - متن "پیش فرض or بی خطر"
این از نظر عملکردی معادل است nmap - متن "پیش فرض، ایمن". همه اسکریپت ها را بارگذاری می کند
که در دسته پیش فرض یا دسته امن یا هر دو قرار دارند.
nmap - متن "پیش فرض و بی خطر"
اسکریپت هایی را که در آن هستند بارگیری می کند هر دو دسته های پیش فرض و ایمن
nmap - متن "(پیش فرض or امن or سرزده) و نه http-*"
اسکریپتها را در دستههای پیشفرض، ایمن یا مزاحم بارگیری میکند، به جز مواردی که
نام ها با http- شروع می شوند.
--script-args n1=v1,n2={n3=v3},n4={v4,v5} .
به شما امکان می دهد آرگومان هایی را برای اسکریپت های NSE ارائه دهید. آرگومان ها لیستی هستند که با کاما از هم جدا شده اند
جفت نام = ارزش نامها و مقادیر ممکن است رشتههایی باشند که حاوی فضای خالی یا the نباشند
کاراکترهای '{'، '}'، '='، یا ','. برای گنجاندن یکی از این کاراکترها در یک رشته،
رشته را در یک یا دو گیومه قرار دهید. در یک رشته نقل قول، '\' از a فرار می کند
نقل قول اسلش معکوس فقط برای فرار از علامت نقل قول در این مورد خاص استفاده می شود. در همه
موارد دیگر، یک بک اسلش به معنای واقعی کلمه تفسیر می شود. مقادیر نیز ممکن است جداول ضمیمه شده باشند
در {}، درست مانند Lua. یک جدول ممکن است حاوی مقادیر رشته ای ساده یا مقدار نام بیشتری باشد
جفت ها، از جمله جداول تو در تو. بسیاری از اسکریپت ها استدلال های خود را با اسکریپت واجد شرایط می کنند
نام، مانند xmpp-info.server_name. می توانید از آن نسخه کامل واجد شرایط برای تأثیرگذاری استفاده کنید
فقط اسکریپت مشخص شده، یا ممکن است نسخه ناموفق (server_name را وارد کنید
این مورد) برای تحت تاثیر قرار دادن تمام اسکریپت ها با استفاده از آن نام آرگومان. ابتدا یک اسکریپت بررسی می شود
برای نام آرگومان کاملا واجد شرایط آن (نامی که در مستندات آن مشخص شده است) قبلاً
نام آرگومان ناموفق را می پذیرد. یک مثال پیچیده از آرگومان های اسکریپت است
--script-args
'user=foo,pass=",{}=bar,whois={whodb=nofollow+ripe},xmpp-info.server_name=localhost'.
پورتال آنلاین اسناد NSE در https://nmap.org/nsedoc/ آرگومان ها را فهرست می کند
که هر اسکریپت می پذیرد.
--script-args-file نام فایل .
به شما امکان می دهد آرگومان های اسکریپت های NSE را از یک فایل بارگیری کنید. هر گونه آرگومان در خط فرمان
جایگزین موارد موجود در فایل فایل می تواند یک مسیر مطلق یا یک مسیر نسبت به
مسیر جستجوی معمول Nmap (NMAPDIR و غیره) آرگومان ها را می توان با کاما از هم جدا کرد یا
خط جدید جدا شده است، اما در غیر این صورت از قوانین مشابه برای پیروی کنید --script-args، بدون
نیاز به نقل قول و فرار ویژه دارند، زیرا توسط پوسته تجزیه نمی شوند.
--اسکریپت-کمک نام فایل|دسته|فهرست راهنما|بیان|همه[،...] .
راهنمایی در مورد اسکریپت ها را نشان می دهد. برای هر اسکریپت مطابق با مشخصات داده شده، Nmap
نام اسکریپت، دسته بندی ها و توضیحات آن را چاپ می کند. مشخصات هستند
همان کسانی که توسط - متن; به عنوان مثال اگر در مورد آن کمک می خواهید
اسکریپت ftp-anon، شما اجرا می کنید nmap --اسکریپت-کمک ftp-anon. علاوه بر گرفتن
کمک برای اسکریپت های جداگانه، می توانید از این به عنوان پیش نمایشی از اسکریپت هایی که اجرا می شوند استفاده کنید
برای یک مشخصات، به عنوان مثال با nmap --اسکریپت-کمک به طور پیش فرض.
---اسکریپت-ردیابی .
این گزینه چه کاری را انجام می دهد ---packet-trace فقط یک لایه ISO بالاتر است. اگر این گزینه
مشخص شده است تمام ارتباطات ورودی و خروجی انجام شده توسط یک اسکریپت چاپ می شود.
اطلاعات نمایش داده شده شامل پروتکل ارتباطی، منبع، هدف است
و داده های ارسال شده اگر بیش از 5 درصد از کل داده های ارسالی قابل چاپ نباشد،
سپس خروجی ردیابی در فرمت hex dump است. مشخص کردن ---packet-trace را قادر می سازد
ردیابی اسکریپت نیز
--script-updatedb .
این گزینه پایگاه داده اسکریپت موجود در scripts/script.db را که توسط استفاده می شود به روز می کند
Nmap برای تعیین اسکریپت ها و دسته بندی های پیش فرض موجود. فقط لازم است
اگر اسکریپت های NSE را از حالت پیش فرض اضافه کرده یا حذف کرده اید، پایگاه داده را به روز کنید
دایرکتوری scripts یا اگر دسته بندی هر اسکریپت را تغییر داده اید. این گزینه است
به طور کلی به خودی خود استفاده می شود: nmap --script-updatedb.
زمان سنجی و کارایی
یکی از بالاترین اولویت های توسعه Nmap من همیشه عملکرد بوده است. یک اسکن پیش فرض
(nmap نام میزبان) یک میزبان در شبکه محلی من یک پنجم ثانیه طول می کشد. که به سختی
زمان کافی برای چشمک زدن است، اما زمانی که صدها یا هزاران هاست را اسکن میکنید، این زمان اضافه میشود.
علاوه بر این، برخی گزینههای اسکن مانند اسکن UDP و تشخیص نسخه میتوانند افزایش پیدا کنند
زمان اسکن قابل ملاحظه ای پیکربندیهای فایروال خاص، بهویژه پاسخ، همینطور است
محدود کردن نرخ در حالی که Nmap از موازی سازی و بسیاری از الگوریتم های پیشرفته برای شتاب گیری استفاده می کند
این اسکن ها، کاربر کنترل نهایی بر نحوه اجرای Nmap دارد. کاربران متخصص با دقت
دستورات craft Nmap برای به دست آوردن تنها اطلاعاتی که در حین ملاقات با آنها اهمیت دارند
محدودیت های زمانی.
تکنیک های بهبود زمان اسکن شامل حذف تست های غیر بحرانی و ارتقاء به
آخرین نسخه Nmap (پیشرفت عملکرد اغلب انجام می شود). بهینه سازی
پارامترهای زمان بندی نیز می توانند تفاوت اساسی ایجاد کنند. این گزینه ها در زیر فهرست شده اند.
برخی از گزینه ها پارامتر زمان را می پذیرند. این به صورت پیشفرض در چند ثانیه مشخص شده است، اما شما
میتواند «ms»، «s»، «m» یا «h» را به مقدار اضافه کند تا میلیثانیه، ثانیه، دقیقه،
یا ساعت ها بنابراین ---میزبان تایم اوت آرگومان های 900000ms، 900، 900s و 15m همگی همین کار را انجام می دهند.
چیز.
--min-hostgroup numhosts; --max-hostgroup numhosts (اندازه های گروه اسکن موازی را تنظیم کنید) .
Nmap قابلیت پورت اسکن یا اسکن نسخه چند هاست را به صورت موازی دارد. Nmap
این کار را با تقسیم فضای IP هدف به گروه ها و سپس اسکن یک گروه در a انجام می دهد
زمان. به طور کلی، گروه های بزرگتر کارآمدتر هستند. نقطه ضعف این است که نتایج میزبان است
تا زمانی که کل گروه تمام نشده باشد، نمی توان ارائه داد. بنابراین اگر Nmap با a شروع کرد
اندازه گروه 50، کاربر هیچ گزارشی (به جز به روز رسانی) دریافت نمی کند
ارائه شده در حالت کلامی) تا زمانی که 50 میزبان اول تکمیل شود.
به طور پیش فرض، Nmap یک رویکرد مصالحه برای این تضاد اتخاذ می کند. با یک شروع می شود
اندازه گروه به اندازه XNUMX است بنابراین اولین نتایج به سرعت می آیند و سپس افزایش می یابد
تا 1024 گروه بندی کنید. اعداد پیش فرض دقیق به گزینه های داده شده بستگی دارد.
به دلایل کارایی، Nmap از اندازه های گروه بزرگتر برای اسکن UDP یا TCP چند پورت استفاده می کند.
هنگامی که حداکثر اندازه گروه با مشخص شده است --max-hostgroup، Nmap هرگز تجاوز نخواهد کرد
آن اندازه حداقل اندازه را با --min-hostgroup و Nmap سعی خواهد کرد گروه را نگه دارد
اندازه های بالاتر از آن سطح در صورت وجود Nmap ممکن است مجبور باشد از گروههای کوچکتر از آنچه شما مشخص کردهاید استفاده کند
میزبان های هدف کافی در یک رابط داده شده برای انجام موارد مشخص شده باقی نمی مانند
کمترین. هر دو ممکن است طوری تنظیم شوند که اندازه گروه را در یک محدوده خاص نگه دارند، هرچند این
به ندرت مورد نظر است.
این گزینه ها در مرحله کشف میزبان اسکن تأثیری ندارند. این
شامل اسکن پینگ ساده (-sn). کشف میزبان همیشه در گروه های بزرگ میزبان کار می کند
برای بهبود سرعت و دقت
استفاده اولیه از این گزینه ها تعیین حداقل اندازه گروه بزرگ است به طوری که
اسکن کامل سریعتر اجرا می شود. یک انتخاب رایج 256 برای اسکن یک شبکه در اندازه کلاس C است
تکه ها برای اسکن با پورت های زیاد، بیش از این تعداد بعید است کمک زیادی کند.
برای اسکن فقط چند شماره پورت، اندازه گروه میزبان 2048 یا بیشتر ممکن است مفید باشد.
--دقیقه موازی تعداد پروب ها; -- حداکثر موازی تعداد پروب ها (تنظیم موازی سازی پروب) .
این گزینه ها تعداد کل پروب هایی را که ممکن است برای یک میزبان برجسته باشند کنترل می کنند
گروه آنها برای اسکن پورت و کشف میزبان استفاده می شوند. به طور پیش فرض، Nmap محاسبه می کند
یک موازی سازی ایده آل همیشه در حال تغییر بر اساس عملکرد شبکه. اگر بسته ها در حال بودن هستند
کاهش یافته، Nmap کند می شود و کاوشگرهای برجسته کمتری را امکان پذیر می کند. شماره پروب ایده آل
به آرامی بالا می رود زیرا شبکه خود را شایسته نشان می دهد. این گزینه ها حداقل یا
حداکثر کران روی آن متغیر به طور پیش فرض، توازی ایده آل می تواند به یک اگر کاهش یابد
ثابت می شود که شبکه غیر قابل اعتماد است و در شرایط عالی به چند صد افزایش می یابد.
رایج ترین استفاده برای تنظیم است --دقیقه موازی به عددی بالاتر از یک به سرعت
اسکن هاست ها یا شبکه هایی که عملکرد ضعیفی دارند. این یک گزینه خطرناک برای بازی است،
زیرا تنظیم بیش از حد آن ممکن است بر دقت تأثیر بگذارد. تنظیم این نیز توانایی Nmap را کاهش می دهد
برای کنترل موازی به صورت پویا بر اساس شرایط شبکه. مقدار 10 ممکن است باشد
منطقی است، اگرچه من این مقدار را فقط به عنوان آخرین راه حل تنظیم می کنم.
La -- حداکثر موازی گاهی اوقات گزینه یک تنظیم می شود تا از ارسال Nmap بیشتر جلوگیری شود
بیش از یک کاوشگر در یک زمان به میزبان. در ---اسکن-تاخیر گزینه ای که بعداً مورد بحث قرار گرفت است
راه دیگری برای انجام این کار
--min-rtt-timeout زمان, --max-rtt-timeout زمان, --initial-rtt-timeout زمان (پروب را تنظیم کنید
تایم اوت ها).
Nmap یک مقدار زمان در حال اجرا را برای تعیین مدت زمان انتظار برای a حفظ می کند
پاسخ کاوشگر قبل از رها کردن یا ارسال مجدد پروب. این بر اساس محاسبه می شود
در زمان پاسخ کاوشگرهای قبلی
اگر تأخیر شبکه خود را قابل توجه و متغیر نشان دهد، این زمان می تواند
به چند ثانیه رشد کند. همچنین از سطح محافظه کارانه (بالا) شروع می شود و ممکن است باقی بماند
زمانی که Nmap هاست های پاسخگو را اسکن می کند، مدتی به این ترتیب است.
تعیین یک پایین تر --max-rtt-timeout و --initial-rtt-timeout از پیش فرض ها می تواند
زمان اسکن را به میزان قابل توجهی کاهش دهید. این به ویژه برای بدون پینگ صادق است (-پن) اسکن می کند و
آنهایی که علیه شبکه های به شدت فیلتر شده هستند. هر چند زیاد تهاجمی نشوید. اسکن می تواند
اگر مقدار بسیار پایینی را مشخص کنید که زمان بسیاری از کاوشگرها به پایان برسد، بیشتر طول می کشد
و در حالی که پاسخ در حال انتقال است، دوباره ارسال می شود.
اگر همه هاست ها در یک شبکه محلی باشند، 100 میلی ثانیه (--max-rtt-timeout 100ms) است
یک ارزش تهاجمی معقول اگر مسیریابی درگیر است، یک میزبان را در شبکه پینگ کنید
ابتدا با ابزار پینگ ICMP یا با یک بسته crafter سفارشی مانند Nping. که
احتمال عبور از فایروال بیشتر است. به حداکثر زمان رفت و برگشت از
ده بسته یا بیشتر ممکن است بخواهید آن را دو برابر کنید --initial-rtt-timeout و
آن را سه یا چهار برابر کنید --max-rtt-timeout. من به طور کلی حداکثر تعیین نمی کنم
RTT زیر 100 میلی ثانیه، مهم نیست که زمان پینگ چقدر است. همچنین از 1000 میلیثانیه تجاوز نمیکنم.
--min-rtt-timeout گزینهای است که به ندرت استفاده میشود و در صورت استفاده از شبکه میتواند مفید باشد
غیر قابل اعتماد است که حتی پیش فرض Nmap بسیار تهاجمی است. از آنجایی که Nmap فقط مقدار را کاهش می دهد
زمانی که شبکه قابل اعتماد به نظر می رسد به حداقل می رسد، این نیاز است
غیر معمول است و باید به عنوان یک اشکال در لیست پستی nmap-dev گزارش شود.
-- max - دوباره تلاش می کند اعداد (حداکثر تعداد ارسال مجدد پروب اسکن پورت را مشخص کنید) .
وقتی Nmap به پروب اسکن پورت پاسخی دریافت نمی کند، می تواند به این معنی باشد که پورت درست است
فیلتر شده. یا شاید کاوشگر یا پاسخ به سادگی در شبکه گم شده باشد. همچنین است
ممکن است میزبان هدف دارای محدودیت نرخ فعال باشد که به طور موقت آن را مسدود کرده است
واکنش. بنابراین Nmap با ارسال مجدد پروب اولیه دوباره تلاش می کند. اگر Nmap تشخیص دهد
قابلیت اطمینان شبکه ضعیف است، ممکن است قبل از اینکه پورت را رها کند، چندین بار تلاش کند. در حالی که
این از دقت بهره می برد، همچنین زمان اسکن را طولانی تر می کند. وقتی عملکرد حیاتی است،
اسکنها ممکن است با محدود کردن تعداد ارسالهای مجدد مجاز افزایش یابد. شما حتی می توانید
مشخص كردن -- max - دوباره تلاش می کند 0 برای جلوگیری از هرگونه ارسال مجدد، هر چند که فقط همین است
توصیه می شود برای موقعیت هایی مانند بررسی های غیر رسمی که در آن پورت های گاه به گاه از دست رفته و
هاست قابل قبول است
پیش فرض (با شماره -T الگو) اجازه می دهد تا ده بار ارسال مجدد. اگر یک شبکه به نظر می رسد
قابل اعتماد و میزبان های هدف محدود کننده نرخ نیستند، Nmap معمولا فقط یک مورد را انجام می دهد
ارسال مجدد بنابراین اکثر اسکنهای هدف حتی تحت تأثیر رها کردن قرار نمیگیرند -- max - دوباره تلاش می کند به
یک مقدار کم مانند سه. چنین مقادیری می توانند سرعت اسکن آهسته (نرخ
محدود) میزبان. معمولاً وقتی Nmap زودتر از پورت ها صرف نظر می کند، برخی از اطلاعات را از دست می دهید.
اگرچه ممکن است ترجیح داده شود که اجازه دهید ---میزبان تایم اوت منقضی می شود و همه را از دست می دهد
اطلاعات در مورد هدف
---میزبان تایم اوت زمان (از میزبان های هدف کند دست بکشید) .
برخی از میزبان ها به سادگی یک را می گیرند طولانی زمان اسکن این ممکن است به دلیل عملکرد ضعیف یا
سختافزار یا نرمافزار شبکه غیرقابل اعتماد، محدود کردن نرخ بسته، یا محدودکننده
دیواره آتش. کندترین درصد هاست های اسکن شده می توانند اکثریت آنها را بخورند
زمان اسکن گاهی اوقات بهتر است ضررهای خود را کاهش دهید و در ابتدا از آن هاست صرفنظر کنید.
مشخص کردن ---میزبان تایم اوت با حداکثر زمانی که مایل به صبر هستید. برای
به عنوان مثال، 30 متر را مشخص کنید تا اطمینان حاصل کنید که Nmap بیش از نیم ساعت را روی a تلف نمی کند
میزبان تک توجه داشته باشید که Nmap ممکن است در آن زمان میزبان های دیگر را به طور همزمان اسکن کند
نیم ساعت، پس از دست دادن کامل نیست. میزبانی که تایم اوت می شود حذف می شود. بدون پورت
جدول، تشخیص سیستم عامل یا نتایج تشخیص نسخه برای آن میزبان چاپ می شود.
---اسکن-تاخیر زمان; -- حداکثر اسکن تاخیر زمان (تأخیر بین پروب ها را تنظیم کنید).
این گزینه باعث می شود Nmap حداقل مدت زمان معینی را بین هر کاوشگر منتظر بماند
آن را به یک میزبان معین ارسال می کند. این به ویژه در مورد محدود کردن نرخ مفید است.
ماشینهای سولاریس (در میان بسیاری دیگر) معمولاً به بستههای پروب اسکن UDP پاسخ میدهند
تنها با یک پیام ICMP در ثانیه. هر چیزی بیشتر از آن ارسال شده توسط Nmap خواهد بود
بی فایده. آ ---اسکن-تاخیر از 1s Nmap را با آن سرعت پایین نگه می دارد. Nmap سعی در شناسایی دارد
سرعت را محدود کرده و تأخیر اسکن را بر اساس آن تنظیم کنید، اما تعیین آن ضرری ندارد
به صراحت اگر از قبل می دانید چه نرخی بهتر عمل می کند.
وقتی Nmap تأخیر اسکن را به سمت بالا تنظیم می کند تا با محدودیت سرعت مقابله کند، اسکن کند می شود
به طور چشمگیری کاهش یافت در -- حداکثر اسکن تاخیر گزینه بزرگترین تاخیر Nmap را مشخص می کند
اجازه خواهد داد. یک کم -- حداکثر اسکن تاخیر می تواند Nmap را سرعت بخشد، اما خطرناک است. تنظیم این
ارزش بسیار کم می تواند منجر به ارسال مجدد بسته های بیهوده و پورت های از دست رفته احتمالی شود
زمانی که هدف محدودیت نرخ را سخت اجرا می کند.
استفاده دیگر از ---اسکن-تاخیر فرار از تشخیص نفوذ مبتنی بر آستانه و
سیستم های پیشگیری (IDS/IPS)..
-- نرخ دقیقه عدد; -- حداکثر نرخ عدد (مستقیم نرخ اسکن را کنترل کنید) .
زمانبندی پویا Nmap برای یافتن سرعت مناسب کار خوبی انجام میدهد
اسکن کنید. با این حال، گاهی اوقات ممکن است نرخ اسکن مناسب برای a را بدانید
شبکه، یا ممکن است مجبور باشید تضمین کنید که اسکن تا زمان مشخصی به پایان می رسد.
یا شاید باید Nmap را از اسکن خیلی سریع دور نگه دارید. را -- نرخ دقیقه و -- حداکثر نرخ
گزینه ها برای این مواقع طراحی شده اند.
هنگامی که -- نرخ دقیقه گزینه داده شده است Nmap تمام تلاش خود را می کند تا بسته ها را به همان سرعتی ارسال کند
یا سریعتر از نرخ داده شده آرگومان یک عدد واقعی مثبت است که نشان دهنده a است
نرخ بسته به بسته در ثانیه مثلا مشخص کردن -- نرخ دقیقه 300 یعنی که
Nmap سعی میکند نرخ ارسال را روی 300 بسته در ثانیه یا بالاتر از آن نگه دارد. مشخص کردن
در صورت اقتضای شرایط، یک نرخ حداقل مانع از سریعتر شدن Nmap نمی شود.
به همین ترتیب، -- حداکثر نرخ سرعت ارسال اسکن را به حداکثر معین محدود می کند. استفاده کنید -- حداکثر نرخ
100به عنوان مثال، برای محدود کردن ارسال به 100 بسته در ثانیه در یک شبکه سریع. استفاده کنید
-- حداکثر نرخ 0.1 برای اسکن آهسته یک بسته در هر ده ثانیه. استفاده کنید -- نرخ دقیقه و
-- حداکثر نرخ با هم تا نرخ را در محدوده خاصی نگه دارند.
این دو گزینه جهانی هستند و بر کل اسکن تأثیر میگذارند، نه میزبانهای جداگانه. آنها
فقط اسکن پورت و اسکن های کشف میزبان را تحت تاثیر قرار می دهد. ویژگی های دیگر مانند تشخیص سیستم عامل
زمان بندی خود را اجرا کنند.
دو شرط وجود دارد که نرخ اسکن واقعی ممکن است کمتر از میزان درخواستی باشد
کمترین. اولین مورد این است که اگر مینیمم سریعتر از سریعترین نرخی باشد که Nmap می تواند انجام دهد
ارسال، که وابسته به سخت افزار است. در این مورد Nmap به سادگی بسته ها را به عنوان ارسال می کند
تا حد امکان سریع تر، اما توجه داشته باشید که چنین نرخ های بالایی ممکن است باعث از دست دادن آن شود
دقت. حالت دوم زمانی است که Nmap چیزی برای ارسال ندارد، مثلاً در انتهای آن
اسکن زمانی که آخرین کاوشگرها ارسال شده اند و Nmap در انتظار اتمام زمان است یا
پاسخ داده شود. طبیعی است که در پایان یا در پایان اسکن، میزان اسکن را کاهش دهید
بین گروه های میزبان نرخ ارسال ممکن است به طور موقت از حداکثر برای جبران بیشتر شود
تأخیرهای غیرقابل پیش بینی، اما به طور متوسط نرخ در حداکثر یا کمتر از حداکثر باقی می ماند.
تعیین حداقل نرخ باید با دقت انجام شود. اسکن سریعتر از یک شبکه
پشتیبانی ممکن است منجر به از دست دادن دقت شود. در برخی موارد، استفاده از یک نرخ سریعتر می تواند باعث شود
اسکن گرفتن دیگر نسبت به سرعت پایین تر. این به دلیل تطبیق Nmap است
الگوریتمهای ارسال مجدد تراکم شبکه ناشی از بیش از حد را تشخیص خواهند داد
نرخ اسکن و افزایش تعداد ارسال مجدد به منظور بهبود دقت.
بنابراین حتی اگر بسته ها با نرخ بالاتری ارسال شوند، بسته های بیشتری به طور کلی ارسال می شوند. کلاه لبه دار
تعداد ارسال مجدد با -- max - دوباره تلاش می کند اگر نیاز به تنظیم یک گزینه دارید
حد بالایی در کل زمان اسکن
--defeat-rst-ratelimit .
بسیاری از هاست ها مدت هاست از محدودیت نرخ استفاده می کنند. برای کاهش تعداد پیام های خطای ICMP
(مانند خطاهای غیرقابل دسترسی پورت) ارسال می کنند. اکنون برخی از سیستم ها نرخ مشابهی را اعمال می کنند
محدودیت هایی برای بسته های RST (بازنشانی) که تولید می کنند. این می تواند سرعت Nmap را به طور چشمگیری کاهش دهد
همانطور که زمان بندی خود را برای منعکس کردن آن محدودیت های نرخ تنظیم می کند. می توانید به Nmap بگویید نادیده بگیرد
آن محدودیت های نرخ (برای اسکن پورت مانند اسکن SYN که نکن درمان غیر پاسخگو
پورت ها به صورت باز) با مشخص کردن --defeat-rst-ratelimit.
استفاده از این گزینه می تواند دقت را کاهش دهد، زیرا برخی از پورت ها غیر پاسخگو به نظر می رسند
زیرا Nmap برای پاسخ RST با نرخ محدود به اندازه کافی صبر نکرد. با اسکن SYN،
عدم پاسخگویی باعث می شود که پورت به جای بسته بودن برچسب فیلتر شده باشد
حالتی که هنگام دریافت بسته های RST مشاهده می کنیم. این گزینه زمانی مفید است که شما فقط اهمیت می دهید
در مورد پورت های باز، و تمایز بین پورت های بسته و فیلتر شده ارزش این کار را ندارد
زمان اضافی.
---موتور epoll|kue|نظرسنجی|انتخاب کنید .
استفاده از یک موتور مالتی پلکس nsock IO معین را اجباری کنید. فقط را انتخاب کنیدبازگشتی مبتنی بر (2)
موتور تضمین شده است که در سیستم شما در دسترس است. موتورها بر اساس این نام نامگذاری می شوند
تسهیلات مدیریت IO که آنها از آنها استفاده می کنند. موتورهایی که در حال حاضر پیاده سازی می شوند اپول هستند،
kqueue، نظرسنجی، و انتخاب کنید، اما همه در هیچ پلتفرمی وجود ندارند. استفاده کنید nmap -V به
ببینید کدام موتورها پشتیبانی می شوند.
-T پارانوئید | یواشکی | مودب | عادی | پرخاشگر | دیوانه (یک الگوی زمان بندی تنظیم کنید) .
در حالی که کنترلهای زمانبندی دقیقی که در بخش قبل مورد بحث قرار گرفت، قدرتمند هستند
و موثر، برخی از مردم آنها را گیج کننده می دانند. علاوه بر این، انتخاب مناسب
مقادیر ممکن است گاهی اوقات بیشتر از اسکنی که می خواهید بهینه سازی کنید زمان می برد. بنابراین Nmap
یک رویکرد ساده تر، با شش الگوی زمان بندی ارائه می دهد. شما می توانید آنها را با -T
گزینه و شماره آنها (0-5) یا نام آنها. نام قالب ها هستند پارانوئید (0),
اب زیر کاه (1), با ادب (2), طبیعی (3), مهاجم (4)، و دیوانه (5). دو مورد اول هستند
برای فرار از IDS حالت مودبانه سرعت اسکن را کاهش می دهد تا از پهنای باند و هدف کمتری استفاده کند
منابع ماشینی حالت عادی پیش فرض است و غیره -T3 هیچ کاری نمی کند حالت تهاجمی
با این فرض که شما در سرعت معقولی سریع هستید، اسکن را سرعت می بخشد
شبکه قابل اعتماد بالاخره حالت دیوانه. فرض می کند که شما در حالت فوق العاده ای هستید
شبکه سریع و یا مایل به فدا کردن برخی از دقت برای سرعت.
این الگوها به کاربر این امکان را میدهند که مشخص کند میخواهد چقدر تهاجمی باشد، در حالی که
رها کردن Nmap برای انتخاب مقادیر دقیق زمان. قالب ها نیز سرعت کمی دارند
تنظیماتی که در حال حاضر گزینه های کنترل ریز برای آنها وجود ندارد. برای
مثال، -T4. تاخیر اسکن پویا را از بیش از 10 میلی ثانیه برای پورت های TCP و
-T5 مقدار آن 5 میلیثانیه است. قالب ها را می توان در ترکیب با دانه های ریز استفاده کرد
کنترلها، و کنترلهای ریزدانهای که مشخص میکنید بر آن اولویت دارند
الگوی زمان بندی پیش فرض برای آن پارامتر. توصیه میکنم استفاده کنید -T4 هنگام اسکن
شبکه های نسبتاً مدرن و قابل اعتماد آن گزینه را حتی زمانی که اضافه می کنید حفظ کنید
کنترل های ریز دانه به طوری که شما از آن بهینه سازی های جزئی اضافی بهره مند شوید
را قادر می سازد.
اگر از یک اتصال پهن باند یا اترنت مناسب استفاده می کنید، همیشه توصیه می کنم
با استفاده از -T4. بعضی ها دوست دارند -T5 اگرچه برای سلیقه من خیلی تهاجمی است. مردم
گاهی مشخص کنید -T2 زیرا آنها فکر می کنند که احتمال خرابی هاست کمتر است یا به این دلیل
در کل خود را مؤدب می دانند. آنها اغلب متوجه نمی شوند که چگونه
کند -T با ادب. واقعا هست اسکن آنها ممکن است ده برابر بیشتر از یک اسکن پیش فرض طول بکشد.
خرابی ماشین و مشکلات پهنای باند با گزینه های زمان بندی پیش فرض نادر است (-T3)
و بنابراین من معمولاً آن را برای اسکنرهای محتاط توصیه می کنم. حذف تشخیص نسخه است
در کاهش این مشکلات بسیار موثرتر از بازی با مقادیر زمان بندی است.
در حالی که -T0است. و -T1. ممکن است برای اجتناب از هشدارهای IDS مفید باشد، آنها یک
زمان فوق العاده طولانی برای اسکن هزاران دستگاه یا پورت. برای چنین مدت طولانی
اسکن کنید، ممکن است ترجیح دهید به جای تکیه بر آن، مقادیر دقیق زمان مورد نیاز خود را تنظیم کنید
کنسرو شده -T0 و -T1 ارزش ها.
اثرات اصلی از T0 اسکن را سریالی می کنند، بنابراین فقط یک پورت در هر زمان اسکن می شود،
و بین ارسال هر کاوشگر پنج دقیقه صبر کنید. T1 و T2 شبیه هستند اما آنها
بین پروب ها به ترتیب 15 ثانیه و 0.4 ثانیه صبر کنید. T3. Nmap است
رفتار پیش فرض، که شامل موازی سازی است. -T4 معادل آن را انجام می دهد
--max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms
-- max - دوباره تلاش می کند 6 و حداکثر تاخیر اسکن TCP را روی 10 میلی ثانیه تنظیم می کند. T5 آیا
معادل --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout
250ms -- max - دوباره تلاش می کند 2 ---میزبان تایم اوت 15m و همچنین تنظیم حداکثر تاخیر اسکن TCP
تا 5 میلی ثانیه
فایروال/IDS گریز و جعل
بسیاری از پیشگامان اینترنت یک شبکه باز جهانی با فضای آدرس IP جهانی را متصور بودند
امکان اتصال مجازی بین هر دو گره. این به میزبان ها اجازه می دهد تا درست عمل کنند
همتایان، ارائه و بازیابی اطلاعات از یکدیگر. مردم می توانستند به همه دسترسی داشته باشند
سیستم های خانه آنها از محل کار، تغییر تنظیمات کنترل آب و هوا یا باز کردن قفل درها
برای مهمانان اولیه این دیدگاه از اتصال جهانی توسط فضای آدرس خفه شده است
کمبودها و نگرانی های امنیتی در اوایل دهه 1990، سازمان ها شروع به استقرار کردند
فایروال ها به منظور کاهش اتصال. شبکه های عظیم محاصره شدند
از اینترنت بدون فیلتر توسط پراکسی های برنامه، ترجمه آدرس شبکه و
فیلترهای بسته جریان نامحدود اطلاعات جای خود را به مقررات شدید داد
کانال های ارتباطی تایید شده و محتوایی که از آنها عبور می کند.
موانع شبکه مانند فایروال ها می توانند نقشه برداری یک شبکه را بسیار دشوار کنند.
این آسان تر نخواهد شد، زیرا خفه کردن شناسایی گاه به گاه اغلب یک هدف کلیدی است
پیاده سازی دستگاه ها با این وجود، Nmap ویژگی های بسیاری را برای کمک به درک این موارد ارائه می دهد
شبکههای پیچیده و بررسی اینکه فیلترها طبق برنامه کار میکنند. حتی پشتیبانی می کند
مکانیسم هایی برای دور زدن دفاع های ضعیف اجرا شده یکی از بهترین روش های
درک وضعیت امنیت شبکه شما تلاش برای شکست دادن آن است. خود را در
مجموعه ذهنی یک مهاجم، و تکنیک های این بخش را علیه شبکه های خود به کار بگیرید.
یک اسکن FTP Bounce Scan، اسکن بیکار، حمله تکه تکه شدن، یا سعی کنید از طریق یک تونل عبور کنید.
از پروکسی های خودتان
علاوه بر محدود کردن فعالیت شبکه، شرکت ها به طور فزاینده ای بر ترافیک نظارت می کنند
با سیستم های تشخیص نفوذ (IDS). همه IDS های اصلی با قوانین طراحی شده ارسال می شوند
اسکن های Nmap را شناسایی کنید زیرا اسکن ها گاهی اوقات پیشروی حملات هستند. بسیاری از اینها
محصولات اخیراً به نفوذ تبدیل شده اند ممانعت سیستم ها (IPS). که به طور فعال
مسدود کردن ترافیکی که مخرب تلقی می شود. متاسفانه برای مدیران شبکه و فروشندگان IDS،
تشخیص مطمئن اهداف بد با تجزیه و تحلیل داده های بسته یک مشکل دشوار است. مهاجمان
با صبر، مهارت و کمک برخی از گزینه های Nmap معمولاً می توان از IDS ها عبور کرد
کشف نشده در همین حال، مدیران باید با تعداد زیادی از مثبت کاذب کنار بیایند
نتایجی که در آن فعالیت های بی گناه به اشتباه تشخیص داده می شود و هشدار داده می شود یا مسدود می شود.
گاهی اوقات افراد پیشنهاد می کنند که Nmap نباید ویژگی هایی را برای فرار از قوانین فایروال ارائه دهد
یا رد شدن از IDS ها آنها استدلال می کنند که این ویژگی ها به همان اندازه ممکن است مورد سوء استفاده قرار گیرند
مهاجمانی که توسط مدیران برای افزایش امنیت استفاده می شود. مشکل این منطق است
که این روشها همچنان توسط مهاجمانی که فقط ابزارهای دیگری را پیدا میکنند استفاده میشوند
قابلیت را در Nmap وصله کنید. در همین حال، مدیران آن را تا این حد پیدا می کنند
انجام وظایفشان سخت تر است استقرار فقط سرورهای FTP مدرن و وصله شده بسیار قدرتمندتر است
دفاع از تلاش برای جلوگیری از توزیع ابزارهای پیاده سازی FTP bounce
حمله
هیچ گلوله جادویی (یا گزینه Nmap) برای شناسایی و خراب کردن فایروال ها و IDS وجود ندارد.
سیستم های. این نیاز به مهارت و تجربه دارد. آموزش خارج از محدوده این مرجع است
راهنمای، که فقط گزینه های مربوطه را فهرست کرده و کارهایی که انجام می دهند را شرح می دهد.
-f (بسته های قطعه)؛ --mtu (با استفاده از MTU مشخص شده).
La -f گزینه باعث می شود اسکن درخواستی (از جمله اسکن پینگ) از تکه تکه شده استفاده کند
بسته های IP ایده این است که هدر TCP را بر روی چندین بسته تقسیم کنیم تا آن را ایجاد کنیم
شناسایی فیلترهای بسته، سیستم های تشخیص نفوذ و سایر موارد مزاحم سخت تر است
کاری که شما انجام می دهید مراقب این باشید! برخی از برنامه ها در رسیدگی به این موارد مشکل دارند
بسته های کوچک اسنایفر قدیمی به نام Sniffit segmentation بلافاصله خطا کرد
با دریافت اولین قطعه یک بار این گزینه را مشخص کنید و Nmap آن را تقسیم می کند
بسته ها به هشت بایت یا کمتر بعد از هدر IP تبدیل می شوند. بنابراین یک هدر TCP 20 بایتی خواهد بود
به سه بسته تقسیم می شود. دو بایت با هشت بایت هدر TCP و یکی با هدر TCP
چهار پایانی البته هر قطعه یک هدر IP نیز دارد. مشخص نمودن -f دوباره از 16 استفاده کنید
بایت در هر قطعه (کاهش تعداد قطعات).. یا می توانید خودتان را مشخص کنید
اندازه افست با --mtu گزینه. همچنین مشخص نکنید -f اگر استفاده می کنید --mtu. افست
باید مضرب هشت باشد در حالی که بسته های تکه تکه شده توسط فیلترهای بسته دریافت نمی شوند و
فایروال هایی که تمام قطعات IP مانند CONFIG_IP_ALWAYS_DEFRAG گزینه در
هسته لینوکس، برخی از شبکهها نمیتوانند از عهده عملکرد برآیند و به همین دلیل است
آن را غیرفعال بگذارید دیگران نمی توانند این را فعال کنند زیرا ممکن است قطعات متفاوت باشند
مسیرها به شبکه های آنها برخی از سیستم های منبع بسته های خروجی را در سیستم یکپارچه سازی می کنند
هسته لینوکس با iptables. ماژول ردیابی اتصال یکی از این نمونه ها است. انجام دهید
اسکن در حالی که sniffer مانند Wireshark. در حال اجرا است تا اطمینان حاصل شود که بسته های ارسال شده هستند
تکه تکه شده اگر سیستم عامل میزبان شما مشکل ایجاد می کند، آن را امتحان کنید --send-eth. گزینه دور زدن
لایه IP و ارسال فریم های اترنت خام.
تکه تکه سازی فقط برای ویژگی های بسته خام Nmap پشتیبانی می شود که شامل TCP و
اسکن پورت UDP (به جز اتصال اسکن و اسکن FTP bounce) و تشخیص سیستم عامل. امکانات
مانند تشخیص نسخه و Nmap Scripting Engine معمولاً پشتیبانی نمیکنند
تکه تکه شدن، زیرا آنها برای برقراری ارتباط با هدف به پشته TCP میزبان شما متکی هستند
خدمات.
-D طعمه 1[,طعمه 2][,من],...] (پوشش یک اسکن با طعمه ها) .
باعث می شود اسکن طعمه انجام شود، که به میزبان راه دور به نظر می رسد که
میزبان(ها)ی که مشخص می کنید به عنوان فریب ها نیز شبکه هدف را اسکن می کنند. بنابراین IDS آنها
ممکن است اسکن 5 تا 10 پورت را از آدرس های IP منحصر به فرد گزارش کند، اما آنها نمی دانند کدام IP
آنها را اسکن می کرد که طعمه های بی گناهی بودند. در حالی که این را می توان از طریق شکست داد
مسیریاب مسیر ردیابی، پاسخ رها کردن، و دیگر مکانیسم های فعال، آن است که به طور کلی
یک تکنیک موثر برای مخفی کردن آدرس IP شما
هر میزبان فریبنده را با کاما جدا کنید و می توانید به صورت اختیاری از ME استفاده کنید. به عنوان یکی از
برای نشان دادن موقعیت آدرس IP واقعی شما. اگر من را در رتبه ششم قرار دهید
موقعیت یا بالاتر، برخی از آشکارسازهای رایج اسکن پورت (مانند Solar Designer's.
Scanlogd عالی). بعید است به هیچ وجه آدرس IP شما را نشان دهد. اگر استفاده نمی کنید
من، Nmap شما را در یک موقعیت تصادفی قرار می دهد. شما همچنین می توانید از RND استفاده کنید. برای تولید a
آدرس IP تصادفی، غیر رزرو شده یا RND:عدد برای تولید عدد آدرس.
توجه داشته باشید که میزبان هایی که به عنوان فریب استفاده می کنید باید بالا باشند وگرنه ممکن است به طور تصادفی SYN سیل شود
اهداف شما همچنین تشخیص اینکه کدام میزبان در حال اسکن کردن است بسیار آسان خواهد بود
یکی در واقع در شبکه است. ممکن است بخواهید به جای نام از آدرس های IP استفاده کنید
(بنابراین شبکه های فریب شما را در لاگ های سرور نام خود نمی بینند).
دکوها هم در اسکن پینگ اولیه (با استفاده از ICMP، SYN، ACK یا هر چیز دیگری) و
در مرحله اسکن پورت واقعی در تشخیص سیستم عامل از راه دور نیز از فریب ها استفاده می شود
(-O). دکوها با تشخیص نسخه یا اسکن اتصال TCP کار نمی کنند. هنگامی که یک تاخیر اسکن
در واقع، تاخیر بین هر دسته از پروب های جعلی اعمال می شود، نه بین
هر کاوشگر جداگانه از آنجا که طعمه ها به صورت دسته ای به یکباره ارسال می شوند، ممکن است
به طور موقت محدودیت های کنترل تراکم را نقض کنید.
شایان ذکر است که استفاده بیش از حد از طعمه ها ممکن است اسکن شما را کند کند و حتی ممکن است یکنواخت شود
آن را کمتر دقیق کنید. همچنین، برخی از ISP ها بسته های جعلی شما را فیلتر می کنند، اما بسیاری از آنها
به هیچ وجه بسته های IP جعلی را محدود نکنید.
-S آدرس آی پی (آدرس منبع جعلی) .
در برخی شرایط، Nmap ممکن است نتواند آدرس منبع شما را تعیین کند (Nmap
به شما خواهد گفت که آیا این مورد است). در این شرایط استفاده کنید -S با آدرس IP از
رابطی که می خواهید بسته ها را از طریق آن ارسال کنید.
یکی دیگر از کاربردهای احتمالی این پرچم، جعل اسکن است تا اهداف را به این فکر بیاندازد
کسی دیگر آنها را اسکن می کند. تصور کنید یک شرکت به طور مکرر توسط یک پورت اسکن می شود
رقیب! را -e گزینه و -پن به طور کلی برای این نوع استفاده مورد نیاز است. توجه داشته باشید
که معمولاً بستههای پاسخ را دریافت نمیکنید (آنها به IP آدرس داده میشوند
شما جعل می کنید)، بنابراین Nmap گزارش های مفیدی تولید نمی کند.
-e رابط (از رابط مشخص شده استفاده کنید).
به Nmap می گوید که با چه رابطی بسته ها را ارسال و دریافت کند. Nmap باید بتواند
این را به طور خودکار تشخیص می دهد، اما اگر نمی تواند به شما بگوید.
---source-port شماره پورت; -g شماره پورت (شماره پورت منبع جعلی) .
یکی از پیکربندیهای اشتباه رایج این است که به ترافیک فقط بر اساس منبع اعتماد کنید
شماره پورت به راحتی می توان فهمید که چگونه این اتفاق می افتد. یک مدیر تنظیم خواهد کرد
یک فایروال جدید براق ایجاد کنید، که فقط مملو از شکایات کاربران ناسپاس است
که برنامه های آن از کار افتادند. به طور خاص، DNS ممکن است به دلیل UDP شکسته شود
پاسخ های DNS از سرورهای خارجی دیگر نمی توانند وارد شبکه شوند. FTP یکی دیگر است
مثال رایج در انتقال فعال FTP، سرور راه دور تلاش می کند تا a
اتصال به مشتری برای انتقال فایل درخواستی.
راه حل های ایمن برای این مشکلات وجود دارد که اغلب به صورت سطح برنامه است
پروکسی ها یا ماژول های فایروال تجزیه کننده پروتکل. متأسفانه ساده تر نیز وجود دارد،
راه حل های ناامن با توجه به اینکه پاسخ های DNS از پورت 53 و FTP فعال از پورت می آیند
20، بسیاری از مدیران در دام اجازه دادن به ترافیک ورودی افتاده اند
از آن پورت ها آنها اغلب تصور می کنند که هیچ مهاجمی متوجه چنین چیزی نمی شود و از آن سوء استفاده می کند
سوراخ های دیوار آتش در موارد دیگر، مدیران این را یک توقف کوتاه مدت می دانند
اندازه گیری کنند تا بتوانند راه حل ایمن تری را پیاده سازی کنند. بعد امنیت را فراموش می کنند
ارتقاء
مدیران شبکه که بیش از حد کار می کنند تنها کسانی نیستند که در این دام قرار می گیرند.
محصولات متعددی با این قوانین ناامن ارسال شده اند. حتی مایکروسافت هم بوده است
گناهکار. فیلترهای IPsec که با ویندوز 2000 و ویندوز XP ارسال می شوند حاوی یک
قانون ضمنی که به تمام ترافیک TCP یا UDP از پورت 88 (Kerberos) اجازه می دهد. در دیگری
مورد شناخته شده، نسخه های فایروال شخصی Zone Alarm تا 2.1.25 اجازه هر گونه
بسته های UDP ورودی با پورت منبع 53 (DNS) یا 67 (DHCP).
Nmap ارائه می دهد -g و ---source-port گزینه ها (آنها معادل هستند) برای بهره برداری از آنها
نقاط ضعف. به سادگی یک شماره پورت ارائه دهید و Nmap بسته هایی را از آن پورت ارسال می کند
هرجا که بشه. اکثر عملیات اسکن که از سوکت های خام استفاده می کنند، از جمله SYN و UDP
اسکن، گزینه را به طور کامل پشتیبانی کنید. این گزینه به ویژه تاثیری برای ندارد
هر عملیاتی که از سوکت های معمولی سیستم عامل استفاده می کند، از جمله درخواست های DNS، TCP
اتصال اسکن،. تشخیص نسخه و اسکن اسکریپت تنظیم پورت منبع نیز
برای تشخیص سیستم عامل کار نمی کند، زیرا Nmap باید از شماره پورت های مختلف برای آن استفاده کند
تست های تشخیص سیستم عامل خاص به درستی کار می کنند.
--داده ها هگزا رشته (داده های باینری سفارشی را به بسته های ارسالی اضافه کنید).
این گزینه به شما امکان می دهد داده های باینری را به عنوان بار در بسته های ارسالی قرار دهید. هگزا رشته ممکن است
در هر یک از قالب های زیر مشخص شود: 0xAABBCCDDEEFF...، AABBCCDDEEFF... or
\xAA\xBB\xCC\xDD\xEE\xFF.... نمونه هایی از استفاده هستند --داده ها 0xdeadbeef و --داده ها
\xCA\xFE\x09. توجه داشته باشید که اگر عددی مانند 0x00ff را مشخص کنید، تبدیل به ترتیب بایت نخواهد شد
انجام می شود. اطمینان حاصل کنید که اطلاعات را به ترتیب بایت مورد انتظار توسط سازمان مشخص می کنید
گیرنده.
--data-string رشته (رشته سفارشی را به بسته های ارسالی اضافه کنید).
این گزینه به شما امکان می دهد یک رشته معمولی را به عنوان بار در بسته های ارسالی بگنجانید. رشته می توان
شامل هر رشته با این حال، توجه داشته باشید که برخی از کاراکترها ممکن است به سیستم شما بستگی داشته باشند
محلی و گیرنده ممکن است اطلاعات مشابهی را نبیند. همچنین مطمئن شوید که محصور کرده اید
رشته را در گیومه های دوتایی قرار دهید و از هر کاراکتر خاصی از پوسته فرار کنید.
مثال: --data-string "اسکن انجام by دوربین های مداربسته عملیات، گسترش 7192 " or
--data-string "Ph34r my l33t مهارت ها". به خاطر داشته باشید که هیچ کس واقعاً این کار را نمی کند
هر نظری را که توسط این گزینه باقی مانده است را مشاهده کنید، مگر اینکه آنها به دقت شبکه را زیر نظر داشته باشند
با sniffer یا قوانین IDS سفارشی.
--طول داده عدد (افزودن داده های تصادفی به بسته های ارسالی) .
به طور معمول Nmap بسته های مینیمالیستی را ارسال می کند که فقط یک هدر دارند. بنابراین بسته های TCP آن
معمولاً 40 بایت هستند و درخواستهای اکو ICMP فقط 28 بایت هستند. برخی از پورتهای UDP. و IP
پروتکل ها به طور پیش فرض یک بار سفارشی دریافت کنید. این گزینه به Nmap می گوید که آن را اضافه کند
تعداد بایت های تصادفی را به اکثر بسته هایی که ارسال می کند داده می شود و از هیچ کدام استفاده نمی شود
بارهای ویژه پروتکل (استفاده کنید --طول داده 0 بدون تصادفی یا پروتکل خاص
محموله ها.. تشخیص سیستم عامل (-O) بسته ها تحت تأثیر قرار نمی گیرند. زیرا دقت وجود دارد
نیاز به یکپارچگی پروب دارد، اما اکثر بسته های پینگ و پورت اسکن از این پشتیبانی می کنند. آی تی
سرعت کار را کمی کند می کند، اما می تواند اسکن را کمی کمتر نمایان کند.
--ip-Options S|R [مسیر]|L [مسیر]|T|U ... ; --ip-Options هگزا رشته (ارسال بسته ها با
گزینه های IP مشخص شده).
La IP پروتکل[13] چندین گزینه را ارائه می دهد که ممکن است در هدر بسته ها قرار گیرند.
بر خلاف گزینه های TCP همه جا حاضر، گزینه های IP به ندرت به دلیل کاربردی بودن و
نگرانی های امنیتی در واقع، بسیاری از روترهای اینترنتی خطرناک ترین گزینه ها را مسدود می کنند
مانند مسیریابی منبع. با این حال، گزینه ها هنوز می توانند در برخی موارد برای تعیین مفید باشند
و دستکاری مسیر شبکه به ماشین های هدف. برای مثال، ممکن است بتوانید
از گزینه مسیر رکورد برای تعیین مسیر به یک هدف حتی زمانی که سنتی تر است استفاده کنید
رویکردهای به سبک traceroute شکست می خورند. یا اگر بسته های شما توسط یک معین رها می شود
فایروال، ممکن است بتوانید مسیر دیگری را با منبع سخت یا شل مشخص کنید
گزینه های مسیریابی
قدرتمندترین راه برای تعیین گزینه های IP این است که به سادگی مقادیر را به عنوان مقدار ارسال کنید
استدلال به --ip-Options. قبل از هر عدد هگز \x و سپس دو رقم قرار دهید. شما ممکن است
با دنبال کردن آنها با یک ستاره و سپس تعداد کاراکترهای خاص را تکرار کنید
مواقعی که آرزو می کنی تکرار کنند برای مثال، \x01\x07\x04\x00*36\x01 یک رشته هگز است
حاوی 36 بایت NUL.
Nmap همچنین مکانیزم میانبر برای تعیین گزینه ها ارائه می دهد. به سادگی نامه را منتقل کنید
R، T، یا U برای درخواست رکورد مسیر،. رکورد زمان مُهر،. یا هر دو گزینه با هم،
به ترتیب. مسیریابی منبع سست یا سخت. ممکن است با یک L یا S مشخص شود
به دنبال آن یک فاصله و سپس یک لیست از آدرس های IP جدا شده با فاصله.
اگر می خواهید گزینه های موجود در بسته های ارسالی و دریافتی را ببینید، آن را مشخص کنید ---packet-trace.
برای اطلاعات بیشتر و نمونه هایی از استفاده از گزینه های IP با Nmap، رجوع کنید
http://seclists.org/nmap-dev/2006/q3/52.
--ttl ارزش (تنظیم فیلد IP time-to-live) .
فیلد IPv4 time-to-live را در بسته های ارسالی روی مقدار داده شده تنظیم می کند.
--تصادفی-میزبان (ترتیب میزبان هدف را تصادفی کنید) .
به Nmap میگوید که هر گروه از حداکثر 16384 میزبان را قبل از اسکن آنها به هم بزند. این می تواند
اسکنها را برای سیستمهای نظارتی شبکههای مختلف، بهویژه زمانی که شما، کمتر آشکار کنید
آن را با گزینه های زمان بندی کند ترکیب کنید. اگر میخواهید گروههای بزرگتر را تصادفی کنید،
افزایش دادن PING_GROUP_SZ. در nmap.h. و دوباره کامپایل کنید. یک راه حل جایگزین این است که
لیست IP هدف را با اسکن لیست (-sL -n -بر نام فایل)، آن را تصادفی کنید
یک اسکریپت پرل، سپس کل لیست را با Nmap ارائه دهید -iL..
- جعل مک MAC نشانی، پیشوند، or فروشنده نام (آدرس مک تقلبی) .
از Nmap می خواهد که از آدرس MAC داده شده برای همه فریم های اترنت خامی که ارسال می کند استفاده کند.
این گزینه دلالت دارد --send-eth. برای اطمینان از اینکه Nmap واقعاً سطح اترنت را ارسال می کند
بسته ها MAC داده شده می تواند چندین فرمت داشته باشد. اگر به سادگی عدد 0 است، Nmap
یک آدرس MAC کاملاً تصادفی برای جلسه انتخاب می کند. اگر رشته داده شده یک باشد
تعداد زوج از ارقام هگزا (در صورتی که جفت ها به صورت اختیاری با دو نقطه از هم جدا شده باشند)، Nmap خواهد بود
از آنها به عنوان MAC استفاده کنید. اگر کمتر از 12 رقم هگز ارائه شده باشد، Nmap آن را پر می کند
باقی مانده از شش بایت با مقادیر تصادفی. اگر آرگومان صفر یا هگز نباشد
رشته، Nmap از طریق پیشوندهای nmap-mac نگاه می کند تا نام فروشنده ای را پیدا کند که حاوی
رشته داده شده (به حروف بزرگ و کوچک حساس نیست). اگر مطابقت پیدا شود، Nmap از OUI فروشنده استفاده می کند
(پیشوند سه بایتی). و سه بایت باقی مانده را به صورت تصادفی پر می کند. معتبر
- جعل مک نمونههای آرگومان عبارتند از: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2,
و سیسکو این گزینه فقط بر اسکن بسته های خام مانند اسکن SYN یا تشخیص سیستم عامل تأثیر می گذارد.
ویژگی های اتصال گرا مانند تشخیص نسخه یا Nmap Scripting نیست
موتور
-- پراکسی ها جدا شده با ویرگول فهرست of پروکسی آدرس ها (اتصالات TCP را از طریق زنجیره ای از
پروکسی ها).
از Nmap می خواهد تا از طریق زنجیره تامین شده، اتصالات TCP را با هدف نهایی برقرار کند
یک یا چند پروکسی HTTP یا SOCKS4. پروکسی ها می توانند به مخفی کردن منبع واقعی اسکن کمک کنند
از برخی محدودیتهای فایروال اجتناب کنید، اما میتوانند عملکرد اسکن را با مشکل مواجه کنند
افزایش تاخیر کاربران ممکن است نیاز به تنظیم زمانبندی Nmap و سایر پارامترهای اسکن داشته باشند
بر این اساس. به طور خاص، پایین تر -- حداکثر موازی ممکن است کمک کند زیرا برخی از پروکسی ها
از رسیدگی به تعداد اتصالات همزمان به اندازه ای که Nmap به طور پیش فرض باز می شود خودداری می کند.
این گزینه فهرستی از پراکسی ها را به عنوان آرگومان می گیرد که به صورت URL در قالب بیان می شود
proto://host:port. از کاما برای جداسازی URL های گره در یک زنجیره استفاده کنید. احراز هویت وجود ندارد
هنوز پشتیبانی می شود پروتکل های معتبر HTTP و SOCKS4 هستند.
هشدار: این ویژگی هنوز در حال توسعه است و محدودیت هایی دارد. این است
در کتابخانه nsock پیاده سازی می شود و بنابراین هیچ تاثیری بر پینگ و اسکن پورت ندارد
و مراحل کشف سیستم عامل یک اسکن. فقط NSE و نسخه اسکن از این گزینه سود می برند
تا اینجای کار—سایر ویژگی ها ممکن است آدرس واقعی شما را فاش کنند. اتصالات SSL هنوز برقرار نشده است
پشتیبانی می شود، و همچنین وضوح DNS سمت پروکسی (نام هاست همیشه توسط Nmap حل می شود).
--badsum (پکت ها را با جمع های کنترلی جعلی TCP/UDP ارسال کنید).
از Nmap می خواهد که از TCP، UDP یا SCTP چک جمع نامعتبر برای بسته های ارسال شده به هدف استفاده کند.
میزبان ها از آنجایی که تقریباً تمام پشته های IP میزبان به درستی این بسته ها را رها می کنند، هر پاسخی وجود دارد
دریافت شده احتمالاً از یک فایروال یا IDS می آید که زحمت تأیید آن را نداشته است
چک جمع برای جزئیات بیشتر در مورد این تکنیک، نگاه کنید https://nmap.org/p60-12.html
--adler32 (از Adler32 منسوخ شده به جای CRC32C برای جمعهای چک SCTP استفاده کنید).
از Nmap می خواهد که از الگوریتم Adler32 منسوخ شده برای محاسبه جمع کنترل SCTP استفاده کند.
If --adler32 داده نمی شود، CRC-32C (Castagnoli) استفاده می شود. RFC 2960[14] در اصل
Adler32 را به عنوان الگوریتم کنترلی برای SCTP تعریف کرد. RFC 4960[7] بعداً SCTP را دوباره تعریف کرد
جمع های چک برای استفاده از CRC-32C. پیاده سازی های فعلی SCTP باید از CRC-32C استفاده کنند، اما در
به منظور استخراج پاسخ از پیاده سازی های قدیمی SCTP قدیمی، ممکن است ترجیح داده شود
برای استفاده از Adler32.
OUTPUT
هر ابزار امنیتی فقط به اندازه خروجی تولید شده مفید است. تست های پیچیده و
اگر الگوریتمها به صورت سازمانیافته و قابل فهم ارائه نشده باشند، ارزش کمی دارند
روش. با توجه به تعداد روش هایی که Nmap توسط افراد و سایر نرم افزارها استفاده می شود، هیچ واحدی وجود ندارد
قالب می تواند همه را راضی کند. بنابراین Nmap چندین فرمت از جمله حالت تعاملی را ارائه می دهد
برای انسان برای خواندن مستقیم و XML برای تجزیه آسان توسط نرم افزار.
علاوه بر ارائه فرمت های خروجی مختلف، Nmap گزینه هایی را برای کنترل فراهم می کند
پرحرفی خروجی و همچنین اشکال زدایی پیام ها. انواع خروجی ممکن است به
خروجی استاندارد یا به فایلهای نامگذاریشده، که Nmap میتواند به آنها اضافه یا clobber کند. فایل های خروجی ممکن است
همچنین برای از سرگیری اسکن های سقط شده استفاده می شود.
Nmap خروجی را در پنج فرمت مختلف در دسترس قرار می دهد. پیش فرض تعاملی نامیده می شود
خروجی،. و به خروجی استاندارد (stdout) ارسال می شود. خروجی معمولی نیز وجود دارد.
که شبیه تعاملی است با این تفاوت که اطلاعات زمان اجرا کمتری را نمایش می دهد و
از آنجایی که انتظار می رود پس از اتمام اسکن به جای آنالیز شود
به صورت تعاملی
خروجی XML یکی از مهم ترین انواع خروجی است، زیرا می توان آن را به HTML تبدیل کرد،
به راحتی توسط برنامه هایی مانند رابط های کاربری گرافیکی Nmap تجزیه می شود یا به آن وارد می شود
پایگاه های داده
دو نوع خروجی باقیمانده، خروجی ساده grepable هستند. که بیشتر را شامل می شود
اطلاعات یک میزبان هدف در یک خط و sCRiPt KiDDi3 0utPUt. برای کاربرانی که
خود را در نظر بگیرند |<-r4d.
در حالی که خروجی تعاملی پیش فرض است و هیچ گزینه خط فرمان مرتبطی ندارد،
چهار گزینه فرمت دیگر از همان نحو استفاده می کنند. آنها یک استدلال را می گیرند که آن است
نام فایلی که نتایج باید در آن ذخیره شود. ممکن است چندین فرمت مشخص شود، اما هر کدام
قالب ممکن است فقط یک بار مشخص شود. برای مثال، ممکن است بخواهید خروجی معمولی را ذخیره کنید
بررسی خود را در حالی که XML همان اسکن را برای تجزیه و تحلیل برنامه ای ذخیره می کنید. شما ممکن است انجام دهید
این با گزینه ها -oX myscan.xml -بر myscan.nmap. در حالی که این فصل از ساده استفاده می کند
نامهایی مانند myscan.xml برای اختصار، معمولاً نامهای توصیفیتری توصیه میشود. در
اسامی انتخاب شده یک موضوع ترجیحی شخصی است، اگرچه من از نام های طولانی استفاده می کنم
تاریخ اسکن و یک یا دو کلمه که اسکن را توصیف می کند، در فهرستی به نام آن قرار می گیرد
شرکتی که دارم اسکن میکنم
در حالی که این گزینهها نتایج را در فایلها ذخیره میکنند، Nmap همچنان خروجی تعاملی را در stdout چاپ میکند
مثل همیشه. مثلا دستور nmap -oX myscan.xml هدف XML را در myscan.xml چاپ می کند و
خروجی استاندارد را با همان نتایج تعاملی پر می کند که اگر چاپ می شد -oX
اصلا مشخص نشده بود شما می توانید این را با گذاشتن یک کاراکتر خط فاصله به عنوان آرگومان تغییر دهید
به یکی از انواع قالب. این باعث می شود Nmap خروجی تعاملی را غیرفعال کند و در عوض
نتایج را با فرمتی که در جریان خروجی استاندارد مشخص کرده اید چاپ کنید. پس فرمان
nmap -oX - هدف فقط خروجی XML را به stdout ارسال می کند. ممکن است خطاهای جدی همچنان وجود داشته باشد
چاپ شده در جریان خطای معمولی، stderr..
برخلاف برخی از آرگومان های Nmap، فضای بین پرچم گزینه logfile (مانند -oX) و
نام فایل یا خط تیره اجباری است. اگر پرچم ها را حذف کنید و استدلال هایی مانند -oG-
or -oXscan.xml، یک ویژگی سازگاری به عقب Nmap باعث ایجاد
طبیعی قالب فایل های خروجی به ترتیب با نام های G- و Xscan.xml.
همه این استدلال ها تایید می کنند زمان صرف وقت-پسندیدن. تبدیل در نام فایل %H، %M، %S،
%m، %d، %y، و %Y همگی دقیقاً مشابه هستند زمان صرف وقت. %T همان %H%M%S، %R است
همان %H%M است و %D همان %m%d%y است. یک درصد به دنبال هر کاراکتر دیگری
فقط آن کاراکتر را نشان می دهد (%% نماد درصد را به شما می دهد). بنابراین -oX 'اسکن-%T-%D.xml' اراده
از یک فایل XML با نام به شکل scan-144840-121307.xml استفاده کنید.
Nmap همچنین گزینه هایی را برای کنترل پرحرفی اسکن و الحاق به فایل های خروجی ارائه می دهد
به جای کله زدن آنها همه این گزینه ها در زیر توضیح داده شده است.
Nmap تولید فرمت
-بر مشخصات فایل (خروجی معمولی).
درخواست می کند که خروجی عادی به نام فایل داده شده هدایت شود. همانطور که در بالا بحث شد،
این کمی با خروجی تعاملی متفاوت است.
-oX مشخصات فایل (خروجی XML).
درخواست می کند که خروجی XML به نام فایل داده شده هدایت شود. Nmap شامل یک سند است
تعریف نوع (DTD) که به تجزیه کننده های XML اجازه می دهد تا خروجی Nmap XML را تأیید کنند. در حالی که آن را
در اصل برای استفاده برنامهریزی شده است، همچنین میتواند به انسان در تفسیر Nmap XML کمک کند
خروجی DTD عناصر قانونی قالب را تعریف می کند و اغلب آنها را برمی شمارد
ویژگی ها و ارزش هایی که می توانند به خود بگیرند. آخرین نسخه همیشه در دسترس است
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML یک قالب پایدار ارائه می دهد که به راحتی توسط نرم افزار تجزیه می شود. تجزیه کننده های XML رایگان هستند
برای تمام زبان های اصلی کامپیوتر، از جمله C/C++، Perl، Python و Java موجود است.
مردم حتی برای اکثر این زبانها پیوندهایی نوشتهاند تا خروجی Nmap را مدیریت کنند
و به طور خاص اجرا نمونه ها هستند Nmap::اسکنر[15]. و Nmap::Parser[16]. که در
پرل CPAN. تقریباً در تمام مواردی که یک برنامه غیر ضروری با Nmap ارتباط برقرار می کند،
XML فرمت ترجیحی است.
خروجی XML به یک شیوه نامه XSL اشاره می کند که می تواند برای قالب بندی نتایج به عنوان استفاده شود
HTML. ساده ترین راه برای استفاده از آن، بارگذاری خروجی XML در یک مرورگر وب است
مانند فایرفاکس یا IE. بهطور پیشفرض، این فقط روی دستگاهی کار میکند که Nmap را روی آن اجرا کردهاید
(یا پیکربندی مشابه) به دلیل مسیر سیستم فایل nmap.xsl با کد سخت. استفاده کنید
la --webxml or -- شیوه نامه گزینه هایی برای ایجاد فایل های XML قابل حمل که به صورت HTML ارائه می شوند
در هر دستگاه متصل به وب
-oS مشخصات فایل (ScRipT KIdd|3 outpuT) .
خروجی اسکریپت kiddie مانند خروجی تعاملی است، با این تفاوت که بعداً پردازش می شود
به دلیل سازگاری با l33t HaXXorZ که قبلاً Nmap را تحقیر می کرد، مناسب تر است.
حروف بزرگ و املا افراد مبتلا به شوخ طبعی باید توجه داشته باشند که این گزینه است
مسخره کردن بچه های فیلمنامه قبل از اینکه من را به خاطر "کمک کردن به آنها" سرزنش کنید.
-oG مشخصات فایل (خروجی قابل قبول).
این قالب خروجی آخرین پوشش داده شده است زیرا منسوخ شده است. فرمت خروجی XML است
بسیار قدرتمندتر است و تقریباً برای کاربران با تجربه راحت است. XML یک است
استانداردی که ده ها تجزیه کننده عالی برای آن موجود است، در حالی که خروجی قابل قبولی دارد
هک ساده خودم XML برای پشتیبانی از ویژگی های جدید Nmap به همان شکلی که هستند قابل توسعه است
منتشر شد، در حالی که من اغلب باید آن ویژگی ها را از خروجی grepable به دلیل عدم وجود a حذف کنم
مکانی برای قرار دادن آنها
با این وجود، خروجی grepable هنوز هم بسیار محبوب است. این یک قالب ساده است که لیست می کند
هر میزبان در یک خط است و می توان به طور بی اهمیت با یونیکس استاندارد جستجو و تجزیه کرد
ابزارهایی مانند grep، awk، cut، sed، diff و Perl. حتی من معمولا از آن برای یک بار استفاده می کنم
تست های انجام شده در خط فرمان یافتن همه هاست هایی با پورت SSH باز یا آن
در حال اجرا Solaris برای شناسایی هاست ها تنها یک grep ساده طول می کشد، لوله شده به awk یا
دستور cut برای چاپ فیلدهای مورد نظر.
خروجی Grepable شامل نظرات (خطوطی که با پوند (#) شروع می شود) است. و هدف
خطوط یک خط هدف شامل ترکیبی از شش فیلد دارای برچسب است که با زبانه ها از هم جدا شده اند
و با دو نقطه دنبال می شود. فیلدها عبارتند از Host، Ports، Protocols، Ignored State، OS،
Seq Index، IP ID و Status.
مهمترین این فیلدها عموماً Ports است که جزئیات هر کدام را می دهد
بندر جالب این یک لیست از ورودی های پورت جدا شده با کاما است. هر ورودی پورت
یک پورت جالب را نشان می دهد و به شکل هفت اسلش (/) جدا شده است
زیر فیلدها این زیر فیلدها عبارتند از: شماره پورت، وضعیت، پروتکل، مالک، سرویس، SunRPC
اطلاعات و اطلاعات نسخه
مانند خروجی XML، این صفحه مرد اجازه مستندسازی کل قالب را نمی دهد. آ
نگاهی دقیق تر به فرمت خروجی grepable Nmap در دسترس است
https://nmap.org/book/output-formats-grepable-output.html.
-oA نام اصلی (خروجی به همه فرمت ها) .
به عنوان یک راحتی، شما ممکن است مشخص کنید -oA نام اصلی برای ذخیره نتایج اسکن در حالت عادی، XML،
و فرمت های grepable به طور همزمان. در آن ذخیره می شوند نام اصلیnmap، نام اصلیxml، و
نام اصلیبه ترتیب .gnmap. مانند اکثر برنامه ها، می توانید نام فایل ها را با پیشوند اضافه کنید
یک مسیر دایرکتوری، مانند ~/nmaplogs/foocorp/ در یونیکس یا c:\hacking\sco در ویندوز.
اصطلاح و اشکال زدایی گزینه های
-v (سطح پرحرفی را افزایش دهید).
سطح پرحرفی را افزایش می دهد و باعث می شود Nmap اطلاعات بیشتری درباره اسکن چاپ کند
در حال پیش رفت. پورت های باز همانطور که پیدا می شوند و تخمین زمان تکمیل نشان داده می شوند
زمانی ارائه می شود که Nmap فکر می کند اسکن بیش از چند دقیقه طول می کشد. دو بار استفاده کنید یا
بیشتر برای پرحرفی بیشتر: -vv، یا مثلاً سطح پرحرفی را مستقیماً ارائه دهید
-v3..
اکثر تغییرات فقط بر خروجی تعاملی تأثیر می گذارند و برخی نیز بر روی نرمال و اسکریپت تأثیر می گذارند
خروجی بچه سایر انواع خروجی باید توسط ماشین ها پردازش شوند، بنابراین Nmap
می تواند به طور پیش فرض جزئیات قابل توجهی را در آن قالب ها بدون خسته کردن انسان ارائه دهد
کاربر. با این حال، تغییرات کمی در حالت های دیگر وجود دارد که اندازه خروجی را می توان کاهش داد
اساساً با حذف برخی جزئیات. به عنوان مثال، یک خط نظر در grepable
خروجی که لیستی از تمام پورت های اسکن شده را ارائه می دهد، فقط در حالت پرحرف چاپ می شود
زیرا می تواند بسیار طولانی باشد.
-d (افزایش سطح اشکال زدایی) .
وقتی حتی حالت پرمخاطب داده های کافی را برای شما فراهم نمی کند، اشکال زدایی در دسترس است
به شما سیل با خیلی بیشتر! همانند گزینه پرحرفی (-v)، اشکال زدایی فعال است
با یک پرچم خط فرمان (-d) و سطح اشکال زدایی را می توان با مشخص کردن آن افزایش داد
چندین بار،. همانطور که در -DD، یا با تنظیم یک سطح به طور مستقیم. مثلا، -d9 مجموعه
سطح نهم این بالاترین سطح مؤثر است و هزاران خط تولید می کند
مگر اینکه یک اسکن بسیار ساده با پورت ها و اهداف بسیار کمی اجرا کنید.
خروجی اشکال زدایی زمانی مفید است که یک اشکال در Nmap مشکوک باشد، یا اگر به سادگی مشکوک هستید
سردرگم است که Nmap چه کاری انجام می دهد و چرا. همانطور که این ویژگی بیشتر برای
توسعه دهندگان، خطوط اشکال زدایی همیشه خود توضیحی نیستند. ممکن است چیزی شبیه به:
vals تایم اوت: srtt: -1 rttvar: -1 تا: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 تا: 100000. اگر خطی را متوجه نشدید، تنها راه شما نادیده گرفتن است.
آن را در کد منبع جستجو کنید یا از لیست توسعه درخواست کمک کنید
(nmap-dev).. برخی از خطوط خود توضیحی هستند، اما پیام ها مبهم تر می شوند.
سطح اشکال زدایی افزایش یافته است.
--دلیل (دلایل وضعیت میزبان و بندر) .
دلیل تنظیم هر پورت روی یک وضعیت خاص و دلیل فعال بودن هر هاست را نشان می دهد
یا پایین این گزینه نوع بسته ای را نشان می دهد که یک پورت یا میزبان را تعیین می کند
دولت. به عنوان مثال، یک بسته RST از یک پورت بسته یا یک پاسخ اکو از یک زنده
میزبان. اطلاعاتی که Nmap می تواند ارائه دهد با توجه به نوع اسکن یا پینگ تعیین می شود. در
اسکن SYN و پینگ SYN (-H.H و -PS) بسیار دقیق هستند، اما اسکن اتصال TCP (-sT)
با اجرای محدود شده است اتصال تماس سیستمی این ویژگی است
به طور خودکار توسط گزینه اشکال زدایی فعال می شود (-d). و نتایج در XML log ذخیره می شوند
فایل ها حتی اگر این گزینه مشخص نشده باشد.
--آمار-هر زمان (چاپ آمار زمان بندی دوره ای) .
به صورت دوره ای یک پیام وضعیت زمان بندی را پس از هر بازه زمانی چاپ می کند زمان. زمان یک است
مشخصات از نوع شرح داده شده در بخش به نام "زمان و عملکرد"؛ بنابراین
به عنوان مثال، استفاده کنید --آمار-هر 10s برای دریافت به روز رسانی وضعیت هر 10 ثانیه. به روز رسانی ها
در خروجی تعاملی (صفحه نمایش) و خروجی XML چاپ می شوند.
---packet-trace (ردیابی بسته ها و داده های ارسالی و دریافتی) .
باعث می شود Nmap خلاصه ای از هر بسته ارسال یا دریافت شده را چاپ کند. این اغلب استفاده می شود
برای اشکال زدایی، اما همچنین راهی ارزشمند برای کاربران جدید برای درک دقیق چیست
Nmap زیر پوشش انجام می دهد. برای جلوگیری از چاپ هزاران خط، ممکن است بخواهید
تعداد محدودی از پورت ها را برای اسکن مشخص کنید، مانند - p20-30. اگر فقط به آن اهمیت می دهید
از زیرسیستم تشخیص نسخه استفاده کنید --نسخه-ردیابی بجای. اگر فقط شما
اهمیت دادن به ردیابی اسکریپت، مشخص کنید ---اسکریپت-ردیابی. با ---packet-trace، شما همه از
بالا.
--باز کن (فقط درگاه های باز (یا احتمالاً باز) را نشان دهید).
گاهی اوقات شما فقط به پورت هایی اهمیت می دهید که واقعاً می توانید به آنها متصل شوید (آنهایی که باز هستند) و اینطور نیست
می خواهید نتایج بهم ریخته با پورت های بسته، فیلتر شده و بسته|فیلتر شده. خروجی
سفارشی سازی معمولاً پس از اسکن با استفاده از ابزارهایی مانند grep، awk و Perl انجام می شود.
اما این ویژگی به دلیل درخواست های زیاد اضافه شد. مشخص نمودن --باز کن فقط دیدن
میزبان هایی با حداقل یک پورت باز، باز|فیلتر شده یا فیلتر نشده، و فقط پورت ها را در آن می بینند
آن ایالت ها با این سه حالت همانطور که به طور معمول هستند رفتار می شود، که به این معنی است
که open|filtered و unfiltered ممکن است در صورت وجود به تعداد متراکم شوند
تعداد قابل توجهی از آنها
-لیست (لیست رابط ها و مسیرها) .
لیست رابط و مسیرهای سیستم را همانطور که توسط Nmap شناسایی شده است چاپ می کند. این مفید است برای
اشکال زدایی مشکلات مسیریابی یا خصوصیات نادرست دستگاه (مانند Nmap که یک PPP را درمان می کند
اتصال به عنوان اترنت).
متفرقه تولید گزینه های
--پیوست-خروجی (بهجای فایلهای خروجی بهجای clobber به فایلهای خروجی اضافه کنید).
هنگامی که یک نام فایل را برای یک پرچم فرمت خروجی مشخص می کنید مانند -oX or -بر، آن فایل است
به طور پیش فرض رونویسی شده است. اگر ترجیح می دهید محتوای موجود فایل را حفظ کنید و
نتایج جدید را اضافه کنید، آن را مشخص کنید --پیوست-خروجی گزینه. همه نام فایل های خروجی
مشخص شده در آن اجرای Nmap به جای clobbered به آن اضافه می شود. این
برای XML خوب کار نمی کند (-oX) داده ها را اسکن کنید زیرا فایل حاصل معمولاً تجزیه نمی شود
به درستی تا زمانی که آن را با دست تعمیر کنید.
--از سرگیری نام فایل (از سرگیری اسکن سقط شده) .
برخی از اجراهای گسترده Nmap زمان بسیار زیادی طول می کشد - به ترتیب روز. چنین اسکن هایی انجام نمی شود
همیشه تا اتمام کار کنید محدودیت ها ممکن است مانع از اجرای Nmap در حین کار شود
ساعت، شبکه ممکن است از کار بیفتد، ماشین Nmap در حال اجرا ممکن است آسیب ببیند
راه اندازی مجدد برنامه ریزی شده یا برنامه ریزی نشده، یا Nmap ممکن است از کار بیفتد. مدیر در حال اجرا
Nmap می تواند آن را به هر دلیل دیگری نیز با فشار دادن ctrl-C لغو کند. راه اندازی مجدد
کل اسکن از ابتدا ممکن است نامطلوب باشد. خوشبختانه اگر طبیعی باشد (-بر) و یا
قابل تامل (-oG) گزارشها نگهداری میشوند، کاربر میتواند از Nmap بخواهد تا اسکن را با آن از سر بگیرد
هدفی که وقتی اجرا متوقف شد روی آن کار می کرد. به سادگی مشخص کنید --از سرگیری گزینه و
فایل خروجی normal/grepable را به عنوان آرگومان آن ارسال کنید. هیچ استدلال دیگری وجود ندارد
مجاز است، زیرا Nmap فایل خروجی را برای استفاده از همان مواردی که قبلا مشخص شده است تجزیه می کند.
به سادگی Nmap را به عنوان فراخوانی کنید nmap --از سرگیری نام فایل لاگ. Nmap نتایج جدیدی را به
فایل های داده مشخص شده در اجرای قبلی. Resumption از XML پشتیبانی نمی کند
فرمت خروجی زیرا ترکیب این دو اجرا در یک فایل XML معتبر خواهد بود
دشواری.
-- شیوه نامه مسیر or URL (سبک XSL را برای تبدیل خروجی XML تنظیم کنید).
Nmap با XSL عرضه می شود. شیوه نامه با نام nmap.xsl. برای مشاهده یا ترجمه XML
خروجی به HTML.. خروجی XML شامل یک دستورالعمل xml-stylesheet است که به آن اشاره می کند
nmap.xml که در ابتدا توسط Nmap نصب شد. فایل XML را از طریق XSLT اجرا کنید
پردازنده مانند xsltproc[17]. برای تولید یک فایل HTML مستقیماً XML را باز کنید
فایل در مرورگر دیگر خوب کار نمی کند زیرا مرورگرهای مدرن مکان ها را محدود می کنند
شیوه نامه ممکن است از بارگیری شود. اگر می خواهید از یک شیوه نامه متفاوت استفاده کنید، آن را مشخص کنید
به عنوان استدلال به -- شیوه نامه. شما باید نام مسیر یا URL کامل را ارسال کنید. یکی مشترک
فراخوانی است -- شیوه نامه https://nmap.org/svn/docs/nmap.xsl. این به یک XSLT می گوید
پردازنده برای بارگیری آخرین نسخه شیوه نامه از Nmap.Org. در --webxml
گزینه همان کار را با تایپ و حفظ کمتر انجام می دهد. در حال بارگیری XSL از
Nmap.Org مشاهده نتایج را در ماشینی که Nmap ندارد آسان تر می کند (و بنابراین
nmap.xsl) نصب شد. بنابراین URL اغلب مفیدتر است، اما سیستم فایل محلی
مکان nmap.xsl به طور پیش فرض به دلایل حفظ حریم خصوصی استفاده می شود.
--webxml (بارگیری شیوه نامه از Nmap.Org).
این یک گزینه راحت است، چیزی بیش از نام مستعار برای -- شیوه نامه
https://nmap.org/svn/docs/nmap.xsl.
--no-stylesheet (اعلان شیت XSL از XML را حذف کنید).
این گزینه را مشخص کنید تا Nmap نتواند هر شیوه نامه XSL را با XML خود مرتبط کند
خروجی دستور xml-stylesheet حذف شده است.
متفرقه OPTIONS
این بخش برخی از گزینه های مهم (و نه چندان مهم) را توضیح می دهد که واقعاً مناسب نیستند
هر جای دیگر.
-6 (فعال کردن اسکن IPv6) .
Nmap برای محبوب ترین ویژگی های خود از IPv6 پشتیبانی می کند. اسکن پینگ، اسکن پورت،
تشخیص نسخه و Nmap Scripting Engine همگی از IPv6 پشتیبانی می کنند. دستور دستور
مثل همیشه است با این تفاوت که شما هم اضافه کنید -6 گزینه. البته باید استفاده کنید
اگر یک آدرس را به جای نام میزبان مشخص کنید، نحو IPv6. ممکن است یک آدرس به نظر برسد
مانند 3ffe:7501:4819:2000:210:f3ff:fe03:14d0، بنابراین نام میزبان توصیه می شود. خروجی
مانند همیشه به نظر می رسد، با آدرس IPv6 در خط "پورت های جالب".
تنها هدیه IPv6.
در حالی که IPv6 دقیقاً جهان را تحت تأثیر قرار نداده است، اما در برخی از آن استفاده قابل توجهی می شود
کشورهای (معمولا آسیایی) و اکثر سیستم عامل های مدرن از آن پشتیبانی می کنند. برای استفاده از Nmap
با IPv6، هم منبع و هم هدف اسکن شما باید برای IPv6 پیکربندی شوند. اگر
ISP شما (مانند بسیاری از آنها) آدرس های IPv6 را به شما اختصاص نمی دهد، تونل رایگان
کارگزاران به طور گسترده در دسترس هستند و با Nmap به خوبی کار می کنند. من از تونل IPv6 رایگان استفاده می کنم
دلال. خدمات در http://www.tunnelbroker.net. سایر دلالان تونل هستند ذکر شده at
ویکیپدیا[18]. تونل های 6to4 یکی دیگر از روش های محبوب و رایگان است.
در ویندوز، اسکنهای IPv6 با سوکت خام فقط در دستگاههای اترنت پشتیبانی میشوند (نه
تونل) و فقط در ویندوز ویستا. و بعد. استفاده کنید -- بی امتیاز. گزینه در
موقعیت های دیگر
-A (گزینه های اسکن تهاجمی) .
این گزینه گزینه های پیشرفته و تهاجمی اضافی را فعال می کند. در حال حاضر این امکان را فراهم می کند
تشخیص سیستم عامل (-O، اسکن نسخه (-sV، اسکن اسکریپت (-sC) و تراسروت
(-- ردیاب.. ممکن است در آینده ویژگی های بیشتری اضافه شود. نکته این است که a را فعال کنید
مجموعه ای جامع از گزینه های اسکن بدون اینکه افراد مجبور باشند مجموعه بزرگی از آنها را به خاطر بسپارند
پرچم ها با این حال، از آنجایی که اسکن اسکریپت با مجموعه پیش فرض مزاحم تلقی می شود،
شما نباید استفاده کنید -A علیه شبکه های هدف بدون مجوز فقط این گزینه
ویژگی ها را فعال می کند و نه گزینه های زمان بندی (مانند -T4) یا گزینه های پرحرفی (-v) که
ممکن است شما نیز بخواهید گزینه هایی که به امتیازات نیاز دارند (مانند دسترسی ریشه) مانند سیستم عامل
تشخیص و ردیابی تنها در صورتی فعال می شود که آن امتیازات در دسترس باشند.
--datadir نام دایرکتوری (محل فایل داده Nmap سفارشی را مشخص کنید) .
Nmap داده های خاصی را در زمان اجرا در فایل هایی به نام nmap-service-probes بدست می آورد.
nmap-services، nmap-protocols، nmap-rpc، nmap-mac-prefixes و nmap-os-db. اگر
محل هر یک از این فایل ها مشخص شده است (با استفاده از --servicedb or
-versiondb گزینه ها)، آن مکان برای آن فایل استفاده می شود. پس از آن، Nmap جستجو می کند
این فایل ها در دایرکتوری مشخص شده با --datadir گزینه (در صورت وجود). هر فایلی
در آنجا یافت نشد، در دایرکتوری مشخص شده توسط NMAPDIR.
متغیر محیطی. بعدی می آید ~/.nmap. برای UID های واقعی و موثر؛ یا در ویندوز،
صفحه اصلی\AppData\Roaming\nنقشه (کجا صفحه اصلی دایرکتوری اصلی کاربر است، مانند
ج:\کاربران\کاربر). پس از آن، محل اجرای nmap و به همین ترتیب است
مکان با ../share/nmap اضافه شده است. سپس یک مکان کامپایل شده مانند
/usr/local/share/nmap یا /usr/share/nmap.
--servicedb خدمات پرونده (فایل خدمات سفارشی را مشخص کنید).
از Nmap می خواهد که از فایل سرویس های مشخص شده به جای فایل داده nmap-services استفاده کند
که با Nmap همراه است. استفاده از این گزینه همچنین باعث اسکن سریع می شود (-F) مورد استفاده قرار گیرد. دیدن
توضیحات برای --datadir برای اطلاعات بیشتر در مورد فایل های داده Nmap.
-versiondb سرویس کاوشگرها پرونده (فایل کاوشگرهای خدمات سفارشی را مشخص کنید) .
از Nmap می خواهد که از فایل probes سرویس مشخص شده به جای nmap-service-probes استفاده کند.
فایل داده ای که همراه با Nmap است. توضیحات را ببینید --datadir برای اطلاعات بیشتر
در فایل های داده Nmap.
--send-eth (از ارسال اترنت خام استفاده کنید) .
از Nmap می خواهد که بسته ها را در لایه اترنت خام (پیوند داده) به جای لایه بالاتر ارسال کند
لایه IP (شبکه). به طور پیش فرض، Nmap یکی را انتخاب می کند که به طور کلی برای آن بهترین است
پلتفرمی که روی آن در حال اجراست سوکت های خام (لایه IP). به طور کلی برای
ماشینهای یونیکس، در حالی که فریمهای اترنت برای عملکرد ویندوز از آن زمان مورد نیاز هستند
مایکروسافت پشتیبانی از سوکت خام را غیرفعال کرد. با وجود این، Nmap همچنان از بسته های IP خام در یونیکس استفاده می کند
این گزینه زمانی که هیچ گزینه دیگری وجود ندارد (مانند اتصالات غیر اترنت).
--send-ip (ارسال در سطح IP خام) .
از Nmap می خواهد که بسته ها را از طریق سوکت های IP خام به جای ارسال اترنت سطح پایین تر ارسال کند
قاب ها مکمل آن است --send-eth گزینه ای که قبلا بحث شد
-- ممتاز (فرض کنید که کاربر کاملاً دارای امتیاز است) .
به Nmap می گوید که به سادگی فرض کند که برای انجام ارسال های خام سوکت به اندازه کافی امتیاز دارد،
بسته sniffing و عملیات مشابهی که معمولاً به حقوق ریشه نیاز دارند. در یونیکس
سیستم های. به طور پیش فرض اگر چنین عملیاتی درخواست شود، Nmap خارج می شود geteuid نیست
صفر -- ممتاز با قابلیت های هسته لینوکس و سیستم های مشابه که
ممکن است به گونه ای پیکربندی شود که به کاربران غیرمجاز اجازه دهد اسکن بسته های خام را انجام دهند. حتما
این پرچم گزینه را قبل از هر پرچمی برای گزینه هایی که به امتیازات نیاز دارند ارائه دهید (SYN
اسکن، تشخیص سیستم عامل و غیره). در NMAP_PRIVILEGED. متغیر محیطی ممکن است به عنوان یک تنظیم شود
جایگزین معادل -- ممتاز.
-- بی امتیاز (فرض کنید که کاربر فاقد امتیازات سوکت خام است) .
این گزینه برعکس است -- ممتاز. به Nmap می گوید که با کاربر به عنوان رفتار کند
فاقد سوکت خام شبکه و امتیازات sniffing. این برای آزمایش مفید است،
اشکال زدایی، یا زمانی که عملکرد شبکه خام سیستم عامل شما به نحوی است
شکسته شده. در NMAP_UNPRIVILEGED. متغیر محیطی ممکن است به عنوان یک معادل تنظیم شود
جایگزینی برای -- بی امتیاز.
-حافظه انتشار (حافظه را قبل از ترک سیگار رها کنید).
این گزینه فقط برای اشکال زدایی نشت حافظه مفید است. باعث آزاد شدن Nmap می شود
حافظه را درست قبل از پایان آن تخصیص می دهد تا نشت واقعی حافظه راحت تر شناسایی شود.
به طور معمول Nmap از این کار صرف نظر می کند زیرا سیستم عامل به هر حال پس از پایان فرآیند این کار را انجام می دهد.
-V; - نسخه (شماره نسخه چاپی) .
شماره نسخه Nmap را چاپ می کند و خارج می شود.
-h; --کمک (صفحه خلاصه راهنما را چاپ کنید) .
یک صفحه راهنمای کوتاه با رایج ترین پرچم های فرمان چاپ می کند. اجرای Nmap بدون
هر استدلالی همین کار را می کند.
زمان اجرا اثر متقابل
در طول اجرای Nmap، تمام فشار دادن کلیدها ضبط می شود. این به شما امکان تعامل می دهد
با برنامه بدون قطع و راه اندازی مجدد آن. برخی از کلیدهای ویژه تغییر خواهند کرد
گزینه ها، در حالی که هر کلید دیگر یک پیام وضعیت را چاپ می کند که به شما درباره اسکن می گوید.
کنوانسیون این است حروف کوچک نامه ها افزایش دادن مقدار چاپ و بزرگ
نامه ها کاهش چاپ همچنین می توانید ' را فشار دهید?' برای کمک.
v / V
افزایش/کاهش سطح پرحرفی
d / D
افزایش / کاهش سطح اشکال زدایی
p / P
ردیابی بسته را روشن/خاموش کنید
?
صفحه راهنمای تعامل زمان اجرا را چاپ کنید
چیز دیگری مد نظر دارید
یک پیام وضعیت مانند این را چاپ کنید:
آمار: 0:00:07 سپری شده; 20 میزبان تکمیل شد (1 میزبان)، 1 مورد در حال اسکن خدمات
زمان اسکن خدمات: حدود 33.33٪ انجام شده است. ETC: 20:57 (0:00:12 باقی مانده)
مثال ها
در اینجا چند نمونه استفاده از Nmap، از ساده و معمولی تا کمی پیچیده تر آورده شده است
و باطنی برخی از آدرسهای IP واقعی و نامهای دامنه برای بهتر کردن موارد استفاده میشوند
بتن. به جای آنها باید آدرس/اسامی را جایگزین کنید خود را خود شبکه.
در حالی که من فکر نمی کنم اسکن پورت شبکه های دیگر غیرقانونی باشد یا باید غیرقانونی باشد، برخی از شبکه ها
مدیران از اسکن ناخواسته شبکه های خود استقبال نمی کنند و ممکن است شکایت کنند.
اول گرفتن مجوز بهترین روش است.
برای اهداف آزمایشی، شما اجازه اسکن میزبان scanme.nmap.org را دارید. این
مجوز فقط شامل اسکن از طریق Nmap و عدم آزمایش اکسپلویت یا انکار سرویس است
حملات برای حفظ پهنای باند، لطفاً بیش از ده ها اسکن را بر روی آن انجام ندهید
آن میزبان در روز اگر از این سرویس هدف اسکن رایگان سوء استفاده شود، حذف خواهد شد
و Nmap را گزارش میکند که نام میزبان/IP دادهشده حل نشد: scanme.nmap.org. اینها
مجوزها همچنین برای میزبانهای scanme2.nmap.org، scanme3.nmap.org و غیره اعمال میشود.
آن میزبان ها در حال حاضر وجود ندارند.
nmap -v scanme.nmap.org.
این گزینه تمام پورت های TCP رزرو شده در دستگاه scanme.nmap.org را اسکن می کند. در -v انتخاب
حالت پرحرف را فعال می کند.
nmap -H.H -O scanme.nmap.org/24.
یک اسکن SYN مخفی را در برابر هر دستگاهی که از 256 IP موجود در
شبکه با اندازه کلاس C که در آن Scanme در آن قرار دارد. همچنین سعی می کند مشخص کند که چه عملیاتی دارد
سیستم بر روی هر میزبانی که راه اندازی و اجرا می شود در حال اجرا است. این به حقوق ریشه نیاز دارد
به دلیل اسکن SYN و تشخیص سیستم عامل.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
شمارش میزبان و اسکن TCP را در نیمه اول هر یک از 255 مورد ممکن راه اندازی می کند
زیرشبکه های هشت بیتی در فضای آدرس 198.116 کلاس B. این آزمایش می کند که آیا سیستم ها اجرا می شوند یا خیر
SSH، DNS، POP3، یا IMAP در درگاههای استانداردشان، یا هر چیزی در پورت 4564. برای هر یک از
این پورت ها باز هستند، تشخیص نسخه برای تعیین اینکه چه برنامه ای است استفاده می شود
در حال اجرا
nmap -v -iR 100000 -پن -p 80.
از Nmap می خواهد که 100,000 هاست را به صورت تصادفی انتخاب کند و آنها را برای سرورهای وب اسکن کند (پورت 80). میزبان
شمارش با غیرفعال است -پن از آنجایی که ابتدا یک جفت کاوشگر برای تعیین اینکه آیا
یک هاست بالا است وقتی که به هر حال فقط یک پورت را روی هر میزبان هدف بررسی میکنید بیهوده است.
nmap -پن -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20.
این 4096 IP را برای هر سرور وب اسکن می کند (بدون پینگ آنها) و خروجی را در آن ذخیره می کند.
فرمت های grepable و XML
nmap BOOK
در حالی که این راهنمای مرجع تمام گزینه های Nmap مواد را به طور کامل شرح می دهد، نمی تواند به طور کامل نشان دهد
چگونه می توان از آن ویژگی ها برای حل سریع وظایف دنیای واقعی استفاده کرد. برای آن، Nmap را منتشر کردیم
اسکن شبکه: راهنمای پروژه رسمی Nmap برای کشف و امنیت شبکه
اسکن کردن. موضوعات شامل براندازی فایروال ها و سیستم های تشخیص نفوذ، بهینه سازی است
عملکرد Nmap و خودکار کردن وظایف رایج شبکه با Nmap Scripting Engine.
نکات و دستورالعمل ها برای کارهای رایج Nmap مانند گرفتن شبکه ارائه شده است
موجودی، تست نفوذ، شناسایی نقاط دسترسی بی سیم سرکش، و حذف
شیوع کرم شبکه مثال ها و نمودارها ارتباط واقعی روی سیم را نشان می دهند. بیشتر
بیش از نیمی از کتاب به صورت آنلاین در دسترس است. دیدن https://nmap.org/book برای اطلاعات بیشتر
اطلاعات.
از nmap به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید