رفتن به محتوا
بازگشت به وبلاگ
پایش

تحلیل ترافیک NetFlow و sFlow برای دید شبکه

جمع‌آوری و تحلیل داده‌های NetFlow/sFlow با nfdump، ntopng یا Elastic Stack برای حسابداری پهنای باند و تشخیص ناهنجاری.

شهریور ۱۴۰۴
۱۲ دقیقه مطالعه

مقدمه

NetFlow و sFlow دو پروتکل استاندارد صنعتی برای جمع‌آوری آمار ترافیک شبکه هستند. به عنوان یک مهندس زیرساخت تازه‌کار، درک تحلیل ترافیک به شما کمک می‌کند سوالاتی مثل "چه کسی پهنای باند را مصرف می‌کند؟"، "آیا ترافیک غیرعادی‌ای وجود دارد؟" و "کدام اپلیکیشن‌ها بیشتر استفاده می‌شوند؟" را پاسخ دهید. این راهنما هر دو پروتکل، تفاوت‌هایشان و نحوه استقرار یک stack کامل تحلیل ترافیک را پوشش می‌دهد.

تفاوت اصلی NetFlow و sFlow

NetFlow (اختصاصی سیسکو، اکنون به عنوان IPFIX استاندارد شده) با ردیابی هر flow TCP/UDP کار می‌کند - ترکیب منحصربه‌فردی از IP مبدا، IP مقصد، پورت مبدا، پورت مقصد و پروتکل. روتر/سوئیچ این flowها را cache می‌کند و به عنوان رکورد به یک collector صادر می‌کند. sFlow (RFC 3176) از نمونه‌برداری آماری استفاده می‌کند - به طور تصادفی 1 از N بسته (مثلاً 1 از 512) را نمونه‌برداری کرده و هدرهای بسته خام را صادر می‌کند. این برای لینک‌های پرسرعت مقیاس‌پذیرتر است.

راه‌اندازی NetFlow Collector با nfdump/nfcapd

BASH
sudo apt install nfdump
sudo mkdir -p /var/netflow/data

# شروع collector روی UDP 9995
sudo nfcapd -D -l /var/netflow/data -p 9995

# پیکربندی روتر سیسکو
! interface GigabitEthernet0/0
!  ip flow ingress
!  ip flow egress
! ip flow-export version 9
! ip flow-export destination 192.168.1.100 9995

خواندن داده‌های NetFlow

BASH
# ۱۰ مصرف‌کننده برتر بر اساس بایت
nfdump -R /var/netflow/data -s srcip/bytes -n 10

# ترافیک از IP مشکوک
nfdump -R /var/netflow/data "src ip 10.0.0.100" -o extended

# پورت‌های مقصد پرکاربرد
nfdump -R /var/netflow/data -s dstport/flows -n 20

تشخیص ناهنجاری‌ها

BASH
# تشخیص پورت اسکن
nfdump -R /var/netflow/data -s srcip/flows -n 100 |   awk '$4 > 1000 {print "SCAN مشکوک:", $0}'

# تشخیص exfiltration داده
nfdump -R /var/netflow/data   "bytes > 100000000 and not (dst net 10.0.0.0/8)"   -o "fmt: %ts %sa %da %byt"

تحلیل ترافیک یکی از قدرتمندترین ابزارهای یک مهندس شبکه است. با query های ساده nfdump شروع کنید و تدریجاً به ابزارهای بصری مثل ntopng یا داشبورد Grafana برای پایش مستمر ارتقا دهید.