Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[RCH] Utilitaire de surveillance réseau

50 réponses
Avatar
benoit
Bonjour,


Mon père ayant des coupures incessantes sur sa connexion Numericable
(reboot de la box et tout revient dans l'ordre), il m'a demandé si je
connaissais un petit utilitaire qui note quand le réseau tombe. Il
laissera son mac allumé avec l'appli qui tourne 24/24 et il obtiendra un
fichier à mettre sous le nez des « pros » du réseau.

Merci,

--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com

10 réponses

1 2 3 4 5
Avatar
M.V.
Le 3 avril 2020 à 16 h 11, Benoît a pris le temps d'écrire :
je sépare la date en deux éléments (jour - heure)

Ce n'est pas une bonne idée… Essaye ceci :
========= set old_date to date "mercredi 1 avril 2020 à 15:54:23"
set new_date to date "jeudi 2 avril 2020 à 08:42:30"
return new_date - old_date
========= le résultat (60487) est en secondes.
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
benoit
M.V. wrote:
Le 3 avril 2020 à 16 h 11, Benoît a pris le temps d'écrire :
Je remplace les linefeed par des return

Avec les petites corrections indiquées hier, ce n'était pas utile.

D'autant que ça casse tout, car envoyer un return au milieu d'un texte
dans un shell script, c'est moyen.
J'ajoute :
set filePathQuoted to ((path to desktop folder) & "Connection
Benoît.txt") as string

Ça ne fonctionnera pas.

Pourquoi ? filePath n'est pas défini alors j'essaye de le définir. Mais
il y a un « : » en trop dans la commande cat :/ que ce soit une string
ou un alias.
Mais j'ai un soucis (peut-être le nom de la variable :)
error "La variable Con n'est pas définie." number -2753 from "Con"

Avant la partie "on idle", tu dois avoir les 2 lignes :
global Con
set Con to 0
ou bien ce qui est encore mieux, la seule ligne :
property Con : 0

Fait, je l'avais mis sans global dans le try
Maintenant il faut que je trouve comment tu insères le texte dans
filePathQuoted

Avec ce que tu as écrit au-dessus, tu es mal parti.

Je suis revenu à filePath au lieu de filePathQuoted, mais voir le pb
avec cat.
Et je ne trouve nulle part le nom du fichier « Connexion.txt » créé sur
le bureau. Je souhaitais en créer un avec un autre nom pour ne pas
détruire le tien, qui tourne parfaitement.
N.B. Ce qui est génial avec ce problème est que je vais apprendre à
utiliser les sous-routines et modifier des variables dans une
sous-routine. La raison est que ce qui suit est un peu répété, je sais
qu'il y a une erreur
-- Si Con=1 => ipStatus="active", si Con=0 => ipStatus="désactivé" et
-- IP_adress = "127.0.0.1"
On fileWrite()
set text item delimiters to linefeed
set oldFile to (do shell script ("cat " & filePath))
set old_list to oldFile's every paragraph
set oldFile to old_list as text
set str to dateFull & tab & "la connexion est " & ipStatus & linefeed &
"Votre adresse IP actuelle est : " & IP_address & linefeed & linefeed &
oldFile
do shell script "echo " & quoted form of str & " > " & filePath
end fileWrite
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Avatar
M.V.
Le 4 avril 2020 à 13 h 47, Benoît a pris le temps d'écrire :
Ce qui est génial avec ce problème est que je vais apprendre à
utiliser les sous-routines et modifier des variables dans une
sous-routine. La raison est que ce qui suit est un peu répété, je sais
qu'il y a une erreur

?????
J'abandonne…
Tout ce que tu écris est très brouillon et parfois même n'a aucun sens.
Je t'ai fourni un script qui fonctionne très bien : je n'ai plus rien à
ajouter.
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
benoit
M.V. wrote:
Le 4 avril 2020 à 13 h 47, Benoît a pris le temps d'écrire :
Ce qui est génial avec ce problème est que je vais apprendre à
utiliser les sous-routines et modifier des variables dans une
sous-routine. La raison est que ce qui suit est un peu répété, je sais
qu'il y a une erreur

?????
J'abandonne…

Dommage.
Tout ce que tu écris est très brouillon et parfois même n'a aucun sens.
Je t'ai fourni un script qui fonctionne très bien : je n'ai plus rien à
ajouter.

Je suis reparti à 0 pour ajouter des tabulations mais le fichier n'est
pas défini dans le script :
error "La variable filePathQuoted n'est pas définie." number -2753 from
"filePathQuoted"
C'est pour quoi j'essaye de créer cette variable et n'y arrive pas. Tout
du moins j'arrive à la créer mais elle n'est pas correcte.
set filePathQuoted to (path to desktop folder)
donne
error "cat: MacintoshHD_15:Users:benoit:Desktop:: No such file or
directory" number 1
ou
set filePathQuoted to ((path to desktop folder) & "ConnexionBenoit.txt")
donne
error "cat: MacintoshHD_15:Users:benoit:Desktop:: No such file or
directory
sh: line 1: ConnexionBenoit.txt: command not found" number 127
Alors que le fichier est présent sur le disque, je l'ai créé « à la
main ».
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Avatar
M.V.
Le 4 avril 2020 à 14 h 34, Benoît a pris le temps d'écrire :
set filePathQuoted to ((path to desktop folder) & "ConnexionBenoit.txt")

Il suffit d'adapter ce qu'il y avait dans mon script :
========= set filePath to (path to (desktop folder) as string) & "Connexion_Benoit.txt"
set filePathQuoted to quoted form of POSIX path of filePath
do shell script "touch " & filePathQuoted
=========
N.B.
La commande
do shell script "touch " & filePathQuoted
sert à créer le fichier "Connexion_Benoit.txt" au cas où il
n'existerait pas.
N.B. 2
C'est le chemin POSIX d'un fichier qu'il faut utiliser dans les
commandes "do shell script blablabla" et pas le chemin HFS : ça
explique les messages d'erreur qui te sont renvoyés.
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
benoit
M.V. wrote:
Le 4 avril 2020 à 14 h 34, Benoît a pris le temps d'écrire :
set filePathQuoted to ((path to desktop folder) & "ConnexionBenoit.txt")

Il suffit d'adapter ce qu'il y avait dans mon script :
========= > set filePath to (path to (desktop folder) as string) & "Connexion_Benoit.txt"
set filePathQuoted to quoted form of POSIX path of filePath
do shell script "touch " & filePathQuoted
=========

Ce n'était pas dedans ;)
N.B.
La commande
do shell script "touch " & filePathQuoted
sert à créer le fichier "Connexion_Benoit.txt" au cas où il
n'existerait pas.

Merci
N.B. 2
C'est le chemin POSIX d'un fichier qu'il faut utiliser dans les
commandes "do shell script blablabla" et pas le chemin HFS : ça
explique les messages d'erreur qui te sont renvoyés.

Ok, j'étais pas prêt d'y arriver sans quelques heures/jours/semaines à
chercher sur le web.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Avatar
M.V.
Le 4 avril 2020 à 19:01, Benoît a pris le temps d'écrire :
Ce n'était pas dedans ;)

C'est une blague ?
Voici le début du script tel que je te l'avais mis à disposition :
========= global Con, filePathQuoted, IP_address_old
set filePath to (path to (desktop folder) as string) & "Connexion.txt"
set filePathQuoted to quoted form of POSIX path of filePath
do shell script "touch " & filePathQuoted
set Con to 0
=========
Il est toujours au même endroit et c'est le 2ème script que j'avais fait :
<https://www.dropbox.com/s/wvy20z1c3io7h7r/Connexion_2.zip?dl=0>
Je n'ai plus le 1er script mais il y avait exactement la même chose
concernant filePath et filePathQuoted.
Tu es vraiment incroyable !
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
benoit
M.V. wrote:
Le 4 avril 2020 à 19:01, Benoît a pris le temps d'écrire :
Ce n'était pas dedans ;)

C'est une blague ?

Non, voir plus bas
Voici le début du script tel que je te l'avais mis à disposition :
========= > global Con, filePathQuoted, IP_address_old
set filePath to (path to (desktop folder) as string) & "Connexion.txt"
set filePathQuoted to quoted form of POSIX path of filePath
do shell script "touch " & filePathQuoted
set Con to 0
========= >
Il est toujours au même endroit et c'est le 2ème script que j'avais fait :
<https://www.dropbox.com/s/wvy20z1c3io7h7r/Connexion_2.zip?dl=0>
Je n'ai plus le 1er script mais il y avait exactement la même chose
concernant filePath et filePathQuoted.
Tu es vraiment incroyable !

Désolé. J'ai un pb de mémoire assez lourd (une partie retirée pour
raison médicale) et à chaque fois que j'ai recommencé je suis reparti du
script que tu a mis dans un message. Je ne me rappelais plus du tout, du
tout, qu'il(s) étai(en)t sur Dropbox.
M_RDE :(
C'est pourquoi je n'ai eu de cesse de ramer pour faire tourner une
version plus « personnelle ». Mon objectif est d'avoir tout sur une
ligne séparé par des tabulations avec la durée en secondes quand elle
est à nouveau « active » :
samedi 4 avril 2020 18:44:44 la connexion est active 83.205.46.226
92s*
Je reprends donc tout à 000 sur la base du fichier Dropbox retéléchargé
* Je mets 127.0.0.1 si inactive. Après je chercherai comment transormer
92s en 00:03:02. Après, bien après.
N.B. Si tu veux continuer à me coacher (stp) : dits-moi où se trouve
l'erreur et donne la solution, mais en Rot-13. :)
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Avatar
M.V.
Le 4 avril 2020 à 20 h 38, Benoît a pris le temps d'écrire :
je suis reparti du script que tu a mis dans un message.

Je n'ai mis aucun script dans un message : j'ai juste mis la partie "on
idle" du script qu'il fallait modifier pour faire plaisir à BBEdit.
Mon objectif est d'avoir tout sur une
ligne séparé par des tabulations avec la durée en secondes quand elle
est à nouveau « active » :
samedi 4 avril 2020 18:44:44 la connexion est active 83.205.46.226
92s*

"la durée en secondes quand elle est blablabla…" : la durée de quoi
exactement ? La durée de la déconnexion ?
Je mets 127.0.0.1 si inactive.

Pour quoi faire ? Pourquoi une telle adresse ?
dits-moi où se trouve l'erreur

Je dois regarder quoi et où ?
et donne la solution, mais en Rot-13.

???
--
Michel VAUQUOIS - <http://michelvauquois.fr>
Avatar
M.V.
Le 4 avril 2020 à 20 h 38, Benoît a pris le temps d'écrire :
Je reprends donc tout à 000 sur la base du fichier Dropbox retéléchargé

<https://www.dropbox.com/s/lx7lcb1rgngrfv8/Ecran%2076.jpg?dl=0>
Dans la colonne E :
- en jaune quand la déconnexion a duré moins de 5 min
- en rouge clair quand la déconnexion a duré entre 5 et 15 min
- en rouge foncé quand la déconnexion a duré plus de 15 min
Les dates et heures de déconnexion sont volontairement absentes pour ne
pas multiplier les infos (trop d'infos tuent l'info).
Les dates et heures indiquées dans la colonne A indiquent les dates et
heures du scan de la connexion quand celle-ci redevient activée.
--
Michel VAUQUOIS - <http://michelvauquois.fr>
1 2 3 4 5