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
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.
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.
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.
Changer l'indicateur de "Single Timeslot" à "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
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
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
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.
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
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.
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
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.
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
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
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.
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 ?
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
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
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.
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
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.
Cochez "proto". Vous devriez avoir une seule rangée (ligne) par protocole (TCP, UDP, ICMP), indiquant la quantité totale de traffic utilisé par chaque protocole. Il est possible que d'autres protocoles utilisés sur votre réseau apparaissent (par exemple: protocol 50 = IPSEC ESP - voir le fichier /etc/protocols
qui liste les plus connus).
Cochez à la fois "proto" et "srcPort". Ceci indique à NfSen qu'il doit combiner ensemble les flux qui ont le même proto et le même srcPort (port source). En fonction de l'activité réseau, il se peut que vous voyiez une ligne indiquant le total pour TCP port 80, une port TCP port 443, une pour UDP port 53, et ainsi de suite.
Cochez "srcIP", et seulement celle-ci. Ceci vous présente une rangée par adresse IP source unique, et revient à choisir l'option Stat SRC IP.
Cochez à la fois "srcIP" et "dstIP". Vous obtiendrez une rangée pour chaque paire unique srcIP et dstIP détectée, avec le trafic total entre ces deux points.
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.