Bonjour à tous,
J'aimerais créer un script de sauvegarde automatique. Pour cela la première chose que j'aimerais faire est le test d'appartenance à un réseau en particulier.
if test "je n'appartiens pas au bon réseau" ; then exit 0 ; fi
Qu'est ce que je peut tester ? et comment ?
ping -c1 x.x.x.x n'a pas l'air d'être un bon candidat (réponse trop complexe à traiter)
Je peux tester sur des IPs, des noms de machines éventuellement des adresses MAC
rien trouvé de pertinent sur le net (sans doute pas chercher avec les bons mots clés)
Des idées ?
Quitter le forum et retourner au site
[RÉSOLU] Test d'appartenance à un réseau
- juice
- Messages : 247
- Inscription : dim. 29 juin 2008, 10:06
- Distribution : Archlinux
- Niveau : Confirmé
- Localisation : Oberentzen
Re: test d'appartenance à un réseau
Tu veux tester l’état de la connexion d’une machine à un réseau ou connaitre les propriétés de cette connexion ?
- juice
- Messages : 247
- Inscription : dim. 29 juin 2008, 10:06
- Distribution : Archlinux
- Niveau : Confirmé
- Localisation : Oberentzen
Re: test d'appartenance à un réseau
Pour tester la réponse d’une machine sur un réseau je ferai :
ping -c1 -W 5 <ip ou nom de machine> | grep Unreachable
reste à le mettre dans le test bash qui va bien…
ping -c1 -W 5 <ip ou nom de machine> | grep Unreachable
reste à le mettre dans le test bash qui va bien…
- le Manchot Masqué
- Administrateur du site
- Messages : 728
- Inscription : lun. 26 mai 2008, 21:05
- Distribution : Debian, Ubuntu
- Niveau : Moitié plein !
- Localisation : Guebwiller
Re: test d'appartenance à un réseau
Le ping est un message ICMP souvent bloqué par les firewalls.
En fait, il n'y a pas de recette magique pour savoir si une machine est en ligne :
- soit on scanne tous les ports (long)
- soit on se concentre sur des services connus
Ici par exemple, on teste le TCP 22 (sshd)...
Pour une machine sous windows, on scannera le TCP 139...
Si on repère le mot clé open, c'est gagné !
N.B. : les scans en UDP sont souvent de mauvais indicateurs : à moindre d'être bloqués/filtrés, : les ports UDP sont ouverts par défaut.
P.S. : pour ton application... Cf. http://h.ackack.net/cheat-sheets/netcat
En fait, il n'y a pas de recette magique pour savoir si une machine est en ligne :
- soit on scanne tous les ports (long)
- soit on se concentre sur des services connus
Ici par exemple, on teste le TCP 22 (sshd)...
Code : Tout sélectionner
# nc -vz machine 22
machine.domaine.fr [192.168.200.10] 22 (ssh) open
Code : Tout sélectionner
# nc -vz machine 139
machine.domaine.fr [192.168.200.10] 139 (netbios-ssn) open
N.B. : les scans en UDP sont souvent de mauvais indicateurs : à moindre d'être bloqués/filtrés, : les ports UDP sont ouverts par défaut.
P.S. : pour ton application... Cf. http://h.ackack.net/cheat-sheets/netcat
- Ennoia
- Messages : 138
- Inscription : jeu. 29 mai 2008, 13:09
- Distribution : ArchLinux
- Niveau : Indépendance et débugage
- Localisation : Oberentzen
Re: test d'appartenance à un réseau
Finalement j'ai trouvé la bonne syntaxe :
et un ping aurait très bien pu faire l'affaire également
Code : Tout sélectionner
netcat -z machine port
if [ $? = 0 ]
then
echo "machine répond"
else
echo "machine ne répond pas"
fi