fastoch13

Untitled

Jan 13th, 2025
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Chemin du fichier de log pour l'état réseau
  4. LOG_FILE="/home/siindus/Documents/network_status_log.txt"
  5.  
  6. # Fonction pour afficher un log horodaté
  7. log() {
  8. echo "$(date "+[%Y-%m-%d %H:%M:%S]") $1" >> "$LOG_FILE"
  9. }
  10.  
  11. # Effacer le fichier de log précédent
  12. > "$LOG_FILE"
  13.  
  14. log "Début de la vérification de l'état réseau"
  15.  
  16. # Obtenir la liste des interfaces réseau actives (connectées avec une IP)
  17. interfaces=$(nmcli -t -f DEVICE,STATE,IP4.ADDRESS device | grep -E ':connected:' | awk -F: '{print $1}')
  18.  
  19. if [ -z "$interfaces" ]; then
  20. log "Aucune interface réseau active détectée avec une adresse IP."
  21. 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
  22. exit 1
  23. fi
  24.  
  25. # Parcourir chaque interface pour afficher ses informations
  26. for iface in $interfaces; do
  27. log "------------------------------------------------"
  28. log "Interface : $iface"
  29.  
  30. # État de l'interface
  31. state=$(nmcli -t -f DEVICE,STATE device | grep "^$iface:" | awk -F: '{print $2}')
  32. log "État : $state"
  33.  
  34. # Adresse IP et Masque de sous-réseau
  35. ip_info=$(nmcli -g IP4.ADDRESS device show "$iface")
  36. ip_address=$(echo "$ip_info" | awk -F'/' '{print $1}')
  37. subnet_mask=$(echo "$ip_info" | awk -F'/' '{print $2}')
  38.  
  39. log "Adresse IP : ${ip_address:-Non attribuée}"
  40. log "Masque de sous-réseau : /${subnet_mask:-Non attribué}"
  41.  
  42. # Passerelle
  43. gateway=$(nmcli -g IP4.GATEWAY device show "$iface")
  44. log "Passerelle : ${gateway:-Non attribuée}"
  45.  
  46. # Serveurs DNS
  47. dns_servers=$(nmcli -g IP4.DNS device show "$iface" | tr '\n' ', ' | sed 's/, $//')
  48. log "Serveurs DNS : ${dns_servers:-Aucun configuré}"
  49.  
  50. # Adresse MAC
  51. mac_address=$(nmcli -g GENERAL.HWADDR device show "$iface" | sed 's/\\//g')
  52. log "Adresse MAC : $mac_address"
  53.  
  54. log "------------------------------------------------"
  55. done
  56.  
  57. # Afficher le contenu du fichier de log à l'utilisateur
  58. yad --text-info --title="État du Réseau" --filename="$LOG_FILE" --width=600 --height=400 --center --undecorated --skip-taskbar --ontop
  59.  
Add Comment
Please, Sign In to add comment