Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Chemin du fichier de log pour l'état réseau
- LOG_FILE="/home/siindus/Documents/network_status_log.txt"
- # Fonction pour afficher un log horodaté
- log() {
- echo "$(date "+[%Y-%m-%d %H:%M:%S]") $1" >> "$LOG_FILE"
- }
- # Effacer le fichier de log précédent
- > "$LOG_FILE"
- log "Début de la vérification de l'état réseau"
- # Obtenir la liste des interfaces réseau actives (connectées avec une IP)
- interfaces=$(nmcli -t -f DEVICE,STATE,IP4.ADDRESS device | grep -E ':connected:' | awk -F: '{print $1}')
- if [ -z "$interfaces" ]; then
- log "Aucune interface réseau active détectée avec une adresse IP."
- yad --error --title="État du Réseau" --text="Aucune interface réseau active détectée avec une adresse IP." --center --width=300 --height=100
- exit 1
- fi
- # Parcourir chaque interface pour afficher ses informations
- for iface in $interfaces; do
- log "------------------------------------------------"
- log "Interface : $iface"
- # État de l'interface
- state=$(nmcli -t -f DEVICE,STATE device | grep "^$iface:" | awk -F: '{print $2}')
- log "État : $state"
- # Adresse IP et Masque de sous-réseau
- ip_info=$(nmcli -g IP4.ADDRESS device show "$iface")
- ip_address=$(echo "$ip_info" | awk -F'/' '{print $1}')
- subnet_mask=$(echo "$ip_info" | awk -F'/' '{print $2}')
- log "Adresse IP : ${ip_address:-Non attribuée}"
- log "Masque de sous-réseau : /${subnet_mask:-Non attribué}"
- # Passerelle
- gateway=$(nmcli -g IP4.GATEWAY device show "$iface")
- log "Passerelle : ${gateway:-Non attribuée}"
- # Serveurs DNS
- dns_servers=$(nmcli -g IP4.DNS device show "$iface" | tr '\n' ', ' | sed 's/, $//')
- log "Serveurs DNS : ${dns_servers:-Aucun configuré}"
- # Adresse MAC
- mac_address=$(nmcli -g GENERAL.HWADDR device show "$iface" | sed 's/\\//g')
- log "Adresse MAC : $mac_address"
- log "------------------------------------------------"
- done
- # Afficher le contenu du fichier de log à l'utilisateur
- yad --text-info --title="État du Réseau" --filename="$LOG_FILE" --width=600 --height=400 --center --undecorated --skip-taskbar --ontop
Add Comment
Please, Sign In to add comment