| Warum noch eine PING Anwendung? | Testlauf |
| Features | Zweiter Testlauf |
| Benutzung | Lernen mit hrPING... |
| Optionen | Systemanforderungen |
Warum noch ein PING Programm?
Es gibt bereits viele PING Programme, von denen eines sogar bei Windows mitgeliefert wird, namens PING. Es gibt aber eine ganze Reihe von Möglichkeiten, die das Windows PING nicht ausschöpft oder ungenau umsetzt. Hier kommt hrPING ins Spiel.
Welche features bietet hrPING?
Wie jeder PING sendet hrPING "ICMP Echo Request" Pakete zu einem entfernten Rechner und hört auf passende "Echo response" Pakete.
Ein erster Unterschied liegt in der Zeitauflösung. hrPING misst die Verzögerung in Microsekunden. Dies wird erreicht, in dem man den "Time Stamp Counter" der CPU benutzt. Der "Time Stamp Counter" zählt die Prozessortakte. Eine höhere Genauigkeit ist mit gängigen Rechnern heutzutage nicht möglich.!
Einen Punkt, den das Windows PING nicht bietet, ist das gleichzeitige Versenden von mehreren PING Paketen. Windows PING sendet immer nur ein Paket, wartet auf die Antwort und gibt das Ergebnis aus. Danach wiederholt sich der Vorgang.
Im Gegensatz dazu sendet hrPING ein Ping Paket alle x Millisekunden (Dies kann mit dem -s Parameter eingestellt werden.), hört gleichzeitig auf eingehende Pakete und gibt die Ergebnisse der eingehenden Pakete (soweit vorhanden) aus.
Welche Vorteile bringen diese Eigenschaften mit sich? Mit DSL zum Beispiel u.ä., gibt es oft eine Verzögerung von etwa 40 ms, während die Upstream Bandbreite der gesamten Verbindung ca. 16 - 20 kBytes/sec beträgt. Mit einem Standart-PING-Paket von 20+8+64 bytes (IP header + ICMP header + PING Nutzdaten) können also 7 Pakete gesendet werden, bevor die erste Meldung erhalten wird. Wenn man den Verbindungszustand oder den Datendurchsatz usw. testen möchte, ist dieses überlappende Sendeverfahren sehr hilfreich.
Darüber hinaus hat hrPING bessere Statistiken als Windows PING. Ausserdem erhält man zusätzlich auch die "Round Trip" Zeiten für ICMP Fehlermeldungen! Auf diese Weise kann man zum Beispiel die Verzögerungen von "TTL Exceeded" Antworten anzeigen. hrPING zählt die Antworten und Fehlermeldungen unabhängig voneinander. So kommt die globale Statistik nicht durcheinander.
hrPING hält eine ganze Menge weiterer Vorteile für Sie bereit. Probieren Sie hrPING einfach einmal aus und Sie werden einige kleine aber feine Features entdecken.
hrPING - Benutzung:
hrPING [<options>] <host>
<host> kann die IP Adresse oder der Hostname sein. Im letzteren Fall wird der Name zu seiner Adresse beim Start aufgelöst.
Eine ganze Reihe von Optionen:
| -t | Ping zum Host bis dies gestoppt wird. |
Es wird immer weiter gePINGt. Man kann hrPING jederzeit mit STRG-C oder STRG-Pause beenden. Anders als Windows PING wird hrPING die bisher aufgelaufene Statistik auch bei Abbruch ausgeben. STRG-C wartet auf eingehende Antworten, während STRG-Pause sofort zum Abbruch führt.
| -n count | Anzahl der zu sendenden "Echo Requests". |
Setzt die Anzahl der zu sendenden PING Pakete. Standardeinstellung ist 4.
| -l size | Sendepuffer-Grösse (ICMP Nutzdatengrösse). |
Wieviele Bytes an Nutzdaten sollten gesendet werden? Man erinnere sich, dass jedes Paket die folgende Form hat: IP header (20 bytes) + ICMP header (8 bytes) + Nutzdaten. Man kann nur die Nutzdatengrösse bestimmen. Minimum ist 0, Maximum ist 64k-1-20-8 (65507 Bytes). Standardeinstellung ist 64 bytes.
| -L size | Gesamtgrösse des IP Datagrams (ICMP Nutzdatengrösse + 28). |
Genau wie -l (siehe oben), nur dass dies die Gesamtgrösse des IP Datagrams ist.
| -f | Setze "Don't Fragment flag" im ICMP Paket. |
Setzt das "Don't fragment" bit im IP header des PING Pakets. Standardeinstellung ist nicht gesetzt.
| -i TTL | Lebensdauer (Time To Live). |
Setzt den "Time To Live" Wert im IP header des PING Pakets. Standardeinstellung ist 255.
| -v TOS | Servicetyp (Type Of Service). |
Setzt die "Type of Service" Bits im IP header des PING Pakets. Standardeinstellung ist 0.
| -w timeout | Timeout Wartezeit in Millisekunden für jede Antwort. |
Maximale Timeout Wartezeit für eine Antwort. Dies ist nur nützlich, wenn man sich nicht im überlappenden Modus befindet (wie beim Windows PING). Im überlappendem Modus wird diese Zeit nur verwendet wenn hrPING aufgehört hat zu senden (weil der Zähler überschritten oder STRG-C gedrückt wurde) und auf fehlende Antworten gewartet wird. Standardeinstellung ist 2000 Millisekunden.
| -s time | Intervallzeit zwischen Paketen in Millisekunden. |
Das ist die Zahl der Millisekunden zwischen dem Senden zweier Ping Pakete. hrPING wird versuchen, diese Zeit genau einzuhalten. Wenn das Senden eines Pakets etwas länger dauert, wird das Senden des nächsten Pakets etwas vorgezogen. Standardeinstellung ist 500 Millisekunden. (Man kann Dezimalstellen verwenden, um die Zeitauflösung des Intervalls zu erhöhen: -s5.4 sendet z.B. im Mittel alle 5400 Microsekunden ein Paket!)
| -r | Schaltet in den Traceroute Modus. |
hrPING beinhaltet eine "Traceroute" Anwendung! Diese funktioniert im wesentlichen genau wie das Windows TRACERT, mit dem Unterschied, dass pro Host ein Test durchgeführt wird und nicht drei. Per Standardeinstellung werden IP Adressen nicht nach Namen aufgelöst. Mit -a kann dies aber einegschaltet werden.
| -a | Löst im Traceroute Modus Addressen nach Hostnamen auf. |
Eben dieses.
| -o | Überlappendes Senden/Empfangen nicht verwenden. |
Ist diese Option gesetzt, wird genau wie bei Windows PING nur ein Paket gesendet und dann gewartet, bis die Antwort empfangen wurde. Standardeinstellung ist abgeschaltet.
| -lic | Zeigt Lizenzvertrag und Gewährleistung an. |
Es ist nötig, dass Sie unseren Software Lizenzvertrag akzeptieren. Dies geschieht beim ersten Start von hrPING. Wenn Sie später etwas nachlesen möchen, verwenden Sie diese Option.
¤
Jetzt ein Testlauf:
C:\> hrPING www.cfos.de
This is hrPING v3.01 by Chris Lueders of cFos Software -- http://www.cfos.de
Using CPU TSC; calibrated to 603.219 MHz
Pinging www.cfos.de [194.95.249.23]
with 64 bytes data (92 bytes IP) (overlapped):
Reply from 194.95.249.23: seq=0001 time=77.413ms TTL=247
Reply from 194.95.249.23: seq=0002 time=74.425ms TTL=247
Reply from 194.95.249.23: seq=0003 time=71.707ms TTL=247
Reply from 194.95.249.23: seq=0004 time=71.838ms TTL=247
Statistics for www.cfos.de:
Pakets: sent=4, rcvd=4, error=0, lost=0 (0% loss) in 1.572300 sec
RTTs of replies in ms: min/max/avg: 71.707 / 77.413 / 73.845
Man sieht, dass hrPING die Pakete aufsteigend durchnummeriert. Die Sequenz-Nummer der Antworten ist aufgelistet. (Wenn ein Paket ausser der Reihe auftaucht, wird hrPING anstelle von "seq=" "SEQ= schreiben. So kann man den Unterschied sehen.)
Es ist zu beachten, dass die angegebenen Zeiten in Microsekunden angegeben werden. (Millisekunden mit 3 Dezimalstellen)
Weierhin sehen wir die TTL (Lebensdauer). Es ist die TTL des Senders, von der die Anzahl der Hops abgezogen wird, die das Paket benötig hat, um anzukommen. Wahrscheinlich war die TTL zu Beginn auf 255 gesetzt. Das Pakete benötigte also 8 Hops, um hier anzukommen.
¤
Jetzt ein zweiter Testlauf:
C:\> hrPING -i1 www.cfos.de
This is hrPING v3.01 by Chris Lueders of cFos Software -- http://www.cfos.de
Using CPU TSC; calibrated to 600.797 MHz
Pinging www.cfos.de [194.95.249.23]
with 64 bytes data (92 bytes IP) (overlapped):
Reply from 217.5.98.50: TTL expired in transit; seq=0001 time=58.307ms
Reply from 217.5.98.50: TTL expired in transit; seq=0002 time=59.456ms
Reply from 217.5.98.50: TTL expired in transit; seq=0003 time=51.693ms
Reply from 217.5.98.50: TTL expired in transit; seq=0004 time=51.804ms
Statistics for www.cfos.de:
Pakets: sent=4, rcvd=0, error=4, lost=0 (0% loss) in 1.552238 sec
RTTs of errors in ms: min/max/avg: 51.693 / 59.456 / 55.315
Dies ist eine Liste vom ICMP Fehlermeldungen. Es werden weiterhin Sequenz-Nummern und "round-trip" Zeiten angezeigt.
¤
Was können wir bei der Verwendung von hrPING lernen...
Wir können die Verzögerung unserer DSL Verbindung herrausfinden. Dazu verwenden wir den kleinstmöglichen PING und die kürzeste zur Verfügung stehende Strecke. Mit dem Tracerroute Modus kann man den ersten Hop herrausfinden und diesen anPINGen. Die Erfahrung zeigt aber, dass dieser Hop oft nicht auf PINGs antwortet. Also verwenden wir einen Trick: Wir senden Pakete mit TTL 1. Diese werden vom ersten Hop zurückgeschickt werden.
C:\> hrPING -i1 -l0 www.cfos.de
This is hrPING v3.01 by Chris Lueders of cFos Software -- http://www.cfos.de
Using CPU TSC; calibrated to 605.874 MHz
Pinging www.cfos.de [194.95.249.23]
with 0 bytes data (28 bytes IP) (overlapped):
Reply from 217.5.98.50: TTL expired in transit; seq=0001 time=55.605ms
Reply from 217.5.98.50: TTL expired in transit; seq=0002 time=50.232ms
Reply from 217.5.98.50: TTL expired in transit; seq=0003 time=50.289ms
Reply from 217.5.98.50: TTL expired in transit; seq=0004 time=49.771ms
Statistics for www.cfos.de:
Pakets: sent=4, rcvd=0, error=4, lost=0 (0% loss) in 1.550524 sec
RTTs of errors in ms: min/max/avg: 49.771 / 55.605 / 51.474
Die Minimalverzögerung liegt also bei etwa 49.7 ms. Wenn die Zahl der Versuche erhöht wird, kann man noch kleinere Verzögerung messen, aber der Unterschied ist meistens nicht sehr gross. (Nach 1000 Versuchen lag das Minimum bei 47.3 ms.)
Systemanforderungen:
hrPING sollte sowohl auf Systemen funktionieren, auf denen Windows NT 4.0 und höher (Windows 2000, Windows XP Professional und Home) läuft, als auch auf solchen, die Windows 95 und höher (Windows 98, Windows Me) verwenden.
hrPING arbeitet nicht unter DOS, OS/2 oder Windows 3.x und darunter.
Mit Windows NT, Windows 2000 und Windows XP Professional müssen Sie der Benutzergruppe der Administratoren angehören, um hrPING anwenden zu können. Ist dies nicht der Fall, wird hrPING keinen "Raw Socket" anlegen können, der für den Betrieb notwendig ist. Es ist von Microsoft entschieden worden, dass nur Administratoren der Zugriff zu "Raw Sockets" gewährt wird. (Unter Windows XP Home ist jeder Benuzter Administrator. Das Problem taucht hier also nicht auf.)
Wenn Sie den "Raw Socket"-Zugriff für jeden Benutzer ermöglichen möchten, kann
der folgenden Registrierungsschlüssel unter HKEY_LOCAL_MACHINE auf 1 (DWORD) gesetzt werden:
System\CurrentControlSet\Services\Afd\Parameters\DisableRawSecurity
¤
hrPING ist Freeware; geben Sie es an jeden weiter. Besuchen Sie www.cfos.de/index2.htm um neue Versionen von
hrPING und unserem DSL/ISDN Treiber cFos zu laden.