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
- 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 :
| RFC | Titre | Année |
|---|---|---|
| RFC 791 | Internet Protocol (IPv4) | 1981 |
| RFC 793 | Transmission Control Protocol (TCP) | 1981 |
| RFC 768 | User Datagram Protocol (UDP) | 1980 |
| RFC 8200 | Internet Protocol Version 6 (IPv6) | 2017 |
| RFC 792 | Internet Control Message Protocol (ICMP) | 1981 |
Routage :
| RFC | Titre | Année |
|---|---|---|
| RFC 2328 | OSPF Version 2 | 1998 |
| RFC 5340 | OSPF for IPv6 | 2008 |
| RFC 4271 | BGP-4 | 2006 |
| RFC 4760 | Multiprotocol Extensions for BGP | 2007 |
| RFC 7911 | Advertisement of Multiple Paths in BGP | 2016 |
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
- Commencez par la couche 1 : câbles, liens, SFP
- Vérifiez la couche 2 : MAC table, STP, VLAN
- Vérifiez la couche 3 : IP, routage, ARP
- Vérifiez la couche 4 : TCP/UDP, ports, sockets
- 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ère | Packet Tracer | GNS3 | EVE-NG | ContainerLab |
|---|---|---|---|---|
| Prix | Gratuit | Gratuit | Gratuit/Pro | Gratuit |
| OS | Multi | Multi | Serveur Linux | Multi (CLI) |
| Images réelles | Non | Oui | Oui | Oui (limité) |
| Multi-fournisseur | Cisco only | Oui | Oui | Partiel |
| Interface | Graphique | Graphique (+CLI) | Web | CLI |
| Performance | Faible | Moyenne | Haute | Très haute |
| Automatisation | Non | API | API | YAML |
| Cloud-ready | Non | Partiel | Partiel | Oui |
| Idéal pour | CCNA | CCNP/CCIE | Professional | CI/CD/DevOps |