Skip to main content
Outils réseau

Envoyez un ping vers n'importe quel hôte depuis Mac, iPhone ou iPad

Dix requêtes ICMP réelles sur le DMG Mac, des sondes TCP partout ailleurs — et la latence, la perte et la gigue qu'il faut savoir lire.

Une page met huit secondes à s'afficher, une session SSH se fige au milieu d'une commande, un appel visio devient un diaporama. Avant de toucher à quoi que ce soit, il vous faut deux chiffres : le temps réel d'un aller-retour vers l'hôte, et le nombre de sondes qui ne sont jamais revenues. C'est exactement ce que donne le ping, et cela reste le moyen le plus rapide de distinguer « le serveur est tombé » de « le chemin vers le serveur est mauvais ». Obtenir ces chiffres sur du matériel Apple est plus compliqué qu'il n'y paraît. macOS a longtemps livré l'Utilitaire de réseau et son onglet Ping ; il a été déprécié dans Big Sur, ne fonctionnait plus sous Monterey, et il est absent des versions actuelles de macOS. Le Terminal existe toujours, mais c'est un détour peu naturel quand on travaille déjà dans un gestionnaire de sessions. Sur iPhone et iPad, il n'y a tout simplement rien à ouvrir : iOS n'expose aucun shell, donc `ping` n'est pas une commande que vous pouvez lancer, seulement une capacité qu'une application doit implémenter. SSHive l'implémente sur ses cinq cibles : iPhone, iPad, le DMG macOS en téléchargement direct, la version Mac App Store et Windows. Avec deux moteurs distincts, et la différence compte assez pour que l'application l'affiche dans l'interface. Sur le DMG macOS, SSHive lance le binaire système `ping` et diffuse de véritables requêtes et réponses ICMP, dix exactement, telles quelles. Sur la version Mac App Store, sur iPhone et sur iPad, le bac à sable d'Apple et iOS lui-même refusent les sockets ICMP bruts nécessaires : SSHive bascule alors sur une sonde TCP vers le port 80 et chronomètre la poignée de main. La version Windows utilise la même sonde TCP — non pas parce que Windows interdit l'ICMP, mais parce que SSHive embarque une seule implémentation compatible sandbox pour toutes les versions hors DMG. La carte Ping affiche un petit badge TCP dès que c'est ce moteur qui tourne. L'outil est gratuit sur toutes les plateformes. Aucun des outils réseau de SSHive n'est réservé à Pro, et il n'y a ni publicité ni compte à créer.

Ce que fait SSHive

Vrai ICMP sur le DMG macOS

Sur la version Mac en téléchargement direct, SSHive lance le binaire système ping avec un compteur fixé à dix requêtes echo et diffuse sa sortie brute ligne par ligne dans un volet monospace. Vous obtenez le vrai format BSD — icmp_seq, ttl et time sur chaque réponse — suivi du bloc de statistiques natif avec la perte de paquets et l'aller-retour min/moy/max/écart-type. Rien n'est reformaté ni résumé.

Sonde TCP là où ICMP est refusé

Sur la version Mac App Store, sur Windows, sur iPhone et sur iPad, SSHive ouvre une connexion TCP vers le port 80 et chronomètre la poignée de main. Dix sondes sur ordinateur, vingt sur iOS et iPadOS, espacées d'une seconde, avec un délai d'attente de trois secondes chacune. Sur ordinateur, l'en-tête de la carte affiche un badge TCP : vous savez toujours quel moteur a produit les chiffres affichés. Sur iPhone et iPad, la sonde TCP est le seul moteur disponible, il n'y a donc pas de badge.

Une connexion refusée compte comme joignable

Un reset TCP est une preuve de vie : l'hôte a reçu votre SYN et y a répondu. Sur les versions bureau (DMG, Mac App Store, Windows), SSHive compte une connexion refusée comme une sonde réussie et annote la ligne « port fermé » au lieu de la marquer perdue. Sur iPhone et iPad, un reset est aujourd'hui compté comme une sonde échouée, donc comme une perte. Cette nuance vous évite de déclarer une panne alors que la machine tourne et ne sert simplement pas de HTTP sur le port 80.

Des résultats lisibles sur iPhone et iPad

La vue iOS et iPadOS n'est pas un vidage de log. Quatre cartes affichent les envoyés, les reçus, le pourcentage de perte et le RTT moyen ; un graphique en barres trace chaque sonde dans l'ordre, réussites en vert et échecs en rouge, pour repérer d'un coup d'œil une rafale de pertes ou une latence qui grimpe. Dessous, chaque sonde est listée de la plus récente à la plus ancienne, avec son numéro et son RTT.

Des tests en direct, interruptibles

