1. Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Surveillance et analyse de traffic
TCP/IP
Configuration Réseau
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Linux LPIC2 noelmace.com
Plan
• netcat
• netcat : options générales
• Scanner de ports avec netcat
• Netcat client / serveur
• Netstat
• Analyse de paquets avec Tcpdump
• Analyse de paquets avec Wireshark
• nmap : scanner de ports et plus
3. Linux LPIC2 noelmace.com
netcat
• Le couteau suisse du TCP/IP
gestion des sockets (peu établir n'importe quelle connexion)
s'utilise aussi bien en tant que client que serveur
scriptable
multiplateforme (disponible sous Windows et Mac OS X)
nombreux usages
• capture de bannière
• scan de ports
• etc ...
$ nc [ options ] [ hostname ] [ ports ]$ nc [ options ] [ hostname ] [ ports ]
4. Linux LPIC2 noelmace.com
netcat : options générales
• Options :
-u : passer en mode UDP
-i int : effectuer l'opération suivant un intervalle de int secondes
-v : verbose
• -vv pour plus d'informations
-x adresse[:port] : connexion via un proxy
$ nc [ options ] [ hostname ] [ ports ]$ nc [ options ] [ hostname ] [ ports ]
5. Linux LPIC2 noelmace.com
Scanner de ports avec netcat
• Scanner des ports 100 à 1, puis 443
-r pour scanner aléatoirement (plus discret)
par défaut, se stoppe dés qu'il trouve un port ouvert, et attend une E/S
• -z pour passer en mode zero I/O
• Exemple
$ nc -vv 127.0.0.1 1-100 443$ nc -vv 127.0.0.1 1-100 443
$ nc -vv -i 3 -r -z 127.0.0.1 21 23 80-160 1337$ nc -vv -i 3 -r -z 127.0.0.1 21 23 80-160 1337
6. Linux LPIC2 noelmace.com
Netcat client / serveur
• ouvrir netcat en mode listening (serveur) sur le port 1337
-k pour continuer à écouter après réception d'une connection
• se connecter au serveur (coté client)
• Exemple : transfert de fichiers
serveur
client
$ nc -l -p 1337$ nc -l -p 1337
$ nc monserveur 1337$ nc monserveur 1337
$ cat file.tar.gz | nc -l 1337$ cat file.tar.gz | nc -l 1337
$ nc monserveur 1337 > file.tar.gz$ nc monserveur 1337 > file.tar.gz
7. Linux LPIC2 noelmace.com
Netstat
• Afficher un grand nombre d'informations
connections
tables de routage
statistiques sur les interfaces
connexions masquées
messages netlink
multicasts
• Considéré comme obsolète
remplacé par ss et ip
$ netstat [options]$ netstat [options]
8. Linux LPIC2 noelmace.com
Netstat
• Options
aucune : lister les sockets ouverts
-a : Affiche toutes les connexions TCP actives et les ports TCP et UDP sur lesquels l'ordinateur écoute
-i iface / --interface=iface : afficher les informations sur une interface
• similaire à ifconfig ou ip -s link
-r / --route : afficher les tables de routage noyau
• similaire à ip route
--masquerade / -M : afficher les informations relatives aux connections masquées
• fonctionnalité NAT de Linux
• réseaux "cachés" derrière une unique adresse IP
-p / --programs : afficher le nom et le PID des processus propriétaires de chaque socket
$ netstat [options]$ netstat [options]
9. Linux LPIC2 noelmace.com
Analyse de paquets avec Tcpdump
• obtenir les détails sur le trafic visible depuis une interface
une ligne par paquet
• date protocole source:port > destination:port : informations
• Exemple
# tcpdump [options] [-i interface] [pcap-filter expression]# tcpdump [options] [-i interface] [pcap-filter expression]
# tcpdump -i eth1 host 8.8.8.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:48:56.922382 IP debian.local > google-public-dns-a.google.com: ICMP echo request, id 2933, seq 1,
length 64
11:48:57.053722 IP google-public-dns-a.google.com > debian.local: ICMP echo reply, id 2933, seq 1,
length 64
11:48:57.922897 IP debian.local > google-public-dns-a.google.com: ICMP echo request, id 2933, seq 2,
length 64
11:48:57.989884 IP google-public-dns-a.google.com > debian.local: ICMP echo reply, id 2933, seq 2,
length 64
# tcpdump -i eth1 host 8.8.8.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:48:56.922382 IP debian.local > google-public-dns-a.google.com: ICMP echo request, id 2933, seq 1,
length 64
11:48:57.053722 IP google-public-dns-a.google.com > debian.local: ICMP echo reply, id 2933, seq 1,
length 64
11:48:57.922897 IP debian.local > google-public-dns-a.google.com: ICMP echo request, id 2933, seq 2,
length 64
11:48:57.989884 IP google-public-dns-a.google.com > debian.local: ICMP echo reply, id 2933, seq 2,
length 64
10. Linux LPIC2 noelmace.com
Analyse de paquets avec Wireshark
• Anciennement dénommé Ethereal (avant mai 2006)
• Disponible sur les systèmes Unix et Windows
• Né en 1998, grâce à Gerald Combs
• Deux solutions :
GUI
ligne de commande : TShark
# tshark [-i interface] [pcap-filter expression]# tshark [-i interface] [pcap-filter expression]
11. Linux LPIC2 noelmace.com
nmap : scanner de ports et plus
• TCP connect scan
• UDP scan
• identification des machines d'un réseau
• identifier l'OS d'une machine
# nmap -sT hostname# nmap -sT hostname
# nmap -sU hostname# nmap -sU hostname
# nmap -sP <cible># nmap -sP <cible>
# nmap -O --osscan-guess 127.0.0.1# nmap -O --osscan-guess 127.0.0.1
12. Linux LPIC2 noelmace.com
Ce qu’on a couvert
• netcat
• netstat
• tcpdump
• wireshark
• nmap
Weight : 4
Description : Candidates should be able to configure a network device to implement
various network authentication schemes. This objective includes configuring a multi-homed
network device, configuring a VPN client and resolving communication problems.
205.2 Advanced Network Configuration and Troubleshooting (Part 2)
13. Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.