FLOWTOP(8) netsniff-ng toolkit FLOWTOP(8)

flowtop - ابزار پایش بلادرنگ جریان‌های شبکه و ارتباطات سوکت

flowtop { [گزینه‌ها] }

دستور flowtop یک ابزار پایش و ردگیری اتصالات مشابه top است که می‌تواند بر روی یک میزبان نهایی یا یک مسیریاب خانگی کوچک اجرا شود. این ابزار قادر است جریان‌های TCP، UDP/UDP-lite، SCTP، DCCP و ICMP(v6) را که توسط چارچوب ردگیری اتصالات netfilter در هسته لینوکس گردآوری شده‌اند نمایش دهد؛ بنابراین نیازی به دریافت و کپچر بسته‌ها در فضای کاربری (user space) نخواهد بود.

ابزار flowtop می‌تواند نمایی سریع و کلی از اتصالات جاری بر روی سیستم محلی را به شما ارائه دهد؛ به عنوان مثال برای اهداف اشکال‌زدایی یا پاسخ به سوالاتی از قبیل:

* اگر به وب‌سایت X دسترسی پیدا کنید، چه اتصالات دیگری در پس‌زمینه بدون اطلاع شما برقرار می‌شوند؟
* چه اتصالاتی فعال هستند که از مسیریاب عبور می‌کنند؟
* من یک فایل باینری انحصاری Y دارم، این برنامه به کجا متصل می‌شود؟
* من داده‌ها را به چه کشورهایی ارسال می‌کنم؟
* آیا اتصالات پس‌زمینه مشکوکی روی دستگاه من وجود دارد؟
* باینری Y چه تعداد اتصال فعال دارد؟
* چه مدت است که اتصالات فعال هستند؟
* با چه سرعتی در حال ارسال/دریافت داده‌ها هستم؟

اطلاعات زیر در خروجی flowtop ارائه خواهد شد:

* نام برنامه و شناسه فرایند (PID) هنگام اجرا بر روی سیستم محلی
* تفکیک معکوس سامانه نام دامنه (Reverse DNS) برای مبدا و مقصد
* اطلاعات موقعیت جغرافیایی (کشور، شهر)
* پروتکل‌های استفاده‌شده (IPv4، IPv6، TCP، UDP، SCTP، ICMP و...)
* تشخیص تقریبی نام سرویس بر اساس درگاه جریان
* اطلاعات ماشین وضعیت پروتکل انتقال
* شمارنده‌های بایت/بسته (در صورت فعال بودن)
* مدت‌زمان اتصال (در صورت فعال بودن برچسب زمانی یا timestamping)
* نرخ ارسال/دریافت جریان (در صورت فعال بودن شمارنده‌های بایت/بسته)

برای اینکه flowtop کار کند، باید netfilter بر روی دستگاه شما فعال و در حال اجرا باشد تا ردگیری اتصالات در سمت هسته فعال باشد. اگر netfilter در حال اجرا نیست، می‌توانید آن را با iptables(8) فعال کنید:


iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT

یا با بارگذاری ماژول‌های هسته زیر:


modprobe nf_conntrack_ipv4
modprobe nf_conntrack_ipv6

برای ثبت و نمایش شمارنده‌های بایت/بسته، flowtop پارامتر sysctl(8) با نام net.netfilter.nf_conntrack_acct را از طریق دستور زیر فعال می‌کند:


echo 1 > /proc/sys/net/netfilter/nf_conntrack_acct

و هنگام خروج، آن را به مقدار قبلی بازمی‌گرداند. این شمارنده‌ها تنها بر روی اتصالاتی فعال خواهند بود که پس از فعال‌سازی محاسبه آمار ایجاد شده‌اند. بنابراین برای اینکه این شمارنده‌ها همیشه فعال باشند، این پارامتر باید پس از بالا آمدن سیستم فعال شود. برای فعال‌سازی خودکار آن، می‌توان از sysctl.conf(8) یا sysctl.d(8) استفاده کرد.

برای محاسبه مدت‌زمان اتصال، flowtop پارامتر sysctl(8) با نام net.netfilter.nf_conntrack_timestamp را از طریق دستور زیر فعال می‌کند:


echo 1 > /proc/sys/net/netfilter/nf_conntrack_timestamp

و هنگام خروج، آن را به مقدار قبلی بازمی‌گرداند.

هدف flowtop تنها ارائه یک بررسی سریع بر روی اتصالات فعال شما است. اگر به امکانات ثبت گزارش (logging) نیاز دارید، به جای آن از ابزارهای conntrack(8) مربوط به netfilter استفاده کنید.

