pinger une ip d'une carte sim

Eléphant du PHP | 133 Messages

20 févr. 2022, 23:06

bonjour à tous ,

voila j'utilise un systeme qui tourne via une pc connecté a une box 4G
dernierement l'appareil a subit une coupure de courant de 3h et n'a pas redemarré

je me suis mis dans la tete de pinger toutes les x minutes l'ip de la carte sim que la pc utilise
mais soucis , j'ai testé 15 script de ping pas moyen de pinger l'ip de la sim

voici le code utilisé qui marche tres bien sur des url

Code : Tout sélectionner

$wait = 1; // wait Timeout In Seconds $host = '92.xxx.xxx.xx'; $ports = [ 'http' => 80, 'https' => 443, 'ftp' => 21, ]; foreach ($ports as $key => $port) { $fp = @fsockopen($host, $port, $errCode, $errStr, $wait); echo "Ping $host:$port ($key) ==> "; if ($fp) { echo 'SUCCESS<br>'; fclose($fp); } else { echo "ERROR: $errCode - $errStr<br>"; } echo PHP_EOL; }
meme depuis mon pc via CMD et la fonction ping impossible de d'avoir une reponse

une idée pour tester cette ip si elle est en ligne ou pas (coupure de courant ou pas en gros)

Cordialement PAscal

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 févr. 2022, 00:47

Sur un réseau mobile (avec une offre grand public), l'adresse IP n'est pas dédiée mais partagée avec plusieurs centaines d'utilisateurs donc tu ne peux pas faire un ping depuis l'extérieur pour voir si ton serveur répond.

Le plus simple c'est de faire l'inverse : sur ton serveur connecté en 4G, faire un cron/tache planifiée qui va venir à intervalle régulier faire un appel à un serveur externe, et quand ce serveur externe ne reçoit plus de signe de vie de ton serveur local, alors il t'alerte.
Ça tombe bien, c'est exactement ce que propose le service très pratique Healthchecks : ;-)
https://healthchecks.io/
Quand tout le reste a échoué, lisez le mode d'emploi...