Sur ordinateur, la sortie arrive ligne par ligne pendant l'exécution, avec une pastille Running dans l'en-tête et un défilement automatique du volet de log. Stop annule immédiatement au lieu d'attendre les sondes restantes — pratique quand un hôte ne répond pas et que chaque sonde coûte trois secondes. Sur iPhone et iPad, un bouton de la barre d'outils efface les résultats précédents.

Gratuit sur toutes les plateformes

Ping n'est une fonction Pro sur aucune plateforme. Aucun des six outils réseau de SSHive n'est soumis à la vérification de licence sur Mac, Windows, iPhone ou iPad : ils tournent dans la version gratuite, sans publicité et sans compte à créer. SSHive Pro est un achat unique distinct qui couvre les sessions SSH, RDP et VNC, les profils et les tunnels, pas les diagnostics.

Comment faire, étape par étape

  1. 1

    Ouvrez les outils réseau sur Mac ou Windows

    Dans l'application macOS ou Windows, cliquez sur l'icône réseau de la barre latérale gauche — son infobulle indique Network Tools — ou sur la pastille « Outils réseau » de l'écran d'accueil. L'un comme l'autre ouvre un onglet Outils dédié à côté de vos sessions, avec les six diagnostics. Ping est la première des trois cartes pleine largeur, en bas du panneau.

  2. 2

    Ou ouvrez l'onglet Outils sur iPhone et iPad

    Sur iPhone, touchez Outils dans la barre d'onglets du bas — l'icône réseau — puis choisissez Ping, première ligne de la section Diagnostic. Sur iPad, ouvrez « Outils réseau » dans la barre latérale et sélectionnez Ping dans la même liste. L'outil se comporte de façon identique ; seule la navigation change.

  3. 3

    Saisissez l'hôte à tester

    Saisissez un nom d'hôte ou une adresse IP dans le champ — le texte indicatif sur ordinateur propose par exemple google.com. Gardez à l'esprit que sur toutes les versions sauf le DMG macOS, la sonde vise le port TCP 80 : choisissez un hôte censé y écouter si vous voulez une réponse de joignabilité exploitable.

  4. 4

    Lancez le test et suivez-le en direct

    Appuyez sur Ping sur ordinateur, ou lancez le test sur iOS. Le log se remplit ligne par ligne dans un volet monospace à défilement automatique, avec une pastille Running dans l'en-tête ; Stop interrompt sur-le-champ. Sur iPhone et iPad, les quatre cartes de statistiques et le graphique de RTT se mettent à jour sonde après sonde, au fil des vingt résultats.

  5. 5

    Lisez le récapitulatif

    Sur le DMG macOS, lisez le bloc de statistiques natif : paquets transmis et reçus, pourcentage de perte, et aller-retour min/moy/max/écart-type. Sur le moteur TCP, vous obtenez les sondes envoyées, les réponses reçues, le pourcentage de perte et le rtt min/moy/max. Sur iOS, ces mêmes chiffres figurent dans les cartes Envoyés, Reçus, Perte et Moyenne, au-dessus de la liste des sondes.

Lire une sortie de ping sans se tromper

Commencez par l'écart, pas par la moyenne. Un test qui affiche min/moy/max à 24/26/28 ms décrit un chemin sain. Un test à 24/58/410 ms a le même plancher mais met en file d'attente quelque part, et la moyenne le masque. Sur le DMG macOS, la ligne de statistiques BSD ajoute un quatrième chiffre, l'écart-type : c'est votre mesure de gigue. Quelques millisecondes, c'est normal ; un écart-type qui approche ou dépasse la moyenne signale un chemin instable, et tout ce qui est temps réel (VoIP, bureau à distance, frappe interactive en SSH) sera désagréable même si les téléchargements passent encore correctement. La perte de paquets demande du contexte : le pourcentage seul ne vaut presque rien. Regardez les valeurs icmp_seq ou l'ordre des sondes pour en voir la forme. Dix sondes avec un trou isolé au milieu, cela fait 10 % sur le papier, mais c'est en général un paquet ICMP déprioritisé par un routeur occupé ailleurs ; TCP le retransmet et vous ne voyez rien. Dix sondes où les numéros 4, 5, 6 et 7 disparaissent d'affilée, c'est tout autre chose — coupure de lien, reroutage ou changement de borne Wi-Fi — et la session interactive le ressentira nettement. En Wi-Fi et en cellulaire, une perte isolée occasionnelle est banale. Une perte soutenue sur un lien filaire mérite une enquête. Lisez aussi le champ ttl. Les hôtes partent de 64 (Linux, BSD, macOS), 128 (Windows) ou 255 (beaucoup d'équipements réseau), et chaque routeur le décrémente de un. Une réponse avec ttl=52 vient d'une machine partie de 64 et a traversé douze sauts : vérification rapide que vous parlez bien à la bonne machine, et indice sur la famille d'OS qui a répondu. La première sonde est souvent la plus lente. Mettez cela sur le compte d'ARP ou de la découverte de voisins, de la résolution DNS et d'un cache de route froid, pas du serveur. Jugez le test à partir de la deuxième sonde. Enfin, ne lisez pas 100 % de perte comme « hôte en panne ». Beaucoup d'hôtes, de CDN et de réseaux de bordure jettent l'echo ICMP par politique. Et sur le moteur TCP, la sémantique change complètement : vous chronométrez une poignée de main en trois temps vers le port 80, donc chaque valeur intègre le coût d'établissement de connexion en plus du véritable aller-retour réseau, et un hôte qui n'écoute simplement pas sur le port 80 affichera 100 % de perte tout en se portant très bien. L'annotation « port fermé » est la bonne nouvelle : elle signifie que l'hôte a répondu par un reset.

