#acl All:read == nfdump és nfsen (Netflow Sensor) == Az nfdump és az nfsen talán a legnépszerűbb flow collector és megjelenítő eszköz-csomag, amely ingyenesen és szabadon hozzáférhető a BSD license feltételeinek megfelelően. A szoftver a SWITCH (Swiss Education and & Research Network) fejleszti. === nfdump === Az nfdump egy számos eszközt tartalmazó szoftver-csomag, amely elérhető az alábbi URL-en: http://nfdump.sourceforge.net Az nfdump fontosabb eszközei: * '''nfcapd:''' !NetFlow információ gyüjtő daemon. Fogadja a hálózati eszközök által küldött !NetFlow rekordokat és adatfile-okban tárolja ezeket. Az adatfile-ok időnként rotálódnak (tipikusan 5 percenként). !NetFlow stream-enként (tipikusan hálózati eszközönként) egy ''nfcapd'' futtatására van szükség. Az ''nfcapd'' v5, v7 és v9 verziójú !NetFlow-t protokollt és rekordformátumot támogat. * '''nfdump:''' !NetFlow rekord megjelentítő eszköz. Beolvassa és megjeleníti a file-ok formájában tárolt !NetFlow rekordokat. Többféle megjelenítési, rendezési formát támogat (pl. legtöbbet forgalmazó host-ok listázása, különféle rendezése a rendelkezésre álló paraméterek alapján). Az nfdump csomag: Az alábbi ábrán az ''nfcapd'' és az ''nfdump'' működését szemléltetjük (forrás: nfdump leírás): {{attachment:nfdump_model.jpg}} A hálózati eszközök felöl érkező flow exportokat egy-egy ''nfcapd'' példány rögzíti a diszken. Az egyes példányok használhatnak külön-külön, de akár közös diszk-területet is. A visszakereshető adat mennyiségét kizárólag a rendelkezésre álló diszkek szabad területe korlátozza. Egy megfelelően nagy hálózat, több száz router-ének teljes !NetFlow adatmennyisége akár napi több 10Gb-ra is tehető. Az ''nfcapd'' által file formájában rögzített flow információt az ''nfdump'' programmal listázhatjuk ki. Egy példa: {{{ nfdump -R /usr/local/var/nfsen/profiles/live/cntrl/nfcapd.200608231735:nfcapd.200608241010 -n 100 -s record/bps Aggregated flows 329185 Top 100 flows ordered by bps: Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2006-08-23 18:55:37.304 1.496 TCP 2001:73..:402::2.22 -> 2001:73..a4:ba0a.49865 3607 5.1 M 1 2006-08-23 22:14:45.632 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.56587 41 51023 1 2006-08-24 02:14:45.612 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.53880 41 51023 1 2006-08-24 07:08:45.556 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.56535 41 51023 1 2006-08-23 22:29:45.612 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.55317 41 51023 1 2006-08-24 01:11:45.612 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.58933 41 51023 1 2006-08-24 09:23:45.524 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.57417 41 51023 1 2006-08-23 20:17:45.808 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.58006 41 51023 1 2006-08-23 21:32:45.616 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.60263 41 51023 1 2006-08-23 20:59:45.680 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.63252 41 51023 1 2006-08-23 22:38:45.656 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.53850 41 51023 1 2006-08-24 05:53:45.512 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.51965 41 51023 1 2006-08-23 17:53:45.764 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.62553 41 51023 1 2006-08-24 01:38:45.564 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.53650 41 51023 1 2006-08-23 23:23:45.592 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.61628 41 51023 1 2006-08-24 01:23:45.556 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.57478 41 51023 1 2006-08-24 04:47:45.540 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.55844 41 51023 1 2006-08-23 20:56:45.820 0.016 TCP 2001:73..efe:774.80 -> 2001:73..1c:d58c.62561 41 51023 1 }}} A példában 2006.08.23 17:35-től 2006.08.24 10:10-ig listázzuk a legnagyobb 100 forgalmazót, bps mértékegységben kijelezve a forgalom nagyságát. Például a ''-6 -o extended'' opciók hozzáadásával bővebb output is kérhető az IPv6-os flow-król. A nfdump további leírásához és kezelésének elsajátításához olvassuk el a http://nfdump.sourceforge.net URL-en található leírást. === nfsen === Az nfsen a nfdump csomaghoz szervesen kötődő, a !NetFlow információk web alapú megjelenítését támogató szoftver, amely az alábbi URL-en érhető el: http://nfsen.sourceforge.net Az nfsen a következő funkcionalitást biztosítja: * !NetFlow adatok megjelenítése az RRD (Round Robin Database) segítségével. * Egyszerű navigáció a nagymennyiségű !NetFlow adat között. * !NetFlow adat feldolgozása, megjelenítése egy specifikált időintervallumon belül. * Profilok létrehozása: a teljes forgalmat magába foglaló profilokon kívül (nfsen terminológiában: live) lehetőség van bizonyos szűrési feltételek megadására, amelyek egy specifikus forgalom megfigyelését teszi lehetővé (pl. HTTP, SMTP, SSH, stb. forgalom). * Saját plugin-ek implementálásának lehetősége. ==== Megjelenítés ==== Az alábbi ábrán az nfsen grafikus megjelenítése figyelhető meg. A grafikonon különböző színekben látható az egyes forrásokhoz tartozó forgalomat alkotó flow-k száma. Látható, hogy az ábrán a sötét ill. világoskék színnel jelzett források forgalma dominál. {{attachment:nfsen1.jpg}} A központi ábra felett a TCP, UDP és ICMP ill. egyéb forgalom nagysága kísérhető figyelemmel. Az egyes források forgalma külön-külön ill. bármely kombinációban megjeleníthető az ábra alatti forrás-lista megfelelő bejegyzéseinek kiválasztásával: {{attachment:nfsen2.jpg}} Az nfsen lehetővé teszi, hogy kijelöljünk egy korlátos időtartomány az ábrán látható módon (zölddel színezett tartomány) és fókuszált módon csak ezzel foglalkozzunk a részletes flow információk lekérdezésekor. Amennyiben valamilyen forgalmi rendellenességet tapasztalunk a grafikonokon, akkor elsőként keressük meg azt/azokat a hálózati eszközöket, amelyeken ez a forgalom keresztülment. Jelöljük ki a gyanús időtartományt, majd kérjünk részletes flow adatokat az alábbi ábrán látható módon: {{attachment:nfsen3.jpg}} A részletes flow adatok kijelzése teljes mértékben megegyezik az ''nfdump''-nál ismertetett formával, sőt mi több az nfsen ki is jelzi, hogy milyen paraméterekkel hajtotta végre az ''nfdump'' parancsot. A kimenetet pedig egy az egyben az oldal aljára másolja. ==== nfsen profilok létrehozása ==== Ahogy korábban említésre került, az nfsen támogatja ún. profilok létrehozását, amelyek gyakorlatilag az élő forgalmon végrehajtott speciális szűrési feltétel eredményét (azaz a forgalom egy részét) jelzi ki számunkra. Ez nagyon hasznos lehet a következő specifikus forgalmak megfigyelésében: * Egy adott forrás vagy cél IP cím forgalmának figyelése. * Egy adott forrás vagy cél hálózat forgalmának figyelése. * Type of Service mező szerinti csoportosítás (pl. eltérő prioritású !DiffServ forgalmak megfigyelése). * A szállítási szintű protokollokon túl pl. a felsőbb szintű protokollok szerinti forgalmat is szeretnénk monitorozni, például: HTTP, SMTP, SSH, FTP vagy egyéb forgalom. * TCP flag-ek szerinti csoportosítás (pl. SYN flood megfigyelése). * Forrás AS szerinti csoportosítás. A szűrési feltételek tetszés szerint variálhatóak és a profil létrehozásakor kell őket megadni. Egy új profil létrehozásához a jobb felső sarokban látható "Selected profile" listából válasszuk ki a "New profile..." opciót. Ezt követően az alábbi képernyőt kapjuk: {{attachment:nfsen4.jpg}} A profil nevének megadása mellett ki kell jelölnünk azokat a forrásokat, amelyek résztvesznek a profil forgalmában. Egyéb paraméterek megadásán túl (ld. hivatalos nfsen dokumentáció) a legfontosabb a filter. Példaként megadunk néhány IPv6 specifikus szűrőt: * ''inet6 and proto tcp and dst port 80:'' IPv6-os HTTP forgalomra való szűrés * ''inet6 and proto tcp and dst port 25:'' SMTP forgalom * ''inet6 and proto tcp and dst port 22:'' SSH forgalom * ''inet6 and dst net FF1E:0:0:0:0:0:0:0/16:'' IPv6 multicast forgalom A nfsen további leírásához és kezelésének elsajátításához olvassuk el a http://nfsen.sourceforge.net URL-en található leírást.