Re: interessante Ping Zeiten

From: Oliver Fromme <olli(at)secnetix.de>
Date: Fri, 16 May 2003 19:28:25 +0200 (CEST)

Marian Hettwer <Marian.Hettwer(at)cyclades.de> wrote:
>
> Hallo Jungs,

Hallo Marian,

> ich habe hier ein paar sehr interessante ping zeiten:
> (13:13:42 <~>) 0 $ ping www.heise.de
> PING www.heise.de (193.99.144.71): 56 data bytes
> 64 bytes from 193.99.144.71: icmp_seq=0 ttl=246 time=1052910826078.839 ms
> 64 bytes from 193.99.144.71: icmp_seq=1 ttl=246 time=1052910827081.878 ms
> 64 bytes from 193.99.144.71: icmp_seq=2 ttl=246 time=1052910828081.609 ms
> 64 bytes from 193.99.144.71: icmp_seq=3 ttl=246 time=1052910829081.448 ms
> 64 bytes from 193.99.144.71: icmp_seq=4 ttl=246 time=1052910830081.414 ms
> 64 bytes from 193.99.144.71: icmp_seq=5 ttl=246 time=1052910831081.141 ms
> 64 bytes from 193.99.144.71: icmp_seq=6 ttl=246 time=1052910832081.108 ms
> 64 bytes from 193.99.144.71: icmp_seq=7 ttl=246 time=1052910833080.964 ms
> 64 bytes from 193.99.144.71: icmp_seq=8 ttl=246 time=1052910834080.750 ms
> 64 bytes from 193.99.144.71: icmp_seq=9 ttl=246 time=1052910835080.643 ms

Ziemlich klare Sache: Deine Eumex scheint einen Bug zu ha-
ben, der dazu führt, daß sie unter bestimmten Umständen ei-
nige Bytes in Ping-Paketen mit einem konstanten Wert über-
schreibt.

Ping funktioniert so: Es werden Pakete erzeugt, in die die
folgenden drei Daten reingeschrieben werden:

 - Die Prozeß-ID. Dadurch kann man auf dem gleichen Rech-
   ner mehrere Pings gleichzeitig laufen haben, ohne daß
   die mit ihren Paketen durcheinander kommen. ICP-Pakete
   sind ja Connection-less, daher kann der Kernel sie nicht
   selbst einem Prozeß zuordnen, d.h. alle Prozesse bekom-
   men alle ICMP-Pakete ab.

 - Eine fortlaufende Nummer, um festzustellen, wenn ein
   Paket verlorengeht oder in der falschen Reihenfolge
   ankommt.

 - Ein Zeitstempel, um die Rundlaufzeit zu messen.

Ein Rechner, der auf ein Ping-Paket antwortet, schickt es
einfach mit dem Original-Inhalt wieder zurück (nur der Typ-
Code wird von »Request« (8) auf »Reply« (0) geändert).

Wenn das Ping also die Antwort bekommt, braucht es nur noch
die Differenz zwischen der aktuellen Zeit und dem Zeitstem-
pel im Antwortpaket zu ermitteln -- das ist dann die Rund-
laufzeit, die ausgegeben wird.

Wenn man sich die obigen Werte bei Dir anschaut, kann man
feststellen, daß sie bei jedem Paket um etwa eine Sekunde
voranschreiten. Das deutet darauf hin, daß in den Antwort-
paketen jedesmal der gleiche konstante Wert drinstand, näm-
lich einer, der einem Zeitpunkt ca. 33 Jahre in der Vergan-
genheit entspricht, wenn man es tatsächlich als Zeitstempel
interpretiert.

Es wäre natürlich möglich, daß die TCP/IP-Implementation
von www.heise.de fehlerhaft ist (konntest Du das Problem
auch mit anderen Zielen reproduzieren?), aber das ist doch
recht unwahrscheinlich. Daher ist es wohl ein Bug in der
Eumex, die da die Daten überschreibt -- entweder in den
hereinkommenten Replies, oder bereits in den herausgehenden
Requests. Um das mit Sicherheit zu ermitteln, müßte man
vor und hinter dem Gerät einen Paket-Sniffer mitlaufen las-
sen.

Bleibt nur zu hoffen, daß sich der Bug tatsächlich nur auf
ICMP-ECHO-Pakete beschränkt ...

> Ich vermute einfach dreist das es nicht an meinem FreeBSD liegt...

Richtig vermutet. :-)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"People who claim Windows is superior to Unix are the same people who'd
argue that you better use your hand instead of toilet paper to wipe your
ass. I can hear them now - 'It's colourful and it's intuitive and easy
to use and even a child could do it.'" -- (unknown)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 16 May 2003 - 19:28:29 CEST

search this site