Questions frequentes

Peut-on vraiment faire un ping depuis un iPhone ?+
Oui, mais pas en ICMP. iOS ne fournit ni terminal ni commande ping accessible, et Network.framework — la couche réseau moderne sur laquelle SSHive est bâti — n'expose aucun transport ICMP. Le Ping de SSHive sur iPhone et iPad ouvre une connexion TCP vers le port 80 et chronomètre la poignée de main, vingt sondes espacées d'une seconde. Il répond à la question pratique (l'hôte est-il joignable, à quelle vitesse, avec quelle régularité) mais ce n'est pas un test echo ICMP, et nous préférons le dire.
SSHive envoie-t-il de vrais paquets ICMP ?+
Sur une seule version : le macOS téléchargé directement en DMG. Cette version n'est pas sandboxée et lance le binaire système ping avec un compteur de dix, donc vous obtenez de vraies requêtes echo ICMP et le bloc de statistiques BSD natif. La version Mac App Store, la version Windows, l'iPhone et l'iPad utilisent une sonde TCP vers le port 80, parce que le bac à sable d'Apple et iOS n'accordent pas de sockets ICMP bruts. SSHive signale ces tests par un badge TCP au lieu de masquer la différence.
Un site marche dans mon navigateur mais le ping affiche 100 % de perte. Pourquoi ?+
Deux causes fréquentes. D'abord, beaucoup d'hôtes, de CDN et de pare-feux de bordure jettent l'echo ICMP par politique : le serveur va bien, il refuse simplement de répondre à ce type de sonde. Ensuite, sur le moteur TCP, SSHive teste précisément le port 80 ; un hôte qui ne sert que du HTTPS sur 443, ou qui filtre le 80, affichera 100 % de perte en étant parfaitement sain. Vérifiez avec un DNS lookup que vous testez bien l'adresse que le navigateur atteint avant de conclure à une panne.
Pourquoi ne peut-on pas changer le port, le nombre de sondes ou la taille des paquets ?+
Ces options ne sont exposées sur aucune plateforme. Le moteur TCP est figé sur le port 80 ; le compteur est fixé à dix sondes sur ordinateur et vingt sur iPhone et iPad ; il n'y a ni réglage de TTL, ni d'intervalle, ni de taille de paquet, et aucun mode IPv6 spécifique. Le chemin ICMP du DMG exécute `ping -c 10` tel quel. Si vous avez besoin d'options arbitraires sur Mac, le Terminal est toujours là — le Ping de SSHive vise une réponse de joignabilité rapide et honnête, pas la réplication complète de la CLI.
Pourquoi les latences de SSHive sont-elles plus hautes que celles du ping du Terminal ?+
Parce que sur le moteur TCP vous ne mesurez pas la même chose. Un echo ICMP est traité presque immédiatement par la pile réseau de la cible. Une sonde TCP doit achever une poignée de main en trois temps, et la file d'attente du service visé, l'ordonnanceur du système et le moindre équipement intermédiaire s'y ajoutent. Attendez-vous à des valeurs TCP supérieures à l'aller-retour ICMP équivalent pour le même hôte. Comparez un hôte à lui-même dans le temps, pas un moteur à l'autre.
À partir de quel taux la perte de paquets devient-elle un problème ?+
La forme compte plus que le pourcentage. Des pertes isolées en Wi-Fi ou en cellulaire sont banales, TCP les retransmet sans que vous le voyiez. Plusieurs pertes consécutives évoquent une coupure de lien, un reroutage ou un changement de borne, et bloqueront visiblement une session interactive. Une perte soutenue sur un lien filaire mérite une investigation. Et une perte constatée uniquement sur la cible du ping, alors que le débit reste normal ailleurs, traduit le plus souvent une limitation de débit ICMP sur cet hôte, pas une vraie panne réseau.
L'outil Ping est-il gratuit ou réservé à Pro ?+
Gratuit, sur toutes les plateformes. Aucun des six outils réseau de SSHive — ping, traceroute, DNS lookup, whois, MX lookup et vérification DNSBL — n'est soumis à une vérification de licence sur Mac, Windows, iPhone ou iPad. SSHive Pro est un achat unique distinct (environ 9,99 USD, Universal sur Mac, iPhone et iPad, sans abonnement ni compte) qui débloque les sessions SSH, RDP et VNC, les profils, les tunnels et les fonctions associées. Les diagnostics tournent dans la version gratuite, sans publicité.

Pourquoi ICMP est un privilège, et ce que SSHive fait à la place

Le ping n'est pas une chose unique. L'outil classique envoie une requête ICMP Echo (type 8) et attend une réponse Echo (type 0), les apparie par identifiant et numéro de séquence, puis soustrait les horodatages. ICMP n'a ni ports ni sockets ordinaires ; pour en émettre un, il faut soit un socket brut, soit, sur Darwin, un socket ICMP datagramme (SOCK_DGRAM avec IPPROTO_ICMP). Historiquement, cela voulait dire root. Sur macOS moderne, le bit setuid a disparu de /sbin/ping : Darwin autorise n'importe quel processus à ouvrir un socket ICMP datagramme non privilégié (SOCK_DGRAM avec IPPROTO_ICMP), et c'est ce qu'utilise le binaire système. /usr/sbin/traceroute, lui, reste installé setuid root. C'est précisément le privilège que le bac à sable d'Apple n'accorde pas. Une application Mac App Store sandboxée obtient com.apple.security.network.client, qui autorise les connexions TCP et UDP sortantes. Elle n'autorise ni socket ICMP brut ni socket datagramme, et ne permet pas de lancer un binaire setuid. iOS est encore plus strict : Network.framework, seule couche réseau autorisée aux applications de l'App Store, expose TCP, UDP, QUIC et TLS. Il n'y a aucun transport ICMP dans l'API. Une application iOS qui annonce un « ping » embarque donc soit le vieil exemple SimplePing d'Apple sur des sockets BSD bruts, soit fait ce que fait SSHive. SSHive sépare nettement l'implémentation selon la version. Le DMG macOS en téléchargement direct n'est pas sandboxé : il lance le binaire système ping avec un tableau d'arguments fixe — ping, -c, 10, nom d'hôte — via un spawn de processus sans interprétation par le shell, et redirige stdout et stderr vers l'interface par IPC. Vous obtenez du vrai ICMP parce que le binaire du système détient déjà le privilège, et le passage des arguments sous forme de tableau plutôt que de chaîne de commande rend toute injection shell via le nom d'hôte impossible. Une réserve à connaître : le binaire est appelé par son nom, il doit donc figurer dans le PATH. Partout ailleurs, SSHive mesure une joignabilité TCP. Sur Windows et sur la version Mac App Store, il ouvre un socket Node vers le port 80, dix sondes, une par seconde, avec un délai d'attente de trois secondes, et retient comme aller-retour l'écart d'horloge entre la demande de connexion et le moment où le socket devient exploitable. Sur iPhone et iPad, la même idée tourne sur Network.framework : une NWConnection TCP vers le port 80, le chronomètre arrêté dès que la connexion atteint son état prêt, une tâche d'annulation déclenchée à trois secondes, et des résultats émis un par un dans un AsyncStream pour que le graphique et les cartes se remplissent en direct. iOS effectue vingt sondes plutôt que dix, ce qui donne au graphique assez de points pour faire apparaître une tendance. Les compromis sont réels et méritent d'être énoncés clairement plutôt que dissimulés. Le port est figé à 80 sur tous les chemins TCP ; vous ne pouvez pas le choisir. La latence inclut le coût de la poignée de main TCP, donc les valeurs dépassent un véritable aller-retour ICMP vers le même hôte. Un hôte qui répond en ICMP mais filtre le port 80 s'affichera à 100 % de perte. Aucune option de TTL, de taille de paquet, d'intervalle ou de nombre de sondes n'existe sur aucune plateforme, et aucun mode IPv6 spécifique n'est exposé. Sur iPhone et iPad, l'adresse affichée à côté de chaque sonde est la chaîne que vous avez saisie, pas l'IP résolue. En échange, vous disposez d'un signal de joignabilité et de latence cohérent et honnête sur chacun de vos appareils Apple — y compris les deux où le système d'exploitation n'autorisera jamais mieux.