3 - Installation du serveur Debian
3.4 - Diagnostiques & Exercices
Monitoring
Avant toutes choses, nous allons « monitorer » les logs du client Ubuntu pour voir ce qu'il ce passe :
# @client
sudo journalctl -ef
DHCP
Contrôler le bon fonctionnement du serveur DHCP :
# @client
sudo ip a del 10.0.0.1/24 dev enp0s3
sudo dhclient enp0s3
Pour trouver le nom de l'interface réseau (ici enp0s3), il faut lister les interfaces disponibles avec la commande :
# @client
ip l
DNS
Pour lister les DNS utilisés par un système, voici quelques commandes utiles (en fonction des systèmes) :
Linux - basic : cat /etc/resolv.conf
Linux - systemd : systemd-resolved --status ou resolvectl
Linux - Network Manager (nom des connexions): nmcli c show
Linux - Network Manager (affichage des DNS): nmcli c show "_nom de la connexion_" | grep DNS
Windows : ipconfig /all | findstr DNS
Contrôler le bon fonctionnement du serveur DNS :
# @client
host client.admx.osef
host srv.admx.osef
host dns.admx.osef
host client
host google.fr
Pour diagnostiquer les problèmes de DNS, la commande dig est beaucoup plus verbeuse et permet de mieux analyser la source du/des problème(s) :
# @client
dig client.admx.osef
dig srv.admx.osef
dig dns.admx.osef
dig client
dig google.fr
Connectivité
Pour diagnostiquer les problèmes de connectivités (partage, passerelle firewall, ...) diverse commande permette d'obtenir des réponses :
Ping
Pinger différente type de cible : locales, distantes, ... permet de mettre en évidance le point de rupture.
# @client
ping 10.0.2.2
ping 9.9.9.9
Pour pinger tout un chemin (où une route) en une fois, on peut utiliser la commande mtr
# @client
mtr google.fr
mtr perdu.com
mtr fautvraimentetreconpouravoiruneadresseinternetaussilongue.com
NMap
Pour tester les règles de filtrages d'une cible, on peut utiliser la commande nmap
# @client
nmap localhost
nmap 10.0.2.2
nmap mines-ales.fr
Lorsque la machine est configurer pour ne pas répondre au requête, le filtrage peut tout de même être tester avec l'option -P0 (p zero) mais il sera plus long.
# @client
nmap -P0 mines-ales.fr
Enfin, quelques switch supplémentaire permette de recueillir d'autre information :
-sVajoute la détection des services présents derrière un N° de port-Oajouter la détection du système d'exploitation-T1 -T2...-T5indique la vitesse du scan. N'utilisez pas -T5 en dehors d'un réseau local ! (sinon votre IP publique a de forte chance d'être blacklisté)
Et beaucoup d'autre ...
Je vous invite à tester toute sorte de commande de monitoring :
nethogs, netstat, dstat, iptraf, iotop, iostat, htop, vmstat, lsof, tcpdump, suricata, nmon, ...
Exercices
👉 Revenir au client Ubuntu pour les exercices. Le serveur Debian servira à nouveau plus tard.
- En vous appuyant sur le script yt-dlp (procédure d'installation ci-dessous)
- écrivez un script auquel vous pourrez passer en argument une URL issue de Youtube et qui vous demandera successivement :
- le flux audio à télécharger (format, qualité, ...)
- le flux video à télécharger (format, qualité, ...)
- Une fois sélectionnés, les flux sont téléchargés puis mélangés (muxing) pour obtenir le fichier vidéo final (vous devrez peut-être installer le paquet ffmpeg qui est le cœur de VLC).
- Pour obtenir la documentation de Youtube-DL, saisissez la commande yt-dlp --help | less
- écrivez un script auquel vous pourrez passer en argument une URL issue de Youtube et qui vous demandera successivement :
- En vous appuyant sur la commande qrencode (
sudo apt install qrencode)- Essayez d'écrire un script qui affiche un QRcode généré à partir du texte passé en argument
- Essayer de l'améliorer pour pouvoir l'appeler avec un raccourcie clavier. Dans ce cas, le QRcode généré contient le texte présent dans le presse-papier (clipboard)
- Pour cela, vous pouvez vous reposer sur la commande
xclip
- Pour cela, vous pouvez vous reposer sur la commande
- Vidéo de démonstration
- Ubuntu: Raccourcie clavier & NetworkManager
Installation de yt-dlp
# @client
mkdir -p ~/.local/bin
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ~/.local/bin/yt-dlp
chmod +x ~/.local/bin/yt-dlp
# Si vous n'aviez pas encore créé le dossier ~/.local/bin, logout/login.
