.\" netsniff-ng - the packet sniffing beast .\" Copyright 2013 Daniel Borkmann. .\" Subject to the GPL, version 2. .TH ASTRACEROUTE 8 "03 March 2013" "Linux" "netsniff-ng toolkit" .SH "نام (NAME)" astraceroute \- ابزار ردیابی مسیر سیستم خودمختار (AS) .PP .SH "خلاصه دستور (SYNOPSIS)" .PP \fBastraceroute\fP [\fIگزینه‌ها\fP] .PP .SH "توضیحات (DESCRIPTION)" برنامه astraceroute ابزاری کوچک برای بازیابی اطلاعات مسیر مشابه با traceroute است، اما اطلاعات موقعیت جغرافیایی بیشتری را ارائه می‌دهد\&. این ابزار مسیر یک بسته را از میزبان محلی به سمت میزبان راه دور با افزایش پی‌درپی فیلد TTL بسته IP (با شروع از ۱) دنبال می‌کند، به این امید که هر گره میانی هنگام صفر شدن مقدار TTL، یک اعلان ICMP TIME_EXCEEDED به میزبان محلی ارسال کند\&. .PP برنامه astraceroute از پرس‌وجوهای IPv4 و IPv6 پشتیبانی می‌کند و در صورت موجود بودن، اطلاعات کشور و شهر، شماره AS که گام (hop) به آن تعلق دارد و نام ISP آن را نمایش می‌دهد\&. همچنین astraceroute اطلاعات زمان‌بندی و داده‌های DNS معکوس را نشان می‌دهد\&. .PP با توجه به قابلیت پیکربندی بالای astraceroute، جمع‌آوری اطلاعات مفید بیشتری درباره هر گام و آنچه که اجازه عبور می‌دهد یا نمی‌دهد نیز امکان‌پذیر است\&. این کار با استفاده از رشته‌های متنی آشکار برای سنجش سامانه‌های بازرسی عمیق بسته‌ها (DPI) یا «دیوارهای آتشین بزرگ» جهت تشخیص فیلتر شدن کلیدواژه‌های مسدودشده حساس انجام می‌گیرد\&. این ابزار می‌تواند نقطه شروع خوبی برای تحلیل عمیق‌تر چنین سیستم‌هایی باشد\&. .PP .SH "گزینه‌ها (OPTIONS)" .TP .B -H , --host نام میزبان یا نشانی IPv4 یا IPv6 میزبان راه دور که مسیر AS به آن باید ردیابی شود\&. در صورت استفاده از نشانی یا نام میزبان IPv6، گزینه \fB-6\fP باید به کار رود\&. حالت پیش‌فرض IPv4 است\&. .TP .B -p , --port درگاه TCP برای استفاده در میزبان راه دور\&. اگر مشخص نشود، درگاه پیش‌فرض ۸۰ خواهد بود\&. .TP .B -i , -d , --dev دستگاه شبکه برای شروع ردیابی مسیر از آن، مانند eth0 یا wlan0\&. .TP .B -b , --bind نشانی IP برای مقیدسازی (bind) به غیر از نشانی دستگاه شبکه\&. برای یک نشانی IPv6 باید \fB-6\fP را تعیین کنید\&. .TP .B -f , --init-ttl مقدار اولیه TTL برای استفاده\&. این گزینه زمانی سودمند است که علاقه‌ای به n گام اول ندارید و تنها گام‌های پس از آن مد نظر شماست\&. مقدار پیش‌فرض اولیه TTL برابر ۱ است\&. .TP .B -m , --max-ttl حداکثر مقدار TTL برای استفاده\&. در صورت عدم تعیین، حداکثر مقدار TTL برابر ۳۰ خواهد بود\&. بنابراین، پس از رسیدن به این مقدار، astraceroute خارج می‌شود\&. .TP .B -q , --num-probes تعداد پرس‌وجوهایی که باید روی یک گام خاص انجام شوند را مشخص می‌کند\&. پیش‌فرض ۲ درخواست پرس‌وجو است\&. .TP .B -x , --timeout مهلت زمانی پاسخ کاوشگر به ثانیه را مشخص می‌کند، به بیان دیگر حداکثر زمانی که astraceroute باید برای پاسخ ICMP از گام فعلی منتظر بماند\&. مقدار پیش‌فرض ۳ ثانیه است\&. .TP .B -X , --payload قرار دادن یک رشته متن ساده ASCII در بار داده (payload) بسته\&. متن ساده حاوی فاصله باید درون علامت نقل‌قول قرار گیرد (مانند: "censor me")\&. .TP .B -l , --totlen طول کل بسته را مشخص می‌کند\&. بار داده‌ای که فاقد رشته متن ساده باشد با داده‌های تصادفی پر می‌شود\&. .TP .B -4, --ipv4 استفاده انحصاری از درخواست‌های IPv4\&. این حالت پیش‌فرض است\&. .TP .B -6, --ipv6 استفاده انحصاری از درخواست‌های IPv6\&. هنگام ارسال یک میزبان IPv6 به عنوان آرگومان، استفاده از این گزینه الزامی است\&. .TP .B -n, --numeric به astraceroute اعلام می‌کند که جستجوی DNS معکوس را برای پاسخ‌های گام‌ها انجام ندهد\&. گزینه معکوس آن \fB-N\fP است\&. .TP .B -u, --update فراخوانی سازوکار درونی به‌روزرسانی پایگاه داده جغرافیایی برای دریافت آخرین نسخه Maxmind\&. فایل /etc/netsniff-ng/geoip.conf حاوی نشانی‌های ممکن برای پیکربندی مکان‌های جستجوی پایگاه داده است\&. بدین ترتیب برای صرفه‌جویی در پهنای باند یا آینه‌سازی پایگاه‌های داده Maxmind (برای دور زدن محدودیت ترافیک آن‌ها)، می‌توان میزبان‌ها یا نشانی‌های IP مختلف را که با خط جدید جدا شده‌اند در geoip.conf قرار داد\&. .TP .B -L, --latitude نمایش عرض و طول جغرافیایی گام‌ها\&. .TP .B -N, --dns به astraceroute اعلام می‌کند که جستجوی DNS معکوس را برای پاسخ‌های گام‌ها انجام دهد\&. گزینه معکوس آن \fB-n\fP است\&. .TP .B -S, --syn استفاده از پرچم SYN در پروتکل TCP برای درخواست\&. .TP .B -A, --ack استفاده از پرچم ACK در پروتکل TCP برای درخواست\&. .TP .B -F, --fin استفاده از پرچم FIN در پروتکل TCP برای درخواست\&. .TP .B -P, --psh استفاده از پرچم PSH در پروتکل TCP برای درخواست\&. .TP .B -U, --urg استفاده از پرچم URG در پروتکل TCP برای درخواست\&. .TP .B -R, --rst استفاده از پرچم RST در پروتکل TCP برای درخواست\&. .TP .B -E, --ecn-syn استفاده از پرچم ECN در پروتکل TCP برای درخواست\&. .TP .B -t , --tos تعیین صریح مقدار فیلد TOS پروتکل IP\&. .TP .B -G, --nofrag تنظیم پرچم عدم قطعه‌بندی (no fragmentation) در IP\&. .TP .B -Z, --show-packet نمایش و کالبدشکافی بسته بازگردانده‌شده\&. .TP .B -v, --version نمایش اطلاعات نسخه و خروج\&. .TP .B -h, --help نمایش راهنمای کاربر و خروج\&. .PP .SH "مثال‌های کاربردی (EXAMPLES)" .TP .B astraceroute -i eth0 -N -S -H netsniff-ng.org ارسال یک کاوشگر TCP SYN از طریق دستگاه شبکه eth0 به سمت میزبان راه دور IPv4 با نشانی netsniff-ng.org\&. این درخواست بیشترین احتمال عبور را دارد\&. همچنین به astraceroute دستور می‌دهد برای هر گام جستجوی DNS معکوس انجام دهد\&. .TP .B astraceroute -6 -i eth0 -S -E -N -H www.6bone.net در این مثال، یک کاوشگر TCP SYN/ECN برای میزبان IPv6 با نشانی www.6bone.net اجرا می‌شود\&. در این حالت نیز از دستگاه eth0 و جستجوی معکوس DNS برای هر گام استفاده می‌گردد\&. .TP .B astraceroute -i eth0 -N -F -H netsniff-ng.org ارسال یک کاوشگر TCP FIN به میزبان راه دور netsniff-ng.org\&. مجدداً روی هر گام جستجوی معکوس DNS انجام شده و پرس‌وجوها از رابط eth0 با پروتکل IPv4 ارسال می‌شوند\&. .TP .B astraceroute -i eth0 -N -FPU -H netsniff-ng.org مشابه با بیشتر مثال‌های دیگر، یک ردیابی مسیر به میزبان IPv4 با نشانی netsniff-ng.org انجام داده و این بار کاوشگر TCP Xmas را به کار می‌بریم\&. .TP .B astraceroute -i eth0 -N -H netsniff-ng.org -X "censor-me" -Z در این مثال، یک کاوشگر Null به میزبان راه دور netsniff-ng.org و درگاه ۸۰ (پیش‌فرض) ارسال می‌کنیم و رشته متنی "censor-me" را در بار داده بسته قرار می‌دهیم تا بررسی کنیم آیا دیوار آتش یا DPI اجازه عبور این رشته را می‌دهد یا خیر\&. چنین ردیابی را می‌توان یک بار بدون رشته مسدودشده و یک بار با آن انجام داد تا اطلاعات لازم درباره وضعیت سانسور به دست آید\&. .PP .SH "نکات (NOTES)" اگر یک کاوشگر مبتنی بر TCP پس از چندین بار تلاش مجدد با شکست مواجه شود، astraceroute به طور خودکار به کاوشگرهای مبتنی بر ICMP بازمی‌گردد تا بتواند از دیوارهای آتش و مسیریاب‌های به کار رفته در متعادل‌سازی بار عبور کند\&. .PP برای جمع‌آوری اطلاعات بیشتر درباره شماره‌های AS نمایش‌داده‌شده توسط astraceroute، برای نمونه پیوند زیر را ببینید: http://bgp.he.net/AS .PP .SH "گزارش باگ‌ها (BUGS)" موقعیت‌های جغرافیایی با کمک پایگاه داده GeoIP متعلق به Maxmind تخمین زده می‌شوند و ممکن است با موقعیت فیزیکی واقعی مغایرت داشته باشند\&. برای کاهش خطاهای احتمالی، پایگاه داده را مرتباً با استفاده از گزینه \fB--update\fP در astraceroute به‌روزرسانی کنید\&. .PP در آینده نیاز به رویکردی مشابه برای جمع‌آوری اطلاعات مطمئن‌تر مسیر مانند ابزار paris-traceroute وجود دارد\&. .PP با توجه به ماهیت کلی astraceroute، در حال حاضر این برنامه یک سازوکار داخلی برای توقف ردیابی پس از تعداد مشخصی گام دارد، چرا که پرچم‌های قابل تنظیم TCP می‌توانند هر مقداری را شامل شوند\&. البته امکان کاهش این مقدار وجود دارد\&. در آینده، چنانچه یک کاوشگر SYN ارسال شود، باید یک شنودگر تعبیه گردد تا در صورت تشخیص یک دست‌تکانی در حال انجام، ردیابی را متوقف کند\&. .PP .SH "مجوز و حقوقی (LEGAL)" برنامه astraceroute تحت مجوز GNU GPL نسخه ۲.۰ منتشر شده است\&. .PP .SH "تاریخچه (HISTORY)" برنامه .B astraceroute در اصل توسط Daniel Borkmann برای جعبه‌ابزار netsniff-ng نوشته شد\&. نگهداری آن در حال حاضر توسط Tobias Klauser و Daniel Borkmann انجام می‌شود\&. .PP .SH "همچنین ببینید (SEE ALSO)" .BR netsniff-ng (8), .BR trafgen (8), .BR mausezahn (8), .BR ifpps (8), .BR bpfc (8), .BR flowtop (8), .BR curvetun (8) .PP .SH "نویسنده (AUTHOR)" این صفحه راهنما توسط Daniel Borkmann نوشته شده است\&. .PP .SH "اطلاعات تکمیلی (COLOPHON)" این صفحه بخشی از پروژه جعبه‌ابزار netsniff-ng لینوکس است\&. توصیفی از پروژه و اطلاعات مربوط به گزارش خطاها را می‌توان در نشانی یافت\&.