ping liefert fälschlicherweise 0% packet loss
ping liefert fälschlicherweise 0% packet loss
Hallo,
ich schreibe ein Programm was eine Verbindungsunterbrechung identifizieren soll.
wenn ich zB ein Ping an google.com schicke per "ping www.google.de -c 1" dann hab ich 0% packet loss wenn ich meinem Router die Verbindung zum Provider trenne. Scheinbar wird wenn der Router kein Internet hat jede Internetadresse als die IP vom Router interpretiert und so kann ich gar keine Verbindungsunterbrechung abfangen!
Meine Frage wäre jetzt gibt es ein anderen Ping-Befehl der nicht "0% packet loss" liefert wenn der Router offline ist?
Grüße
ich schreibe ein Programm was eine Verbindungsunterbrechung identifizieren soll.
wenn ich zB ein Ping an google.com schicke per "ping www.google.de -c 1" dann hab ich 0% packet loss wenn ich meinem Router die Verbindung zum Provider trenne. Scheinbar wird wenn der Router kein Internet hat jede Internetadresse als die IP vom Router interpretiert und so kann ich gar keine Verbindungsunterbrechung abfangen!
Meine Frage wäre jetzt gibt es ein anderen Ping-Befehl der nicht "0% packet loss" liefert wenn der Router offline ist?
Grüße
Re: ping liefert fälschlicherweise 0% packet loss
Versuch mal mit:debianx hat geschrieben:04.07.2018 22:48:40Meine Frage wäre jetzt gibt es ein anderen Ping-Befehl der nicht "0% packet loss" liefert wenn der Router offline ist?
Code: Alles auswählen
nping -c 1 --icmp google.de
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: ping liefert fälschlicherweise 0% packet loss
Alternativ könntest du einfach die IP statt des Hostnamens angeben.
Re: ping liefert fälschlicherweise 0% packet loss
Ob da die Namensauflösung stimmt? Oder mehrere WAN-Anschlüsse im Netz? Oder DNS-Blocker (pihole) auf 127.0.0.1?debianx hat geschrieben:04.07.2018 22:48:40wenn ich zB ein Ping an google.com schicke per "ping www.google.de -c 1" dann hab ich 0% packet loss wenn ich meinem Router die Verbindung zum Provider trenne.
Code: Alles auswählen
ping www.google.de
PING www.google.de (172.217.23.163) 56(84) bytes of data.
64 bytes from fra15s22-in-f163.1e100.net (172.217.23.163): icmp_seq=1 ttl=53 time=17.2 ms
64 bytes from fra15s22-in-f163.1e100.net (172.217.23.163): icmp_seq=2 ttl=53 time=17.0 ms
...
From 10.65.20.1 (10.65.20.1) icmp_seq=20 Destination Host Unreachable
From 10.65.20.1 (10.65.20.1) icmp_seq=21 Destination Host Unreachable
^C
--- www.google.de ping statistics ---
21 packets transmitted, 14 received, +7 errors, 33% packet loss, time 20118ms
rtt min/avg/max/mdev = 17.039/18.083/20.518/1.002 ms
Namensauflösung testen, z. B. mit dem Kommando dig.
https://www.thegeekstuff.com/2012/02/di ... -examples/
Re: ping liefert fälschlicherweise 0% packet loss
Wie hast du die Verbindung getrennt?debianx hat geschrieben:04.07.2018 22:48:40wenn ich meinem Router die Verbindung zum Provider trenne.
Nein, das passiert ganz bestimmt nicht.Scheinbar wird wenn der Router kein Internet hat jede Internetadresse als die IP vom Router interpretiert
Du hast vermutlich einen Router mit VoIP-Telefonie, der bei Trennung die Verbindung sofort selbst wieder aufbaut.
Re: ping liefert fälschlicherweise 0% packet loss
Evtl. kannst Du auch den Rückgabewert (0 oder nicht 0) von ping in deinem Programm benutzen. Z. B.:debianx hat geschrieben:04.07.2018 22:48:40ich schreibe ein Programm was eine Verbindungsunterbrechung identifizieren soll.
wenn ich zB ein Ping an ...
Code: Alles auswählen
~ $ ping -c 1 -W 3 google.com > /dev/null 2>&1; echo $?
0
Code: Alles auswählen
:~ $ ping -c 1 -W 3 googless.com > /dev/null 2>&1; echo $?
1
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: ping liefert fälschlicherweise 0% packet loss
Die Plastikdinger die man z.B. von der Telekom oder Vodafone bekommt machen genau das - ohne aktive WAN-Verbindung werden alle DNS-queries auf die IP des Plastikspielzeugs aufgelöst und teilweise sogar alles darauf umgeleitet, damit immer dessen Portal/Wizard angezeigt wird. Selbst ein ping direkt an eine externe IP wird dabei von der Kiste beantwortet; ebenso wie ein (ungesicherter/nicht validierter) DNS-Request der eigentlich an einen externen NS gerichtet war.MSfree hat geschrieben:05.07.2018 08:40:36Nein, das passiert ganz bestimmt nicht.Scheinbar wird wenn der Router kein Internet hat jede Internetadresse als die IP vom Router interpretiert
Du hast vermutlich einen Router mit VoIP-Telefonie, der bei Trennung die Verbindung sofort selbst wieder aufbaut.
Mit viel Terror bei der Technikhotline kann man manche Geräte in passthrough-modus versetzen lassen und ein brauchbares Gateway dahinterschalten. Ansonsten ist die einzige Lösung: Entsorgen und Hardware (+ software) verwenden die sich Logisch und Standardkonform verhält (und nebenbei auch nicht fernsteuerbar ist und massives spoofing mit sämtlichen Diensten betreibt...).
Ein Workaround um zumindest festzustellen ob der Plastikrouter wieder den Traffic abfängt wäre z.B. prüfen von DNSSEC für eine Zone die gesichert ist. Sehr simpele Variante z.B.:
Code: Alles auswählen
dig +short cloudflare.com DNSKEY | wc -l
[code]
wird "0" zurückgegeben werden definitiv keine authorative NS erreicht und der Router spooft die Antwort.
Das löst aber noch lange nicht das Problem, dass a) viele Dienste nicht sauber beenden und Verbindungen neu aufbauen können und b) das Spielzeug effektiv sämtlichen Traffic abfängt und theoretisch alles mögliche damit anstellen kann - wie sicher die Firmware auf diesen Kisten ist dürfte allgemein bekannt sein :roll:
Re: ping liefert fälschlicherweise 0% packet loss
Vielen Dank,
ja genau so ist es, wenn ich dem Router die Verbindung zum Provider raus ziehe dann wird jede Internetadresse zur IP des Routers gemacht scheinbar für die blöde Troubleshooting/Portal/Wizard Seite damit man das im Browser angezeigt bekommt. Hab jetzt einiges ausprobiert und am einfachsten war jetzt die echte IP statt dem Namen abzufragen denn dann gibt es auch ein ordentliches 100% packet loss
ja genau so ist es, wenn ich dem Router die Verbindung zum Provider raus ziehe dann wird jede Internetadresse zur IP des Routers gemacht scheinbar für die blöde Troubleshooting/Portal/Wizard Seite damit man das im Browser angezeigt bekommt. Hab jetzt einiges ausprobiert und am einfachsten war jetzt die echte IP statt dem Namen abzufragen denn dann gibt es auch ein ordentliches 100% packet loss
