Salut et bonne année, je suis Rodrigue Daniel
Voilà, c'est la deuxième fois que je poste ce problème (section Linux). Peut être avec mon script complet, il y'aura une autre solution.
Bon mon but était de réaliser un script pouvant m'aider à stopper les services réseau inutiles. J'ai complètement fini mon script, mais j'ai rencontré un problème. Lorsque je tue un service réseau via son processus par son PID, il se redemarre automatiquement, et comme mon script a la possibilité de récenser tous les services réseau, alors je constate que rien n'a changé. J'ai même fait le test en direct, d'où j'ai fait ce constat...Bon voilà mon script complet.
Merci
Voilà, c'est la deuxième fois que je poste ce problème (section Linux). Peut être avec mon script complet, il y'aura une autre solution.
Bon mon but était de réaliser un script pouvant m'aider à stopper les services réseau inutiles. J'ai complètement fini mon script, mais j'ai rencontré un problème. Lorsque je tue un service réseau via son processus par son PID, il se redemarre automatiquement, et comme mon script a la possibilité de récenser tous les services réseau, alors je constate que rien n'a changé. J'ai même fait le test en direct, d'où j'ai fait ce constat...Bon voilà mon script complet.
Code:
#!/bin/bash # # ssri : Script permettant de stopper les services réseau inutilisés. # Rodrigue Daniel (email : [email protected]) # Mon blog : rodriguedaniel.blogspot.com # 14/12/2015 # Dépendances : netstat # Testé sur Ubuntu (14.04,15.04,15.10) et Kali Linux (1.09) set -u clear ########################################################################################### # Définitions des couleurs RED='\e[1;31m' BLUE='\e[1;34m' CYAN='\e[1;36m' GREEN='\e[1;32m' NC='\e[0m' #echo -ne $RED echo -e $BLUE' ____ ____ ____ ___ / ___/ ___|| _ \|_ _| \___ \___ \| |_) || | ___) |__) | _ < | | |____/____/|_| \_\___| '$NC echo -e $BLUE"\t\t Description : Stopper les Services Réseau Inutilisés"$NC echo -e $BLUE"\t\t Auteur : Rodrigue Daniel (email : [email protected])"$NC # Vérification du mode root if [[ $EUID -ne 0 ]]; then echo -e $RED"\n\t Erreur : Ce programme doit être éxécuté en root.\n"$NC exit 1 fi ########################################################################################### # Definitions des variables choix="" reponse="" numPort="" # variable contenant le numero de port saisi par un utilisateur qui souhaite tuer le processus associé au service réseau en cours d'exécution old_IFS="" # variable de sauvegarde du contenu de la variable d'environnement IFS resValide1="" ## résultat valide lorsqu'on a trouvé, resValide2="" ## + un service, son port resValide2="" ## + son numéro de PID resValide4="" ## + tabNumPort[0]="" # tableau constitué des numéros de port associé aux services réseau tabServices[0]="" # tableau constitué des noms de services réseau tabProcessusService[0]="" # Fonction constitué des processus associés aux services réseau numTab=0 # variable contenant l'indice des informations (ports,services,processus) valides ########################################################################################### # Definitions des fonctions aideSsri () # Fonction permettant d'afficher le menu et qui fait office d'aide { echo -e $CYAN"\n\t a : Afficher tous les services réseau."$NC echo -e $CYAN"\t h : Afficher cet écran d'aide."$NC echo -e $CYAN"\t i : Inviter à entrer le numero de port du service réseau à stopper."$NC echo -e $CYAN"\t q : Quitter le script."$NC echo -e $CYAN"\t t : Stopper tous les services réseau.\n"$NC } recenserPortsServicesProcessus () # fonction qui permet de recenser tous les services, leurs numeros de port et leur PID { numTab=0 old_IFS=$IFS IFS=$'\n' (netstat -pano | grep tcp | grep LISTEN) > /dev/null 2>&1 if [ $? -eq 0 ] ; then (netstat -pano | grep tcp | grep LISTEN) 2> /dev/null > temporaire for resValide1 in $(cat temporaire) ; do if [ "${resValide1%% *}" != "tcp6" ] ; then # on élimine les lignes contenant tcp6 car en ipv4 ou en ipv6, les ports ne changent pas resValide2="${resValide1#*:}" resValide3="${resValide1#*/}" resValide4="${resValide1#*N}" tabNumPort[$numTab]="${resValide2%% *}" tabServices[$numTab]="${resValide3%% *}" tabProcessusService[$numTab]="${resValide4%%/*}" numTab=$(($numTab + 1)) fi done rm temporaire else echo -e $RED"\t Aucun service n'est démarré.\n"$NC fi IFS=$old_IFS } afficherTousServicesReseau () # Fonction permettant d'afficher tous les services réseau et leurs numeros de port { recenserPortsServicesProcessus numTab=0 echo -e "\n-------------------------------------------------- echo -e "\tSERVICES\t|\tPORTS" echo "-------------------------------------------------- while [ $numTab -lt ${#tabNumPort[@]} ] ; do echo -ne "\t"${tabServices[$numTab]}"\t\t|\t" echo ${tabNumPort[$numTab]} numTab=$(($numTab + 1)) done echo -e "\n----------------------------------------------------\n" } stopperUnServiceReseau () # fonction permettant de stopper un service réseau { recenserPortsServicesProcessus numTab=0 echo -ne "\n\t Entrez le numero de port du service à stopper : " read numPort while [ $numTab -lt ${#tabNumPort[@]} ] ; do if [ "$numPort" = "${tabNumPort[$numTab]}" ] ; then kill -9 ${tabProcessusService[$numTab]} sleep 1 echo -e $GREEN"\t Opération effectuée avec succès.\n"$NC break elif [ $numTab = $((${#tabNumPort[@]} - 1)) ] ; then echo -e $RED"\t Service non démarré ou Numéro de port inconnu.\n"$NC break fi numTab=$(($numTab + 1)) done } StopperTousServicesReseau () # Fonction permettant de stopper tous les services réseau { recenserPortsServicesProcessus numTab=0 reponse="" while [ "$reponse" != "n" ] ; do echo -ne "\n\t Etes-Vous sûr de vouloir continuer cette opération? (o/n) : " read reponse if [ "$reponse" = "o" ]; then while [ $numTab -lt ${#tabNumPort[@]} ] ; do kill -9 ${tabProcessusService[$numTab]} numTab=$(($numTab + 1)) done sleep 1 echo -e $GREEN"\t Opération effectuée avec succès.\n"$NC break fi done } ########################################################################################### # Traitement aideSsri while true; do echo -e $CYAN echo -n "[SSRI]> " if ! read choix ; then echo $RED"\n\t Saisie Invalide. Appuyer sur la touche h pour consulter l'aide !\n"$NC fi if [ -z "$choix" ] ; then echo -e $RED"\n\t Saisie Vide. Appuyer sur la touche h pour consulter l'aide !\n"$NC fi case $choix in a ) afficherTousServicesReseau ;; h ) aideSsri ;; i ) stopperUnServiceReseau ;; q ) break ;; t ) StopperTousServicesReseau ;; * ) echo -e $RED"\n\t Option inconnue. Appuyer sur la touche h pour consulter l'aide !\n"$NC ;; esac done echo -e $BLUE' ____ / __ \ _ _ _ _ _ _ _ / / _ |_| |_ _| |_ _| |_ _| |_ _| |_ _| |_ _| |_ | | (_| |_ _|_ _|_ _|_ _|_ _|_ _|_ _| \ \__ _| |_| |_| |_| |_| |_| |_| |_| \____/ '$NC exit 0
Commentaire