Comment surveiller la connexion Internet pour les interruptions - pour Mac OS X

16

Je suis abonné à un nouveau FAI et je rencontre des problèmes avec ce nouveau FAI. Les problèmes sont plusieurs micro-interruptions sur la connexion Internet, sorte de retards, qui sont probablement liés à des délais d'attente sur leurs proxys ou à ma connexion à leur réseau.

Comme ces micro interruptions se produisent au hasard, je ne peux pas prouver que, car chaque fois qu'ils envoient un technicien dans mon bureau, le problème n'est pas détectable, en particulier parce que le service peut être stable pendant 3, 4 heures, puis recommencer à le montrer.

C'est très ennuyeux pour deux raisons. Je télécharge quelque chose, puis le téléchargement s'arrête soudainement et je dois recommencer. Une autre raison est que j'utilise une boîte VoIP connectée à mon téléphone via Ethernet et cette boîte VoIP perd la connexion à chaque fois, et mon téléphone VoIP cesse de recevoir / passer des appels, m'obligeant à redémarrer la boîte chaque fois que je la détecte et à rester des heures avec le téléphone vers le bas, sans s'en rendre compte.

Ma question est: comment puis-je surveiller le service Internet pendant une période, me dire quand le service est en panne, tracer un graphique ou quelque chose comme ça? Un outil ou un moyen de surveiller la qualité du réseau ou de la connexion qui peut fonctionner sur un Mac?

Mon idée est d'avoir quelque chose à leur montrer et à prouver que j'ai raison.

SpaceDog
la source
Ce Q peut vraiment être sur le sujet, il correspond au modèle de «bonne question» (de Comment puis-je poser une question qui peut nécessiter de recommander un logiciel? ) «J'ai <problem-x - interruptions réseau > que je ne sais pas comment résoudre. J'ai déjà essayé X, Y, Z (redémarrer la VoIP lorsque je le détecte) , mais ces programmes ne fonctionnent pas parce que ceci ou cela. Comment dois-je faire? " Le seul problème est-il essentiellement de demander un "outil pour surveiller la connexion Internet" au lieu de dire "Comment surveiller la connexion Internet pour les interruptions?
Xen2050

Réponses:

5
Applications->Utilities->Console.app

Jetez un coup d'œil dans les journaux là-bas pour commencer.

Vous pouvez également examiner ntop ou Little Snitch .

