.\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . .TH "MASSCAN" "8" "January 2014" "" "" . .SH "نام (NAME)" masscan \- اسکنر سریع و انبوه پورت‌های شبکه TCP/IP . .SH "خلاصه دستور (SYNOPSIS)" masscan \-p \fIports\fR \fIoptions\fR . .SH "توضیحات (DESCRIPTION)" دستور \fBmasscan\fR یک اسکنر پورت در مقیاس اینترنت است که برای ارزیابی‌ها و پیمایش‌های بزرگ‌مقیاس اینترنت یا شبکه‌های داخلی بسیار کاربرد دارد\. اگرچه نرخ ارسال پیش‌فرض آن تنها ۱۰۰ بسته در ثانیه است، اما به‌صورت اختیاری می‌تواند تا ۲۵ میلیون بسته در ثانیه سرعت داشته باشد؛ سرعتی که برای اسکن کل اینترنت روی یک پورت تنها در مدت ۳ دقیقه کافی است\. . .SH "گزینه‌ها (OPTIONS)" . .IP "\(bu" 4 \fB\fR: هر چیزی در خط فرمان که با علامت «\-» شروع نشود، به عنوان یک آدرس یا بازه IP در نظر گرفته می‌شود\. سه قالب معتبر وجود دارد: اولی یک آدرس IPv4 منفرد مانند "192\.168\.0\.1" است؛ دومی یک بازه مانند "10\.0\.0\.1\-10\.0\.0\.100" است؛ سومی یک آدرس CIDR مانند "0\.0\.0\.0/0" است\. حداقل باید یک هدف مشخص شود\. می‌توان چندین هدف را مشخص کرد؛ این کار می‌تواند با فاصله‌گذاری بین چند ورودی یا با استفاده از ویرگول به عنوان یک گزینه واحد انجام شود، مانند \fB10\.0\.0\.0/8,192\.168\.0\.1\fR\. . .IP "\(bu" 4 \fB\-\-range \fR: همانند مشخصات بازه هدف که در بالا توضیح داده شد، با این تفاوت که به جای یک پارامتر بی‌نام، به صورت یک پارامتر نام‌دار مشخص می‌شود\. . .IP "\(bu" 4 \fB\-p \fR: پورت یا پورت‌های مورد نظر برای اسکن را مشخص می‌کند\. می‌توان یک پورت تکی مانند \fB\-p80\fR، یک بازه از پورت‌ها مانند \fB\-p 20\-25\fR، یا فهرستی از پورت‌ها و بازه‌ها مانند \fB\-p80,20\-25\fR را تعیین کرد\. پورت‌های UDP نیز قابل تعیین هستند، مانند \fB\-\-ports U:161,U:1024\-1100\fR\. . .IP "\(bu" 4 \fB\-\-banners\fR: مشخص می‌کند که بنرها (مانند نسخه سرورهای HTTP، فیلدهای عنوان HTML و مواردی از این دست) دریافت شوند\. تنها تعداد معدودی از پروتکل‌ها پشتیبانی می‌شوند\. . .IP "\(bu" 4 \fB\-\-rate \fR: نرخ مطلوب برای ارسال بسته‌ها را مشخص می‌کند\. این مقدار می‌تواند اعداد بسیار کوچکی باشد، مانند \fB0\.1\fR برای ارسال یک بسته در هر ۱۰ ثانیه، یا مقادیر بسیار بزرگی مانند 10000000 که تلاش می‌کند ۱۰ میلیون بسته در ثانیه ارسال کند\. طبق تجربه نویسنده، ویندوز می‌تواند حدود ۲۵۰ هزار بسته در ثانیه ارسال کند و نسخه‌های جدید لینوکس تا ۲٫۵ میلیون بسته در ثانیه را پردازش می‌کنند\. برای رسیدن به ۲۵ میلیون بسته در ثانیه، درایور PF_RING مورد نیاز است\. . .IP "\(bu" 4 \fB\-c \fR, \fB\-\-conf \fR: یک فایل پیکربندی را می‌خواند\. ساختار فایل پیکربندی در ادامه توضیح داده شده است\. . .IP "\(bu" 4 \fB\-\-resume \fR: مشابه گزینه \fB\-\-conf\fR است، با این تفاوت که چند گزینه به‌طور خودکار تنظیم می‌شوند، مانند \fB\-\-append\-output\fR\. ساختار فایل پیکربندی در ادامه توضیح داده شده است\. . .IP "\(bu" 4 \fB\-\-echo\fR: اسکن را اجرا نمی‌کند، بلکه پیکربندی فعلی را در یک فایل خروجی ذخیره می‌کند\. این فایل می‌تواند بعداً همراه با گزینه \fB\-c\fR استفاده شود\. قالب این خروجی در زیربخش «ساختار فایل پیکربندی» توضیح داده شده است\. . .IP "\(bu" 4 \fB\-e \fR, \fB\-\-adapter \fR: استفاده از رابط شبکه خام مشخص‌شده، مانند "eth0" یا "dna1"\. در صورت مشخص نشدن، از اولین رابط شبکه‌ای که دارای دروازه پیش‌فرض (gateway) باشد استفاده می‌شود\. . .IP "\(bu" 4 \fB\-\-adapter\-ip \fR: ارسال بسته‌ها با استفاده از این آدرس IP\. در صورت تعیین نشدن، از اولین آدرس IP متصل‌شده به رابط شبکه استفاده می‌شود\. به جای یک آدرس IP تکی، می‌توان یک بازه را مشخص کرد\. نکته: اندازه بازه باید توانی از عدد ۲ باشد، مانند ۱، ۲، ۴، ۸، ۱۶، ۱۰۲۴ و غیره آدرس\. . .IP "\(bu" 4 \fB\-\-adapter\-port \fR: ارسال بسته‌ها با استفاده از این شماره پورت به عنوان پورت مبدأ\. در صورت عدم تعیین، یک پورت تصادفی در بازه ۴۰۰۰۰ تا ۶۰۰۰۰ انتخاب خواهد شد\. این پورت باید توسط فایروال میزبان (مانند iptables) فیلتر شود تا از تداخل پشته شبکه میزبان با بسته‌های دریافتی جلوگیری گردد\. به جای یک پورت تکی، می‌توان یک بازه را تعیین کرد، مانند \fB40000\-40003\fR\. نکته: اندازه بازه باید توانی از عدد ۲ باشد، مانند مثال بالا که شامل مجموعاً ۴ پورت است\. . .IP "\(bu" 4 \fB\-\-adapter\-mac \fR: ارسال بسته‌ها با استفاده از این آدرس به عنوان آدرس MAC مبدأ\. در صورت مشخص نشدن، از نخستین آدرس MAC متصل به رابط شبکه استفاده خواهد شد\. . .IP "\(bu" 4 \fB\-\-router\-mac \fR: ارسال بسته‌ها به این آدرس MAC به عنوان مقصد\. در صورت تعیین نشدن، آدرس دروازه (gateway) رابط شبکه با استفاده از ARP شناسایی و تعیین می‌شود\. . .IP "\(bu" 4 \fB\-\-ping\fR: مشخص می‌کند که اسکن شامل درخواست ICMP echo نیز باشد\. این گزینه می‌تواند همراه با اسکن TCP و UDP مورد استفاده قرار گیرد\. . .IP "\(bu" 4 \fB\-\-exclude \fR: قرار دادن یک آدرس یا بازه IP در لیست سیاه برای جلوگیری از اسکن شدن آن\. این گزینه بر هرگونه مشخصات هدف دیگر اولویت دارد و تضمین می‌کند که این آدرس یا بازه اسکن نخواهد شد\. قالب آن مشابه قالب مشخصات عادی هدف است\. . .IP "\(bu" 4 \fB\-\-excludefile \fR: فهرستی از بازه‌های مستثنی‌شده را با همان قالب هدف شرح‌داده‌شده در بالا از یک فایل می‌خواند\. این بازه‌ها بر تمام اهداف اولویت دارند و مانع از اسکن شدن آن‌ها می‌شوند\. . .IP "\(bu" 4 \fB\-\-append\-output\fR: باعث می‌شود خروجی به انتهای فایل افزوده شود، به جای اینکه فایل رونویسی و بازنویسی شود\. . .IP "\(bu" 4 \fB\-\-iflist\fR: فهرست رابط‌های شبکه موجود را نمایش می‌دهد و سپس خارج می‌شود\. . .IP "\(bu" 4 \fB\-\-retries\fR: تعداد دفعات تلاش مجدد برای ارسال با فواصل ۱ ثانیه‌ای\. توجه داشته باشید که به دلیل بدون‌وضعیت (stateless) بودن این اسکنر، تلاش‌های مجدد بدون توجه به اینکه آیا پاسخی از قبل دریافت شده است یا خیر ارسال می‌شوند\. . .IP "\(bu" 4 \fB\-\-nmap\fR: چاپ راهنمای مربوط به گزینه‌های جایگزین سازگار با nmap برای این گزینه‌ها\. . .IP "\(bu" 4 \fB\-\-pcap\-payloads\fR: خواندن بسته‌ها از یک فایل libpcap شامل بسته‌ها و استخراج داده‌های کاربردی (payload) پروتکل UDP و مرتبط ساختن آن داده‌ها با پورت مقصد\. سپس این داده‌ها هنگام ارسال بسته‌های UDP با پورت مقصد تطبیق‌یافته استفاده خواهند شد\. به ازای هر پورت تنها یک داده کاربردی به خاطر سپرده می‌شود\. مشابه \fB\-\-nmap\-payloads\fR است\. . .IP "\(bu" 4 \fB\-\-nmap\-payloads \fR: خواندن یک فایل با قالبی مشابه فایل \fBnmap\-payloads\fR در nmap\. این فایل شامل داده‌های کاربردی UDP است تا بتوان به جای ارسال بسته‌های خالی، بسته‌های مفید UDP ارسال کرد\. مشابه \fB\-\-pcap\-payloads\fR است\. . .IP "\(bu" 4 \fB\-\-http\-user\-agent \fR: هنگام ارسال درخواست‌های HTTP، فیلد user\-agent موجود را با مقدار مشخص‌شده جایگزین می‌کند\. . .IP "\(bu" 4 \fB\-\-open\-only\fR: فقط پورت‌های باز را گزارش می‌دهد، نه پورت‌های بسته\. . .IP "\(bu" 4 \fB\-\-pcap \fR: بسته‌های دریافتی (و نه بسته‌های ارسالی) را در فایلی با قالب libpcap ذخیره می‌کند\. . .IP "\(bu" 4 \fB\-\-packet\-trace\fR: خلاصه‌ای از بسته‌های ارسالی و دریافتی را چاپ می‌کند\. این گزینه در نرخ‌های پایین، مانند چند بسته در ثانیه، مفید است اما در نرخ‌های بالا حجم خروجی ترمینال را اشباع خواهد کرد\. . .IP "\(bu" 4 \fB\-\-pfring\fR: استفاده اجباری از درایور PF_RING\. در صورتی که درایورهای DNA مربوط به PF_RING در دسترس نباشند، برنامه خارج می‌شود\. . .IP "\(bu" 4 \fB\-\-resume\-index\fR: نقطه‌ای از اسکن که در آن متوقف شده است\. . .IP "\(bu" 4 \fB\-\-resume\-count\fR: حداکثر تعداد کاوش‌هایی (probe) که باید پیش از خروج ارسال شوند\. این گزینه به همراه \fB\-\-resume\-index\fR برای قطعه‌قطعه کردن اسکن و تقسیم آن بین چند نمونه اجرایی کاربرد دارد، هرچند ممکن است گزینه \fB\-\-shards\fR انتخاب بهتری باشد\. . .IP "\(bu" 4 \fB\-\-shards /\fR: تقسیم اسکن میان چندین نمونه اجرایی\. مقدار \fBx\fR شناسه این اسکن و مقدار \fBy\fR تعداد کل نمونه‌ها است\. برای نمونه، \fB\-\-shards 1/2\fR به یک نمونه اعلام می‌کند که یکی در میان بسته‌ها را از ایندکس ۰ ارسال کند\. به همین ترتیب، \fB\-\-shards 2/2\fR یکی در میان اما با شروع از ایندکس ۱ ارسال می‌کند تا هیچ تداخلی با نمونه نخست نداشته باشد\. . .IP "\(bu" 4 \fB\-\-rotate