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 : rodrigue_daniel@yahoo.com)
# 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 : rodrigue_daniel@yahoo.com)"$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
from Hackademics : Forum de hacking hackers white hat cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1OChUF4
via IFTTT
Aucun commentaire:
Enregistrer un commentaire