1 Introduction

1.1 Objectifs

1.2 Prérequis

Votre routeur envoie des enregistrements netflow vers l'une de vos machines, et nfsen est actif sur cette machine, et collecte ces données. Si vous travaillez en paire, alors vous devez tous les deux vous connecter avec votre navigateur sur le PC qui reçoit les flux:

http://pcX.ws.nsrc.org/nfsen/nfsen.php

2 Génération de trafic

On doit tout d'abord génerer du trafic qui traversera votre routeur. Sur n'importe lequel des deux PCs (pas besoin que cela soit celui qui fasse tourner NfSen), tapez les commandes suivantes:

$ cd /tmp
$ wget http://noc.ws.nsrc.org/downloads/BigFile
$ rm BigFile

Il faudra environ 5 minutes avant que ceci n'aparaissent sous la forme d'un pic dans les graphes de NfSen.

3 Exploration des enregistrements de flux

Utilisons NfSen pour explorer les flux de traffic dans le réseau, avec comme objectif de trouver qui a téléechargé le plus de données. Faire particulièrement attention aux résultats de chaque étape - demander à un instructeur de vous expliquer si vous ne comprenez pas ce que vous voyez.

3.1 Ouvrir la page Detail

La page d'accueil de NfSen affiche une matrice de graphes: flux par seconde à gauche, paquets par seconde au mlieu, et bit par seconde à droite. Cliquer le graphe en haut à droite (bit par seconde, affichge d'une journée) pour obtenir la page Detail.

3.2 Sélection d'un interfalle de temps

Changer l'indicateur de "Single Timeslot" à "Time Window":

Selecting time window
Une fois que vous avez fait ceci, le sélecteur vertical dans la fenêtre du graphe peut être divisé. Tirer la moitiê gauche de la flèche vers la gauche et la moitié droite vers la droite, afin de sélectionner la période de temps qui vous intéresse. Vous devriez voir apparaître dans le tableau en dessous du graphe des statistique abrégées pour la période sélectionnée.

Summary statistics

Summary statistics

3.3 Lister les flux individuels

Choisir "List Flows", et assurez vous qu'Aucune des cases "Aggregate" soit cochée, puis cliquer sur process. Vous devriez voir apparaˆtre une liste de flux ayant pour temps de démarrage la période sélectionnée.

List flows

List flows

Augmenter la limite de 20 à 100 flux. Remarquer qu'une grande partie du trafic réseau est composé d'un grand nombre de petit flux - par exemple, une requête DNS et sa réponse seront vus comme deux flux: un depuis le client vers le serveur DNS, et un dans le sens inverse.

En sélectionnan "bi-directional", vous pouvez faire en sorte qu'NfSen associe les flux entrant et sortant en une seule ligne:

Bi-directional flows

Bi-directional flows

Toutefois, ceci reste trop manuel comme travail pour pouvoir naviguer à la recherche de trafic intéressant. Décochez la case "Bi-directional" avant de continuer.

3.4 Flux de et vers un hôte (machine)

Si vous savez quelle hôte le trafic duquel vous voulez éxaminer, on peut appliquer un filtre pour ne traiter et afficher que les flux depuis et vers cet hôte. Faites ceci en sasissant "host 10.10.X.Y" dans le champ filtre, et cliquez sur process à nouveau. (Remplacer 10.10.X.Y par l'adresse IP de l'un de vos PC).

Flows to and from one host

Flows to and from one host

C'est un peu mieux, mais nous serions toujours obligés de parcourir tous les petits flux afin d'y trouver quelque chose de pertinent. Nous allons utiliser une approche différente.

4 Flux les plus larges

La prochaine étape est de faire trier à NfSen les flux par le nombre d'octets. Supprimer tout filtre que vous ayez pu saisir dans le champ filtre; sélectionnez "Stat TopN", stat "Flow Records", order by "Bytes". Assurez-vous qu'aucune des cases Aggregate ne soit cochée, puis appuyez sur procéder.

Find top flows by bytes

Find top flows by bytes

Output: top flows by bytes

Output: top flows by bytes

