MFormations
Modern Network Engineering

Chapitre 20

20 - Ressources et Outils

20 - Ressources et Outils

Cours 20 : Ressources et Outils pour l'Ingénieur Réseau

Introduction

Ce chapitre présente les outils, ressources, et communautés essentiels pour l'ingénieur réseau moderne. De la simulation à l'analyse en passant par l'automatisation, chaque outil est présenté avec son cas d'usage, ses avantages, et des conseils pratiques.


Partie 1 : Outils de Simulation

Cisco Packet Tracer

Description : Simulateur réseau développé par Cisco pour l'apprentissage et la certification CCNA.

Caractéristiques :

  • Interface graphique intuitive (drag-and-drop)
  • Simulation de commutateurs Cisco (2960, 3650, 9300)
  • Routeurs Cisco : ISR 4321, ASAv, routeurs IoT
  • Prise en charge de : VLAN, STP, OSPF, EIGRP, BGP basique
  • Mode simulation avec animation des paquets
  • Activités pré-construites pour CCNA

Limitations :

  • Pas de protocoles avancés (MPLS, EVPN, VXLAN)
  • Images Cisco uniquement
  • Performances limitées pour les grandes topologies
  • Pas de personnalisation des images

Installation :

  • Disponible gratuitement via Cisco NetAcad
  • Windows, Linux, macOS, mobile (iOS/Android)
  • Version Packet Tracer 8.2+ recommandée

Utilisation typique : Apprentissage CCNA, tests rapides de topologies, enseignement.

GNS3 (Graphical Network Simulator 3)

Description : Simulateur réseau open-source permettant d'utiliser des images réelles d'équipements.

Caractéristiques :

  • Support multi-fournisseurs : Cisco, Juniper, Arista, Nokia, MikroTik
  • Intégration d'images réelles (IOS, IOS-XE, NX-OS, vMX, vEOS)
  • Machines virtuelles (QEMU/KVM, VirtualBox, VMware)
  • Conteneurs Docker comme nœuds réseau (FRRouting, Linux)
  • Topologies complexes avec liens configurables (bandwidth, delay, jitter)
  • Intégration Wireshark pour capture sur n'importe quel lien
  • GNS3 VM pour les images exigeantes

Installation :

# Windows
Télécharger l'installateur GNS3 depuis gns3.com
Installer GNS3 + GNS3 VM + Wireshark + SolarWinds Response Time Viewer

# Linux
sudo apt install gns3-gns3
sudo gns3 --install-all

Images recommandées :

  • Cisco IOSv Layer 3 (15.6(2)T)
  • Cisco IOS-XE 16.12+ (CSR1000v)
  • Cisco NX-OS 9.3+ (Nexus 9000v)
  • Arista vEOS 4.27+
  • FRRouting (conteneur Docker)
  • Linux Ubuntu Server

Utilisation typique : Labs avancés, préparation CCNP/CCIE, tests de migration, PoC.

EVE-NG (Emulated Virtual Environment - Next Generation)

Description : Plateforme de lab professionnelle avec interface web.

Caractéristiques :

  • Architecture client/serveur (accès web)
  • Support de centaines de types d'équipements
  • Import d'images QEMU, IOL, Docker
  • Topologies complexes sans limite (CPU/RAM dépendant)
  • Snapshots et sauvegarde des labs
  • API REST pour l'automatisation
  • Éditeur de topologie HTML5
  • Version Community (gratuite) et Pro

Installation :

  • Installation bare-metal ou VMware
  • Image OVF disponible pour VMware ESXi
  • Config CPU : processeur Intel/AMD moderne
  • RAM : 32 Go minimum (64 Go recommandé)
  • Stockage : 500 Go SSD

Images supportées :

  • Cisco : IOS, IOS-XE, IOS-XR, NX-OS, ASA, ASAv
  • Juniper : vMX, vSRX, vQFX, vRR
  • Arista : vEOS
  • Nokia : VSR, VSR-SIM
  • Fortinet : FortiGate, FortiSwitch
  • Palo Alto : VM-Series
  • Linux : Ubuntu, CentOS, Debian
  • Conteneurs Docker

Utilisation typique : Labs professionnels, formation en entreprise, démonstrations commerciales.

ContainerLab

Description : Outil open-source pour créer des labs réseau avec des conteneurs Docker.

