Configuration du port mirroring sur un switch Cisco et capture avec Wireshark

Dans : Réseau Cisco

Le port mirroring, également appelé miroir de port ou encore SPAN chez Cisco, est une technique qui permet de dupliquer les données qui passent par un port du switch vers un autre port. L'objectif du port mirroring est souvent d'observer voire de capturer un flux réseau afin de l'analyser, le plus souvent à des fins de diagnostics ou de sécurité (IDS/IPS). Dans notre exemple, nous cherchons à capturer le trafic. Pour cela, nous utilisons un miroir de port ainsi que le logiciel Wireshark. Wireshark est un logiciel de capture et d’analyse réseau. Il s'agit d'un logiciel opensource publié sous licence GPL, qui est téléchargeable gratuitement. Ce guide indique comment réaliser un port mirroring sur un switch Cisco et une capture avec Wireshark.

1. Pourquoi configurer un port mirroring sur un switch Cisco puis réaliser une capture avec Wireskark ?

L’intérêt d’utiliser la technique de port mirroring est de pouvoir récupérer le flux de données qui passe par le switch sans interrompre la communication. En l’utilisant en parallèle avec Wireshark, il est possible d’analyser facilement les données qui traversent le switch en cas de dysfonctionnement ou de panne.

2. Configuration du/des port(s) ou VLAN source pour le port mirroring

Avant de commencer, vous devez vous connecter en console, réaliser une connexion Telnet ou une connexion SSH pour accéder à la console du switch.

Il faut alors passer en mode configuration au moyen des commandes :

enable
configuration terminal

La mise en place du port mirroring peut se fait de manières différentes :

  • sur un seul port source ;
  • sur plusieurs ports source ;
  • sur un VLAN complet comme source.

Identifiez le(s) port(s) ou le VLAN source dont vous souhaitez récupérer les données. De même pour le sens des paquets, qui peut être de trois types différents :

  • “rx” si vous ne souhaitez récupérer que les paquets reçus par l'interface ;
  • “tx” si vous ne souhaitez récupérer que les paquets transmis par l'interface ;
  • “both” si vous souhaitez récupérer tous les paquets qui passent par l’interface (c'est le cas qu'il vous faut, choisissez ce mode sauf si vous êtes sûr du contraire !).

Il est possible de gérer plusieurs sessions en même temps pour certains types de Switch Cisco, en donnant un numéro différent à chaque session. Pensez donc à vérifier si le modèle de votre Switch est compatible avec la création de plusieurs sessions de port mirroring simultanément.

Port mirroring d’un seul port source

Il vous suffit d’entrer la commande suivante :

monitor session <numero_session> source interface <nom_interface> <sens_paquets>

Dans l’exemple qui suit, nous avons choisi de récupérer tous les paquets traversant le port FastEthernet0/1 et de numéroter notre session comme étant la première.

c2950>enable
Password:
c2950#conf t
Enter configuration commands, one per line. End with CNTL/Z.
c2950(config)#monitor session 1 source interface fa0/1 both
c2950(config)# 

Port mirroring de plusieurs ports source

Si les ports dont vous souhaitez récupérer les données ont des numéros qui se suivent, vous pouvez les ajouter en ports source en une seule et même ligne de commande :

monitor session <numero_session> source interface <nom_première_interface> - <numéro_dernière_interface> <sens_paquet>

Dans l’exemple qui suit, nous avons choisi de récupérer tous les paquets traversant les ports FastEthernet0/2 à FastEthernet0/4 et de numéroter la session comme étant la deuxième.

c2950>enable
Password:
c2950#conf t
Enter configuration commands, one per line. End with CNTL/Z.
c2950(config)#monitor session 2 source interface fa0/2 – 4 both
c2950(config)# 

Si, au contraire, les numéros de ports source ne se suivent pas, il faut les ajouter un par un à la même session avec la même commande que pour le port mirroring d’un seul port :

monitor session <numero_session> source interface <nom_interface> <sens_paquets>

Port mirroring d’un VLAN complet comme source

Au lieu d’indiquer le nom du port source, vous devez indiquer le numéro de VLAN selon le modèle suivant :

monitor session <numero_session> source vlan <numero_vlan>

Attention, tous les switch Cisco ne permettent pas de faire du port mirroring avec un VLAN comme interface source.

3. Configuration du port destination pour le port mirroring

Identifiez le port de destination, celui qui va servir à récupérer les données qui ont traversé le(s) port(s) ou VLAN source. Il doit y avoir un port destination par session de port mirroring.

Pour cela, il faut être en mode configuration et entrer la commande suivante :

monitor session <numero_session> destination interface <nom_interface>

Dans notre exemple, nous avons configuré l’interface FastEthernet0/5 comme port de destination de la session 2.

c2950>enable
Password:
c2950#conf t
Enter configuration commands, one per line. End with CNTL/Z.
c2950(config)#monitor session 2 destination interface fa0/5
c2950(config)# 

4. Visualisation du port mirroring

Pour voir si les configurations de port mirroring que vous avez mises en place sur une session donnée sont bien enregistrées, entrez la commande suivante :

show monitor session <numéro_session>

Dans notre exemple, nous souhaitons visualiser la configuration de la session 2. Il est alors possible de voir que la configuration des ports source et destination a bien été réalisée.

c2950#show monitor session 2
Session 2
---------
Type: Local Session
Source ports:
Both: Fa0/2-4
Destination Ports: Fa0/5
Encapsulation: Native
Ingress: Disabled


c2950# 

A ce stade de la configuration, pensez à entrer la commande :

copy running-config startup-config

puis à appuyer deux fois sur Entrée pour conserver la configuration, même après une mise hors tension du switch ou routeur Cisco.

5. Installation physique avant la capture du flux de données avec Wireshark

Connectez simplement la machine qui va vous permettre d’analyser les données au port de destination du switch Cisco, configuré précédemment, grâce à un câble RJ-45.

6. Capture du flux de données avec Wireshark

Démarrez le logiciel Wireshark. Pour capturer les données récupérées par port mirroring, il faut d’abord aller dans les paramètres en suivant le chemin suivant :

Capture > Options

Chemin à suivre pour aller dans les options de capture Wireshark

Sélectionnez alors la source que vous allez utiliser et activez le mode “promiscuous” en cochant la case correspondante.

Activation du mode promiscuous pour la capture avec Wireshark

Vous pouvez maintenant quitter la fenêtre de paramètres et double-cliquer sur la barre où le réseau que vous utilisez pour vous connecter au switch est écrit.

Démarrage de la capture Wireshark

Vous pouvez alors voir et analyser le trafic qui passe par le(s) port(s) ou VLAN source configurés précédemment.

En résumé, voici toutes les commandes à utiliser pour configurer un port mirroring sur un switch Cisco puis réaliser une capture avec Wireskark

>en
#conf t
(config)#monitor session <numero_session> source interface <nom_interface> <sens_paquets> //unique port source
(config)#monitor session <numero_session> source interface <nom_première_interface> - <numéro_dernière_interface> <sens_paquet> //rangée de ports source
(config)#monitor session <numero_session> source vlan <numero_vlan> //VLAN source
(config)#monitor session <numero_session> destination interface <nom_interface> //port destination
(config)#show monitor session <numéro_session> //vérification que les configurations ont bien été enregistrées

Commentaires

Commenter cet article