CaseyIT
la source
1
ntop.org <lien correct vers ntop (je pense)
Frank Lämmer
Recherchez en0ou en1une fois que vous ouvrez console.app (vos noms d'interface réseau) pour afficher les informations réseau.
Justin
7

Si vous utilisez ce qui suit:

ping -A -i 10 --apple-time 10.20.30.40 > monitor.txt

Il fonctionnera en continu jusqu'à ce qu'il s'arrête et envoie une requête ping toutes les 10 secondes pour 10.20.30.40(changer votre adresse)

Les --apple-timemoyens qu'il se connecteront le temps de chaque ping afin que vous puissiez voir les échecs. Ainsi:

11:33:10.793801 64 bytes from 10.20.30.40: icmp_seq=0 ttl=58 time=27.744 ms
11:33:11.780250 64 bytes from 10.20.30.40: icmp_seq=1 ttl=58 time=9.757 ms
11:33:12.781136 64 bytes from 10.20.30.40: icmp_seq=2 ttl=58 time=10.150 ms
11:33:13.782932 64 bytes from 10.20.30.40: icmp_seq=3 ttl=58 time=11.779 ms
11:33:14.785446 64 bytes from 10.20.30.40: icmp_seq=4 ttl=58 time=11.254 ms
Tony Lambert
la source
2

Que diriez-vous de pingcourir dans Terminal? Trouvez simplement un serveur qui est allumé et répond aux pings. Bien qu'il ne montre pas les heures exactes, il vous donne une sorte de preuve que quelque chose ne va pas.

Modifié pour ajouter: je l'ai utilisé moi-même il y a quelque temps pour un produit similaire. Bien qu'ils soutiennent que mon point d'accès sans fil (vieillissant, pour être honnête) pourrait être en cause, car ils n'ont rien trouvé, "J'ai des délais d'attente de ping au moins une fois par heure" a aidé l'ingénieur à vérifier les choses.

Daniel Beck
la source
2

Ping

Pour surveiller la connexion Internet, vous pouvez simplement utiliser la pingcommande. Il envoie simplement ICMP ECHO_REQUEST et attend la réponse.

Envoyez un ping à l'adresse IP de votre routeur, lorsqu'il ne répond pas, vous pouvez signaler à votre FAI une interruption Internet.

Si votre routeur est doté d'un pare-feu, utilisez-le à la arpingplace ou choisissez simplement un autre hôte distant, par exemple

$ ping 4.2.2.1
PING 4.2.2.1 (4.2.2.1): 56 data bytes
64 bytes from 4.2.2.1: icmp_seq=0 ttl=57 time=37.710 ms
64 bytes from 4.2.2.1: icmp_seq=1 ttl=57 time=32.051 ms

Arping

Pour surveiller votre connexion physique au routeur, vous pouvez utiliser arping, par exemple

$ sudo arping 192.168.0.1

Ceci est particulièrement utile lorsque votre WiFi continue de chuter et que votre routeur ne répond pas aux paquets ICMP standard. Installez via Brew ( brew install arping).

Tcpdump

Il y en a tcpdumpqui peut vider le trafic sur un réseau. Par exemple, pour vider tous les paquets sortants dans le port 80et 443, la syntaxe pourrait être:

sudo tcpdump -i en0 port http or port https

Pour écrire dans le fichier, ajoutez -w file, puis lisez-le via -r file. Cela comprendra les horodatages exacts de chaque paquet réseau reçu ou envoyé.

Pour vérifier si Internet est interrompu, recherchez les paquets SYN (dans la section Drapeaux) que votre ordinateur envoie, et pour chacun, le serveur doit répondre avec un SYN-ACK. Si cela ne se produit pas et qu'il n'y a plus de trafic (seulement des paquets SYN, il n'y a pas de connexion Internet).

Kenorb
la source
Existe-t-il un moyen simple (comme un script) qui recherche automatiquement la sortie tcpdump à la recherche de paquets SYN qui n'ont pas de réponse SYN-ACK correspondante?
Xen2050
@ Xen2050 Je pense que je saluerais le vidage ou la sortie en recherchant un Sindicateur comme :, à sudo tcpdump -i en0 -nl | grep -C5 "Flags .S"partir de là, si vous avez un accusé de réception dans le contexte (en sus | grep ack), cela signifie que quelque chose a répondu. Vous avez donc besoin de quelque chose d'en face. Je pense que vous trouvez une syntaxe awk/ sedqui peut trouver 5 paquets SYN d'affilée, puis cela peut alerter que quelque chose ne va pas (sauf si vous contactez un hôte mort).
kenorb
Pour la surveillance en direct, ping -A www.yahoo.com émet un bip lorsque la connexion est interrompue. Bien que vous puissiez utiliser une adresse IP, l'utilisation d'une adresse lisible par l'homme testera également les échecs DNS.
brianfit
1

Cette application enregistre l'état de votre connexion et prétend même qu'elle est utilisée en interne par Apple.

Enregistrez les pannes de votre réseau, les vitesses des graphiques au fil du temps, etc. Network Logger Pro peut également être utilisé pour surveiller des sites Web et produire des graphiques historiques de leurs vitesses, pannes et temps de réponse.

https://itunes.apple.com/us/app/network-logger-pro/id764324406?mt=12

C'est 10 $ cependant: /

Justin
la source
1

C'était l'un des symptômes que j'avais , en plus d'un faible débit. Il s'est avéré que c'était le modem câble. La bonne nouvelle, c'est que vous n'aurez peut-être pas à convaincre qui que ce soit d'obtenir un nouveau modem câble. Mon FAI s'est avéré avoir la politique que vous pouviez simplement échanger votre modem câble pour un nouveau à peu près à volonté. Vérifiez et voyez si le vôtre le fera.

Jamie Cox
la source
Intéressant, mais vous êtes arrivé au point. Oui, ma connexion se fait malheureusement par modem câble, mais c'est une toute nouvelle (elle a été installée par eux il y a un mois). Je soupçonne que le problème est leur réseau câblé. Je n'ai jamais aimé l'internet par câble (j'ai été obligé de les utiliser, car il n'y a pas d'autre société à large bande offrant des services dans ma région).
SpaceDog
1

Pour mon usage personnel, j'ai écrit un simple script Bash pour vérifier cela. Il pingpermet de surveiller les délais d'attente, exactement comme la plupart des réponses le suggèrent. L'avantage du script est que la sortie sur votre écran affiche uniquement les pings qui ont expiré, plutôt que d'inclure également les pings réussis. De plus, vous pouvez transmettre un paramètre pour la durée de la surveillance, plutôt que pour le nombre de tentatives de ping. En bref, c'est juste un wrapper pour les éléments suivants: ping google.com -i 1 -c 60 | grep "timeout\|statistics\|transmitted\|avg" Sa source et des instructions d'installation simples sont disponibles sur le lien ci-dessous:

https://github.com/superman-lopez/monitor-timeouts

J'ai testé le script sur macOS et Ubuntu Linux.

#!/bin/bash
#Usage: ./monitor-timeouts.sh [duration] [target]
#example: ./monitor-timeouts.sh 60 192.168.1.1
minutes=$1
target=$2
if [ $# -eq 0 ]; then
    minutes=1
    target=google.com
fi
if [ -z "$2" ]; then
    target=google.com
fi
pings=$((60 * $minutes))

system=`uname`
if [[ $system == *"Linux"* ]]; then
    extraflag="-O"
fi

echo "Start monitor for network timeouts at `date` for $minutes minute(s)."
echo "Target host: $target"
ping $target -i 1 -c $pings $extraflag | grep -i "timeout\|unreachable\|no answer\|statistics\|transmitted\|avg"
echo "End monitoring at `date`."
Superman.Lopez
la source
Bienvenue sur Super User! Votre script est suffisamment court pour être inclus dans votre message; vous devez modifier votre réponse pour l'inclure
bertieb
Merci pour la suggestion
Superman.Lopez