Caractéristiques :

  • Léger et rapide (démarrage en secondes)
  • FRRouting, Nokia SR Linux, Arista cEOS, Juniper vJunosEvolved
  • Topologies définies en YAML
  • Intégration avec Wireshark, tcpdump
  • Pas de GUI (CLI uniquement)
  • Excellent pour CI/CD et tests automatisés
  • Idéal pour EVPN/VXLAN, Segment Routing, Cilium

Exemple de topologie :

name: ospf-lab
topology:
  nodes:
    r1:
      kind: linux
      image: frrouting/frr:v8.4.0
    r2:
      kind: linux
      image: frrouting/frr:v8.4.0
    r3:
      kind: linux
      image: frrouting/frr:v8.4.0
  links:
    - endpoints: ["r1:eth1", "r2:eth1"]
    - endpoints: ["r2:eth2", "r3:eth1"]
    - endpoints: ["r3:eth2", "r1:eth2"]

Installation :

# Via pip
pip install containerlab
# Téléchargement direct
curl -sL https://containerlab.dev/setup | bash

Utilisation typique : Labs rapides, prototypage, tests automatisés, CI/CD.


Partie 2 : Outils d'Analyse

Wireshark

Description : Analyseur de protocole réseau le plus populaire.

Fonctionnalités clés :

  • Capture en temps réel et analyse offline
  • Plus de 3000 protocoles supportés
  • Filtres d'affichage puissants (display filters)
  • Filtres de capture (capture filters - BPF)
  • Suivi de flux TCP/UDP/TLS
  • Statistiques : conversations, hiérarchie de protocoles, IO graph
  • Coloration des paquets personnalisable
  • Export JSON/XML/CSV des paquets
  • Déchiffrement TLS (avec les clés privées)

Display Filters essentiels :

# IP
ip.addr == 192.168.1.1
ip.src == 192.168.1.0/24

# TCP
tcp.port == 80
tcp.flags.syn == 1 && tcp.flags.ack == 0

# DNS
dns.qry.name == "example.com"
dns.flags.response == 0

# HTTP
http.request.method == "GET"
http.response.code == 404

# Protocoles spécifiques
ospf
bgp
vxlan (port 4789)
icmp
arp

# Combinaisons
(tcp.port == 80 || tcp.port == 443) && ip.addr == 10.0.0.1

Capture Filters :

host 192.168.1.1
net 192.168.1.0/24
port 80 or port 443
not arp
tcp
udp
src port 53

TShark (CLI) :

# Capture vers fichier
tshark -i eth0 -w capture.pcap -f "port 80"
# Analyse offline
tshark -r capture.pcap -Y "http.request"
# Statistiques
tshark -r capture.pcap -z conv,tcp

tcpdump

Description : Capture de paquets en ligne de commande.

Commandes essentielles :

# Capture basique
tcpdump -i eth0

# Avec fichier
tcpdump -i eth0 -w output.pcap
tcpdump -r output.pcap

# Filtres
tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 port 443
tcpdump -i eth0 net 10.0.0.0/8
tcpdump -i eth0 tcp and port 80

# Options utiles
tcpdump -i eth0 -nn  # Pas de résolution DNS
tcpdump -i eth0 -X   # Hex+ASCII
tcpdump -i eth0 -v   # Verbose
tcpdump -i eth0 -s 0 # Capture complète (pas de truncation)

# Expressions complexes
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src net 192.168.1.0/24'

iPerf3

Description : Outil de test de bande passante.

Utilisation :

# Serveur
iperf3 -s
iperf3 -s -p 5201

# Client (test TCP par défaut)
iperf3 -c 192.168.1.1
iperf3 -c 192.168.1.1 -p 5201 -t 30 -P 4

# Test UDP
iperf3 -c 192.168.1.1 -u -b 100M
iperf3 -c 192.168.1.1 -u -b 1G -l 1400

# Test bidirectionnel
iperf3 -c 192.168.1.1 --bidir

# Reverse mode (serveur envoie)
iperf3 -c 192.168.1.1 -R

# JSON output
iperf3 -c 192.168.1.1 -J

Interprétation des résultats :

  • Retransmissions TCP > 0.1% = problème
  • Variation de jitter UDP > 5ms = problème pour VoIP
  • Perte UDP > 0.1% = problème pour applications temps réel

Outils Complémentaires

nmap - Scan de ports et découverte réseau

nmap -sP 192.168.1.0/24  # Ping scan
nmap -sV 192.168.1.1    # Service version detection
nmap -O 192.168.1.1      # OS detection
nmap -p- 192.168.1.1     # Tous les ports
nmap -sS 192.168.1.1     # SYN scan (furtif)

mtr - Combinaison ping + traceroute