-4, --ipv4
نمایش جریان‌های IPv4. این حالت پیش‌فرض است زمانی که flowtop بدون هیچ آرگومانی اجرا شود.
-6, --ipv6
نمایش جریان‌های IPv6. این حالت پیش‌فرض است زمانی که flowtop بدون هیچ آرگومانی اجرا شود.
نمایش جریان‌های TCP. این حالت پیش‌فرض است زمانی که flowtop بدون هیچ آرگومانی اجرا شود.
نمایش جریان‌های UDP و UDP-lite.
نمایش جریان‌های DCCP.
نمایش جریان‌های ICMP نسخه ۴ و نسخه ۶.
نمایش جریان‌های SCTP.
عدم انجام جستجوی نام میزبان (hostname lookup). تنها نشانی‌های عددی برای نقاط پایانی جریان نمایش داده می‌شوند.
عدم انجام جستجوی GeoIP. هیچ اطلاعات جغرافیایی برای نقاط پایانی جریان نمایش داده نخواهد شد.
علاوه بر اطلاعات مقصد، اطلاعات مبدا جریان نیز نمایش داده شود.
نمایش نرخ جریان بر حسب بیت در ثانیه به جای بایت در ثانیه.
سازوکار داخلی به‌روزرسانی پایگاه داده برای دریافت آخرین پایگاه داده MaxMind فراخوانی می‌شود. برای پیکربندی مکان‌های جستجوی پایگاه داده‌ها، فایل /etc/netsniff-ng/geoip.conf شامل نشانی‌های ممکن است. بدین ترتیب برای صرفه‌جویی در پهنای باند یا ایجاد آینه از پایگاه‌های داده MaxMind (جهت دور زدن سیاست محدودیت ترافیک آن‌ها)، می‌توان میزبان‌ها یا نشانی‌های IP مختلف را در geoip.conf قرار داد که با خط جدید از یکدیگر جدا می‌شوند.
بازه زمانی بازنشانی و تازه‌سازی اطلاعات جریان بر حسب ثانیه، مقدار پیش‌فرض ۱ ثانیه است.
نمایش اطلاعات نسخه و خروج.
نمایش راهنمای کاربر و خروج.

خروجی پیش‌فرض ncurses برای flowtop که جریان‌های IPv4 و IPv6 را برای TCP ردگیری و پایش می‌کند.
flowtop -46UTDISs
این مثال بیشترین گزینه‌های نمایش را برای flowtop فعال می‌کند.

فایل‌های موجود در مسیر /etc/netsniff-ng/ را می‌توان برای گسترش تفکیک سرویس‌ها و اطلاعات جستجوی flowtop تغییر داد:

* tcp.conf - نگاشت درگاه‌ها/سرویس‌های TCP
* udp.conf - نگاشت درگاه‌ها/سرویس‌های UDP
* geoip.conf - سرورهای آینه پایگاه داده GeoIP

با بالا رفتن نرخ به‌روزرسانی‌های ردگیری اتصالات، ممکن است flowtop هنگام پیمایش (scrolling) برای مدت‌زمان کوتاهی پاسخگو نباشد. راه‌حل مناسب این خواهد بود که بخش پشتیبان مدیریت اتصالات flowtop با یک طراحی بهتر از نظر رویکرد قفل‌گذاری جایگزین شود. این مورد هنوز در فهرست کارهای پیش رو (todo) قرار دارد.

ابزار flowtop تحت مجوز گنو جی‌پی‌ال نسخه ۲.۰ (GNU GPL version 2.0) منتشر شده است.

flowtop در ابتدا توسط دانیل بورکمن (Daniel Borkmann) برای مجموعه ابزارهای netsniff-ng نوشته شد. این پروژه در حال حاضر توسط توبیاس کلاوزر <tklauser@distanz.ch> و دانیل بورکمن <dborkma@tik.ee.ethz.ch> نگهداری می‌شود.

netsniff-ng(8), trafgen(8), mausezahn(8), ifpps(8), bpfc(8), astraceroute(8), curvetun(8), iptables(8), sysctl(8), sysctl.conf(8), sysctl.d(8)

این صفحه راهنما توسط دانیل بورکمن (Daniel Borkmann) نوشته شده است.

این صفحه بخشی از پروژه مجموعه ابزارهای netsniff-ng لینوکس است. توضیحات مربوط به این پروژه و اطلاعات گزارش باگ‌ها را می‌توانید در نشانی http://netsniff-ng.org بیابید.

03 March 2013 Linux