So überwachen Sie die Internetverbindung auf Unterbrechungen - für Mac OS X

16

Ich habe einen neuen Internetdienstanbieter abonniert und habe Probleme mit diesem neuen Internetdienstanbieter. Die Probleme sind mehrere Mikrounterbrechungen in der Internetverbindung, Verzögerungen, die wahrscheinlich mit Zeitüberschreitungen auf ihren Proxys oder in meiner Verbindung zu ihrem Netzwerk zusammenhängen.

Da diese Mikrounterbrechungen zufällig auftreten, kann ich nicht beweisen, dass jedes Mal, wenn sie einen Techniker in mein Büro schicken, das Problem nicht erkennbar ist, insbesondere, weil der Dienst möglicherweise 3, 4 Stunden lang stabil ist und das Problem dann erneut angezeigt wird.

Es ist aus zwei Gründen sehr ärgerlich. Ich lade etwas herunter und dann stoppt der Download plötzlich und ich muss neu starten. Ein weiterer Grund ist, dass ich eine VoIP-Box verwende, die über Ethernet mit meinem Telefon verbunden ist, und diese VoIP-Box jedes Mal die Verbindung verliert und mein VoIP-Telefon keine Anrufe mehr entgegennimmt / tätigt. Dies zwingt mich, die Box jedes Mal neu zu starten, wenn ich sie erkenne, und stundenlang bei ihr zu bleiben das Telefon runter, ohne es zu merken.

Meine Frage lautet: Wie kann ich den Internetdienst für einen bestimmten Zeitraum überwachen und mir mitteilen, wenn der Dienst nicht verfügbar ist, eine Grafik oder ähnliches zeichnen? Gibt es ein Tool oder eine Möglichkeit zum Überwachen der Qualität des Netzwerks oder der Verbindung, die auf einem Mac ausgeführt werden kann?

Meine Idee ist es, ihnen etwas zu zeigen und zu beweisen, dass ich Recht habe.

Weltraumhund
quelle
Die Q wirklich Thema sein kann, paßt es den „gute Frage“ -Vorlage (von Wie stelle ich eine Frage, empfehle Software erfordern? ) „Ich habe <Problem x - Netzwerkunterbrechungen > , dass ich weiß nicht , wie man Ich habe bereits versucht, X, Y, Z (VoIP neu zu starten, wenn ich es erkenne) , aber diese Programme funktionieren nicht, weil dies oder das. Wie mache ich das? " Ist das einzige Problem, das im Grunde nach einem "Tool zur Überwachung der Internetverbindung" fragt, anstatt zu sagen: "Wie wird die Internetverbindung auf Unterbrechungen überwacht?"
Xen2050

Antworten:

5
Applications->Utilities->Console.app

Schauen Sie sich dort zunächst die Protokolle an.

Sie könnten auch in NTOP oder Little Snitch suchen .

CaseyIT
quelle
1
ntop.org <korrekter Link zu ntop (glaube ich)
Frank Lämmer
Suchen Sie nach en0oder en1sobald Sie console.app (Ihre Netzwerkschnittstellennamen) öffnen, um Netzwerkinformationen anzuzeigen.
Justin
7

Wenn Sie folgendes verwenden:

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

Es läuft ununterbrochen, bis es gestoppt wird und pingt alle 10 Sekunden an 10.20.30.40(Änderung für Ihre Adresse)

Dies --apple-timebedeutet, dass die Zeit jedes Pings protokolliert wird, sodass Sie Fehler sehen können. Wie so:

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
quelle
2

Wie wäre es mit pingLaufen im Terminal? Suchen Sie einfach einen Server, der eingeschaltet ist und auf Pings reagiert. Obwohl es nicht die genauen Zeiten anzeigt, gibt es Ihnen einen Beweis dafür, dass etwas nicht stimmt.

Bearbeitet, um hinzuzufügen: Ich habe es selbst vor einer Weile für eine ähnliche verwendet. Während sie behaupteten, dass mein (veralteter, um ehrlich zu sein) drahtloser Zugangspunkt ein Fehler sein könnte, da sie nichts gefunden haben, half "Ich habe mindestens einmal pro Stunde Ping-Zeitüberschreitungen" dabei, den Techniker dazu zu bringen, Dinge zu überprüfen.

Daniel Beck
quelle
2

Klingeln

Um die Internetverbindung zu überwachen, können Sie einfach den pingBefehl verwenden. Es sendet nur ICMP ECHO_REQUEST und erwartet die Antwort.

Wenn die IP-Adresse Ihres Routers nicht reagiert, können Sie dies Ihrem ISP als Internetunterbrechung melden.

Wenn Ihr Router über eine Firewall verfügt, verwenden Sie arpingstattdessen oder wählen Sie einfach einen anderen Remote-Host aus, z

$ 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

Um Ihre physische Verbindung zum Router zu überwachen, können Sie arpingz

$ sudo arping 192.168.0.1

