Übersicht
ping. heute machen wir mal unser erstes
netzwerkkomando.
vorher haber einige netzwerkgrundlagen:
unix spricht viele netzwerkprotokolle.
wie inzwischen fast ueberall ist
aber das im internet verwendete TCP/IP am beliebtesten und am
verbreitetsten.
die kommuniktaion zwischen den computern laueft in ueber kleine
datenpackete die
von einem computer zum anderen verschickt werden.
typischerweise sind diese kleinen packete einige 100 bis
1500 bytes lang.
groessere datenstroeme werden aus mehreren packten zusammengesetzt.
jedes der
IP packte hat:
* eine empfaengeraddresse (anhand dieser findet das packet im netz sein
ziel)
* eine absenderaddresse (anhand dieser weiss der empfaenger wem er eine
antwort auf das
packet schicken soll)
die beiden addressen sind im normalen internetz 4 bytes (32 bit)
lang
und werden per convention in 4 durch 3 punkte getrennten dezimalzahlen
geschrieben.
z.b.:
198.182.196.56
* die laenge des packets
* einige zusaetzliche
technische informationen...
in diese IP packete hinein werden dann datenpackte gepackt. und zwar
folgende meist folgende arten:
* TCP (transmission control protocol) packete: fuer verbindungen die
sich
nicht fuer die packte interessieren sonder nur einen kontinuierlichen
datenstrom benoetigen.
(z.b. eine ssh oder telnet verbidnung) (TCP
packete sind z.b. durchnummeriert und das betriebsystem (in
unserem
fall unix) kuemmert sich darum dass fals ein packet verlorgen geht dass
es neu gesendet
wird, etc..etc.. der benutzer von TCP muss sich also
nicht um die schmutzigen details des netzwerks
kuemmern...)
* UDP (user datagram protocol) packte: wo noch jedes packet einzeln
gesendet und
epfangen werden kann. wer UDP packete benutzt muss damit
rechnen dass seine packete eventuell auf dem weg
vom sender zum
empfaenger verlorgen gehen oder nicht in der selben reihenfolge ankommen
wie sie
gesendet wurden etc.. dafuer hat man aber einen etwas
direkteren zugang zum netz.
* ICMP
(internet control message protocol). diese packte dienen dem netz
selbst als information. es gibt z.b. ICMP
packete die stau auf der
datenautobahn melden.. fuer dich praktisch nuetzlich ist das ICMP echo
packet dass den empfaenger auffordert mit einem ICMP reply packet zu
antworten. das macht der ping
befehl:
kapitaen: "geben sie mir ein ping!"
der name "ping" kommt aus dem
sonar jargon. ein kurzer ultrashall
impuls
der ausgesendet wurde um andere uboote zu orten.. (die
diesen ton
reflectirten..)
ping schickt ein kurzes netzwerkpacket zu einem anderen computer
im
internet und der sollte das wieder retour schicken. und dann kann man die
zeit messen wielange
es gebraucht hat (oder ob es ueberhaupt retour
gekommen ist). ueblicherweise schaut man damit ob sein
eigenes netzwerk
funktioniert und ob man andere computer erreichen kann.
insofern ist der ping
befehl vorallem dann nuetzlich wenn mal was mit dem
netzwerk nicht funktioniert und man rausfinden will
was.
z.b.:
ping 194.152.178.12
ausgabe:
PING bozo.sil.at (194.152.178.12):
56 data bytes
64 bytes from 194.152.178.12: icmp_seq=0 ttl=59 time=11.9 ms
64 bytes from
194.152.178.12: icmp_seq=1 ttl=59 time=4.5 ms
64 bytes from 194.152.178.12: icmp_seq=2 ttl=59 time=4.5
ms
64 bytes from 194.152.178.12: icmp_seq=3 ttl=59 time=4.5 ms
--- bozo.sil.at ping statistics
---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max =
4.5/6.3/11.9 ms
die ausgesendenten packte sind durchnummeriert da sieht man gleich ob
welche
verlorgen gehen. die zeit gibt an wieviele millisekunden das packte
vom ausssenden bis zum epmfangen
gebraucht hat. (im obigen fall
durchschnittlich 6.3 ms. auf grossen entfernungen oder langsamen
strecken
koennen schon mal einige 100ms oder 1000 ms zusammenkommen (1000 ms = 1
sekunde)
aus dem ttl wert (time to life) kann man sehen wieviel computer (router)
zwischen uns
sind. dabei haengt es ab mit welchem startwert der
gegencomputer die packete wegschickt meist. 256, 128
oder 64 in obigen
beispiel eher 64 d.h. es waeren 5 computer zwischen meinem derzeitigen
standort
und dem www.sil.at (diese zwischenstationen werden auch "hops"
(singular: hop)
genannt.)
falls du hinter einer firewall sitzt geht das ping ebentuell nicht weil
deien firewall
keine pings durchlaesst.
anstatt einer IP addresse in form der 4 mit 3 punkten getrennten zahlen
kannst du auch einen namen verwenden. z.b.:
ping www.sil.at
waere das selbe. wenn du mal
irgendwo bist wo zwar nummern pingen aber
namen nicht dann funktinioert die namensaufloesung (DNS) nicht.
da sollte
man dann z.b. ins /etc/resolv.conf schaun ob nicht ein falscher
"nameserver"
eingetragen ist. ueber die umsetzung von namen wie www.sil.at
in nummer wie 194.152.178.12 und umgekehrt
lernen wir spaeter noch
genauer...
nuetzliche optionen beim ping befehl:
-c 20 wuerde
genau nur 20 packete verschicken und sich dann beenden ohne
dass man es mit control-c abbrechen
muss.
-l 1000 wuerde packte mit einer laenge von 1000 bytes schicken (das darf
normalerweise nur
der root user)
-f flood ping. schickt soviele ping packete wie moeglich. darf
normaler weise
auch nur der root user. VORSICHT: -f sollte man nur
verwenden wenn man genau weiss was man tut. man kann
sich sonst
BETRAECHTLICHEN AERGER mit den netzwerkbetreuern
heinheimsen..
EXERCISES:
verwende den ping befehl um die entfernung (gemessen in hops
und in
zeitlicher verzoegerung (millisecunden)) zu messen. welche numerische IP
addressen haben
diese websites?
_______________________________________________
CD ist ein service von
SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________