C'est beaucoup mieux: les flux qui comprennent le plus d'octets sont listés en premier. Il y a par contre un problème... Nous voyons toujours des flux individuels. Il est tout à fait possible qu'un grand nombre de flux de petite taille vers la même machine, accumulés, constitueraient une grande quantité de trafic, mais ils n'apparaîtraient pas en haut de cette liste.

5 Trafic entrant groupé par adresse IP destinataire

Ce qui nous intéresse, c'est de voir une ligne unique pour chaque hôte dans notre réseau, illustrant le trafic total à destination de cette machine.

Pour faire cela, Stat "DST IP Address", order by "bytes"

Group flows by DST IP Address

Group flows by DST IP Address

Ceci se rapproche beaucoup plus de ce que nous recherchons: une ligne pour chaque adresse IP destinataire, triées par ordre décroissant du nombre d'cotet pour chaque flux.

Il manque toujours quelque chose - voyez vous quoi ? Nous voyons un mélange de flux entrants (où l'adresse IP destinataire fait partie de notre réseau) et de flux sortants (où l'adresse destinataire se trouve sur Internet). Nous sommes uniquement intéressés par les flux entrants, nous allons donc appliquer un filtre qui montre uniquement le trafic vers le réseau de votre groupe: "dst net 10.10.X.0/24" (remplaçant X par le numéro de votre groupe).

Flows to local network, grouped by DST IP Address

Flows to local network, grouped by DST IP Address

Output: Flows to local network, grouped by DST IP Address

Output: Flows to local network, grouped by DST IP Address

Enfin, nous avons ce que nous recherchons. La première ligne que vous voyez devrait vous dire quelle machine locale a téléchargé le plus de données dans la période sélectionnée.

5.1 Trafic sortant groupé par adresse émettrice

Queestion: quels changements effectueriez-vous à la requête pour découvrir quelles machines dans votre réseaux envoient le plus de données vers Internet ?

6 Analyse du trafic vers une machine unique

Maintenant que nous savons quelle machine a téléchargé le plus de données, il serait intéressant de voir depuis où elle a téléchargé.

Commençons par observer la liste des flux les plus gros pour cette machine. Changer le filtre en "dst host 10.10.X.Y" (l'adresse IP que vous venez de trouver). Ensuite sélectionnez Stat "Flow Records", order by "bytes", et process.

Largest flows to one host

Largest flows to one host

Vous devriez maintenant voir les flux entrants vers cette machine, les plus gros en premier. Mais ici encore, nous voyons les flux individuels; une série de flux de petite taille peut représenter une grande quantité de trafic.

Puisque nous ne regardons que les rapports de flux vers une adresse destination particulière, nous pouvons grouper ces flux par adresse IP source.

Flows to one host, grouped by SRC IP address

Flows to one host, grouped by SRC IP address

Output: Flows to one host, grouped by SRC IP address

Output: Flows to one host, grouped by SRC IP address

Et maintenant nous avons une ligne pour chaque adresse IP depuis laquelle cette machine a téléchargé des données, ainsi que le nombre total d'octets depuis chaque IP, trié de manière décroissante.

6.1 Information sur les adresses IP

En cliquant sur une adresse IP, vous aurez plus d'information par le biais de la résolution DNS inverse, et le service whois.

Whois information

Whois information

7 Exercise supplémentaire: agrégation de flux

NfSen dispose d'autres méthodes de résumer les flux, en utilisant les options à cocher 'Aggregate'. Dans l'exemple suivant, nous alons à nouveau analyser le traffic en entrée à destination de votre réseau.

Quand vous cliquez sur une ou plusieurs des cases Aggregate, NfSen combine alorsalors les flux qui partagent les même valeurs que les attributs que vous avez sélectionnés.

Pour démarrer cet exercise, mettre dans le champ filtre "dst net 10.10.X.0/24" (X = votre groupe). Sélectionnez ensuite "Stat TopN", Stat "Flow Records", order by "bytes". Ensuite, essayez les différentes méthodes d'agrégation, sans oublier de cliquer process après chacune.

Comment procéderiez-vous pour changer le filtre afin qu'il traite le trafic en sortie, plutôt qu'en entrée ?

Si vous avez un routeur avec une table des routes BGP complètes, vous pouvez agréger les flux netflow par numéro d'AS. C'est une méthode pratique pour identifier les réseaux avec lesquels vous échangez le plus de trafic.