Dies ist besonders nützlich, wenn Ihr WLAN ständig ausfällt und Ihr Router nicht auf Standard-ICMP-Pakete reagiert. Installieren Sie über Brew ( brew install arping).

Tcpdump

Es gibt tcpdumpwelche, die Datenverkehr in einem Netzwerk speichern können. Um beispielsweise alle ausgehenden Pakete in port 80and zu 443speichern, könnte die Syntax wie folgt lauten:

sudo tcpdump -i en0 port http or port https

Um in die Datei zu schreiben, fügen -w fileSie sie hinzu und lesen Sie sie über -r file. Dies beinhaltet genaue Zeitstempel aller empfangenen oder gesendeten Netzwerkpakete.

Um zu überprüfen, ob das Internet unterbrochen ist, suchen Sie nach SYN-Paketen (im Abschnitt Flags), die Ihr Computer sendet, und für jedes Paket sollte der Server mit einem SYN-ACK antworten. Wenn dies nicht geschieht und kein Datenverkehr zurückgeht (nur SYN-Pakete, dann gibt es keine Internetverbindung).

Kenorb
quelle
Gibt es eine einfache Möglichkeit (wie ein Skript), die die Ausgabe von tcpdump automatisch nach SYN-Paketen durchsucht, die keine entsprechende SYN-ACK-Antwort haben?
Xen2050
@ Xen2050 ich denke ich würde den dump oder die ausgabe durch suchen von Sflag wie: sudo tcpdump -i en0 -nl | grep -C5 "Flags .S"von dort aus, wenn du im kontext ackst (extra | grep ack), dann heißt das etwas geantwortet. Du brauchst also etwas Gegenteiliges. Ich denke, Sie finden einige awk/ sedSyntax, die 5 SYN-Pakete in einer Reihe finden können, dann kann es warnen, dass etwas nicht stimmt (es sei denn, Sie kontaktieren einen toten Host).
Kenorb
Zur Live-Überwachung piept ping -A www.yahoo.com , wenn die Verbindung unterbrochen wird. Während Sie eine IP-Adresse verwenden können, werden durch die Verwendung einer von Menschen lesbaren Adresse auch DNS-Fehler getestet.
Brianfit
1

Diese App protokolliert Ihren Verbindungsstatus und behauptet sogar, dass sie intern von Apple verwendet wird.

Protokollieren Sie Netzwerkausfälle, Diagrammgeschwindigkeiten im Zeitverlauf und mehr. Network Logger Pro kann auch zum Überwachen von Websites und zum Erstellen von Verlaufsdiagrammen ihrer Geschwindigkeiten, Ausfälle und Antwortzeiten verwendet werden.

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

Es ist allerdings 10 $: /

Justin
quelle
1

Das war neben dem geringen Durchsatz eines der Symptome, die ich hatte . Es stellte sich heraus, dass es sich um das Kabelmodem handelte. Die gute Nachricht ist, dass Sie möglicherweise niemanden davon überzeugen müssen , ein neues Kabelmodem zu erwerben. Es stellte sich heraus, dass mein ISP die Richtlinie hat, dass Sie Ihr Kabelmodem nach Belieben gegen ein neues austauschen können. Überprüfen Sie, ob dies bei Ihnen der Fall ist.

Jamie Cox
quelle
Interessant, aber du bist auf den Punkt gekommen. Ja, meine Verbindung ist leider per Kabelmodem, aber es ist brandneu (es wurde von ihnen vor einem Monat installiert). Ich vermute, das Problem ist das Kabelnetz. Ich mochte Kabel-Internet nie (ich war gezwungen, sie zu nutzen, weil es in meiner Region kein anderes Breitbandunternehmen gibt, das Dienste anbietet).
SpaceDog
1

Für meinen eigenen Gebrauch habe ich ein einfaches Bash-Skript geschrieben, um dies zu überprüfen. Es wird verwendet ping, um Timeouts zu überwachen, genau wie es die meisten Antworten vorschlagen. Der Vorteil des Skripts besteht darin, dass in der Ausgabe auf Ihrem Bildschirm nur die Pings angezeigt werden, die abgelaufen sind, anstatt auch erfolgreiche Pings einzuschließen. Außerdem können Sie anstelle der Anzahl der Ping-Versuche einen Parameter für die Dauer der Überwachung übergeben. Kurz gesagt, es ist nur ein Wrapper für Folgendes: ping google.com -i 1 -c 60 | grep "timeout\|statistics\|transmitted\|avg" Der Quellcode und einfache Installationsanweisungen finden Sie unter dem folgenden Link:

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

Ich habe das Skript unter MacOS und Ubuntu Linux getestet.

#!/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
quelle
Willkommen bei Super User! Ihr Skript ist kurz genug, um in Ihren Beitrag aufgenommen zu werden. Sie sollten Ihre Antwort bearbeiten , um sie
einzuschließen
Vielen Dank für den Vorschlag
Superman.Lopez