mtr 8.8.8.8
mtr --report 8.8.8.8
mtr -i 1 8.8.8.8

netstat/ss - Statistiques de sockets

netstat -tulpn
ss -tulpn
ss -s  # Statistiques

Partie 3 : Outils d'Automatisation

Ansible pour le Réseau

Description : Automation sans agent pour la configuration réseau.

Modules réseau Ansible :

- name: Configurer interface
  cisco.ios.ios_config:
    lines:
      - interface GigabitEthernet0/1
      - switchport mode access
      - switchport access vlan 10

- name: Configurer OSPF
  cisco.ios.ios_config:
    lines:
      - router ospf 1
      - network 10.0.0.0 0.255.255.255 area 0

Playbook exemple :

- name: Configuration Baseline
  hosts: switches
  gather_facts: no
  tasks:
    - name: Ensure VLAN 10 exists
      cisco.ios.ios_vlans:
        config:
          - vlan_id: 10
            name: Clients
        state: merged
    
    - name: Configure interfaces
      cisco.ios.ios_interfaces:
        config:
          - name: GigabitEthernet0/1
            enabled: true
            mode: access
            access_vlan: 10

Terraform pour le Réseau

Description : Infrastructure as Code pour le cloud et les équipements.

Exemple AWS VPC :

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = { Name = "main-vpc" }
}

resource "aws_subnet" "public" {
  vpc_id            = aws_vpc.main.id
  cidr_block        = "10.0.1.0/24"
  availability_zone = "us-east-1a"
}

resource "aws_internet_gateway" "gw" {
  vpc_id = aws_vpc.main.id
}

resource "aws_route_table" "public" {
  vpc_id = aws_vpc.main.id
  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.gw.id
  }
}

NetBox

Description : IPAM/DCIM open-source.

Fonctionnalités :

  • Gestion des adresses IP (IPAM)
  • Gestion des équipements (DCIM)
  • Connexions et câblage
  • Circuits et fournisseurs
  • API REST complète
  • Intégration avec Ansible, Nornir

Utilisation API :

curl -H "Authorization: Token $TOKEN" https://netbox.example.com/api/ipam/prefixes/
curl -H "Authorization: Token $TOKEN" https://netbox.example.com/api/dcim/devices/

Partie 4 : Blogs et Médias

Blogs Techniques Essentiels

Cloudflare Blog (blog.cloudflare.com)

  • Sujets : DDoS, HTTP/3, Zero Trust, CDN, performance
  • Articles techniques détaillés avec schémas
  • Mise à jour quotidienne
  • Incontournable pour la sécurité et la performance

APNIC Blog (blog.apnic.net)

  • Sujets : IPv6, BGP, RPKI, DNS, routage
  • Analyse des incidents Internet (outages, hijacks)
  • Contributions d'experts du monde entier
  • Excellente source pour les opérateurs réseau

NANOG (nanog.org)

  • Rencontres semestrielles (présentations enregistrées)
  • Archives complètes depuis 1994
  • Sujets : opérateurs, peering, sécurité, automation
  • Messagerie : nanog@nanog.org (liste de discussion)

RIPE Labs (labs.ripe.net)

  • Recherche et innovation en réseau
  • Outils : RIPEstat, RIPE Atlas
  • Analyse du routage et de la sécurité
  • Focus Europe et Moyen-Orient

Stéphane Bortzmeyer (bortzmeyer.org)

  • DNS, RFC, sécurité, standards
  • Analyses approfondies des RFCs
  • Expertise en DNS et DNSSEC
  • Articles en français

Julia Evans (jvns.ca)

  • Debugging réseau expliqué simplement
  • Zines illustrés sur TCP, DNS, HTTP
  • Approche pratique et pédagogique
  • Excellent pour les débutants

Podcasts

Packet Pushers (packetpushers.net)

  • Le podcast réseau le plus populaire
  • Weekly show, Heavy networking, Day Two DevOps
  • Intervies d'experts de l'industrie
  • Thèmes : SDN, automation, sécurité, cloud

Network Break (networkbreak.com)

  • Actualités hebdomadaires
  • Analyse des annonces des fournisseurs
  • Technologies émergentes

The Hedge (thehedge.tech)

  • Focus sur Cilium, eBPF, service mesh
  • Entretiens avec les mainteneurs
  • Cloud native networking

Communautés en Ligne

Reddit

  • r/networking : discussion professionnelle
  • r/ipv6 : adoption IPv6
  • r/homenetworking : réseau domestique
  • r/ccna : préparation certification

Stack Exchange

  • Network Engineering : questions-réponses professionnelles
  • Server Fault : administration système et réseau
  • Super User : support technique

Slack/Discord

  • Cilium Slack : communauté eBPF
  • FRRouting Slack : développement FRR
  • Kubernetes Slack (#networking, #cilium)
  • Network to Code Slack : automation réseau

Partie 5 : RFCs et Standards

RFCs Indispensables par Catégorie

Fondamentaux :

RFCTitreAnnée
RFC 791Internet Protocol (IPv4)1981
RFC 793Transmission Control Protocol (TCP)1981
RFC 768User Datagram Protocol (UDP)1980
RFC 8200Internet Protocol Version 6 (IPv6)2017
RFC 792Internet Control Message Protocol (ICMP)1981

Routage :

RFCTitreAnnée
RFC 2328OSPF Version 21998
RFC 5340OSPF for IPv62008
RFC 4271BGP-42006
RFC 4760Multiprotocol Extensions for BGP2007
RFC 7911Advertisement of Multiple Paths in BGP2016

Switching et Overlay : | RFC 7348 | VXLAN Framework | 2014 | | RFC 7432 | BGP MPLS-Based EVPN | 2015 | | RFC 8365 | EVPN VXLAN (Network Virtualization Overlay) | 2018 | | IEEE 802.1Q | VLANs | 2014 |

Sécurité : | RFC 8446 | TLS 1.3 | 2018 | | RFC 4301 | IPsec Architecture | 2005 | | RFC 2409 | IKE (Internet Key Exchange) | 1998 | | RFC 4033 | DNSSEC Introduction | 2005 |

Autres protocoles essentiels : | RFC 2131 | DHCP | 1997 | | RFC 1035 | DNS Implementation | 1987 | | RFC 7540 | HTTP/2 | 2015 | | RFC 9000 | QUIC | 2021 | | RFC 9113 | HTTP/2 (révision) | 2022 | | RFC 9114 | HTTP/3 | 2022 |


Partie 6 : Conférences et Événements

Conférences Majeures

NANOG (North American Network Operators Group)

  • 2 rencontres par an (printemps, automne)
  • Lieux variables aux États-Unis et Canada
  • Tarif : ~500-1000 USD
  • Sujets : opérateurs, routage, peering, sécurité
  • Site : nanog.org

RIPE Meeting (Réseaux IP Européens)

  • 2 rencontres par an
  • Lieux variables en Europe
  • Tarifs : ~300-700 EUR
  • Sujets : IPv6, BGP, DNS, RPKI, gouvernance Internet
  • Site : ripe.net

APNIC Conference

  • Annuelle (région Asie-Pacifique)
  • Sujets : développement Internet, IPv6, sécurité
  • Site : apnic.net

eBPF Summit (Linux Foundation)

  • Annuelle (en ligne et en présentiel)
  • Focus eBPF, Cilium, observabilité
  • Site : ebpf.io

KubeCon + CloudNativeCon

  • 2 fois par an (Amérique du Nord, Europe/Asie)
  • Networking cloud-native, Cilium, service mesh
  • Site : cncf.io

DEF CON Network Track

  • Annuelle (Las Vegas)
  • Sécurité réseau, exploitation de protocoles
  • Site : defcon.org

BlackHat Arsenal

  • Annuelle (Las Vegas et Europe)
  • Outils de sécurité réseau
  • Site : blackhat.com

Formations et Certifications

Cisco Learning Network (learningnetwork.cisco.com)

  • CCNA, CCNP, CCIE
  • Cours officiels Cisco
  • Labs en ligne (Cisco Modeling Labs)

Juniper Education Services (juniper.net/training)

  • JNCIA, JNCIP, JNCIE
  • Formation technique et certification

Linux Foundation Training (training.linuxfoundation.org)

  • Kubernetes (CKA, CKAD, CKS)
  • eBPF et Cilium
  • Networking cloud-native

A Cloud Guru / Pluralsight

  • AWS Networking Specialty
  • Azure Network Engineer
  • Google Cloud Network Engineer

Partie 7 : Outils de Monitoring et Supervisions

LibreNMS

# Installation
cd /opt
git clone https://github.com/librenms/librenms.git
cd librenms
./scripts/composer_wrapper.php install
# Auto-discovery via CDP/LLDP
# Alerting par email, Slack, webhook

Prometheus + SNMP Exporter

# prometheus.yml
scrape_configs:
  - job_name: 'snmp'
    static_configs:
      - targets:
        - 192.168.1.1  # SNMP device
    metrics_path: /snmp
    params:
      module: [cisco_ios]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9116  # SNMP exporter

SmokePing

# Targets
+ MonSite
menu = Mon Site
title = Latence vers Mon Site
host = example.com

+ Routeur
menu = Routeur Principal
title = Latence Routeur
host = 192.168.1.1

NetFlow / sFlow

# Installation ntopng
apt install ntopng
# Interface web : https://localhost:3000
# Configuration des exportateurs NetFlow sur les équipements

# Configuration Cisco pour NetFlow
ip flow-export source Loopback0
ip flow-export version 9
ip flow-export destination 192.168.1.100 2055
interface GigabitEthernet0/1
 ip flow ingress
 ip flow egress

Partie 8 : Ressources pour l'Apprentissage Continu

Plateformes d'Apprentissage

Cours en ligne :

  • Introduction to Networking (Cisco NetAcad)
  • Google IT Support Professional Certificate
  • AWS Networking Fundamentals
  • Microsoft AZ-700 (Azure Network Engineer)

Labs en ligne :

  • Cisco Modeling Labs (CML) Personal ~200$/an
  • EVE-NG Community (gratuit)
  • GNS3 Marketplace
  • CloudSandboxes (AWS, Azure, GCP)
  • Katacoda / O'Reilly Learning Platform

Livres Fondamentaux (voir chapitre 21)

Chaînes YouTube

  • Keith Barker : CCNA, CCNP, labs
  • David Bombal : GNS3, Python, automation
  • NetworkChuck : Réseau pour débutants
  • Ed Harmoush (Practical Networking) : TCP/IP, subnetting
  • Jeff Geerling : Kubernetes, Raspberry Pi cluster

Outils en Ligne

  • subnetting.net : Calculateur de sous-réseaux
  • cidr.xyz : Visualisateur CIDR interactif
  • networkreliability.xyz : Calcul de disponibilité
  • bgp.he.net : Looking glass BGP
  • iplocation.net : Géolocalisation IP
  • dnschecker.org : Vérification DNS globale

Partie 9 : Bonnes Pratiques

Organisation d'un Lab

mon_lab/
├── topologie.png
├── notes.md
├── configs/
│   ├── routeur1.cfg
│   ├── switch1.cfg
│   └── firewall1.cfg
├── scripts/
│   ├── setup.sh
│   └── test.sh
├── captures/
│   ├── etape1.pcap
│   └── etape2.pcap
└── docker/
    └── docker-compose.yml

Checklist de Vérification

  • Connectivité de base (ping)
  • Résolution DNS (nslookup/dig)
  • Table de routage (show ip route)
  • Adjacences OSPF/BGP
  • Politiques de sécurité (iptables, NetworkPolicy)
  • Monitoring (SNMP, Prometheus)
  • Sauvegarde des configurations
  • Documentation à jour

Ressources pour le Dépannage

  1. Commencez par la couche 1 : câbles, liens, SFP
  2. Vérifiez la couche 2 : MAC table, STP, VLAN
  3. Vérifiez la couche 3 : IP, routage, ARP
  4. Vérifiez la couche 4 : TCP/UDP, ports, sockets
  5. Vérifiez la couche 7 : DNS, HTTP, applications

Commandes de Dépannage par Catégorie

Connectivité :

  • ping (latence, perte)
  • traceroute/mtr (chemin)
  • pathping (Windows, combiné)

DNS :

  • dig, nslookup, host
  • delv (DNSSEC)

HTTP/HTTPS :

  • curl -v (headers)
  • wget
  • openssl s_client (TLS/TCP)

Réseau Linux :

  • ip addr (interfaces)
  • ip route (routage)
  • ss (sockets)
  • bridge fdb (MAC table)
  • tc (traffic control)

Équipements Cisco/Juniper :

  • show, debug, ping, traceroute
  • logging monitor/buffered

Annexe : Tableau Comparatif des Simulateurs

CritèrePacket TracerGNS3EVE-NGContainerLab
PrixGratuitGratuitGratuit/ProGratuit
OSMultiMultiServeur LinuxMulti (CLI)
Images réellesNonOuiOuiOui (limité)
Multi-fournisseurCisco onlyOuiOuiPartiel
InterfaceGraphiqueGraphique (+CLI)WebCLI
PerformanceFaibleMoyenneHauteTrès haute
AutomatisationNonAPIAPIYAML
Cloud-readyNonPartielPartielOui
Idéal pourCCNACCNP/CCIEProfessionalCI/CD/DevOps