4IZ110

IP kalkulator

            Příkazový řádek v systému Windows

 

 

-         vnitřní příkazy

-         vnější příkazy

 

 

Přesměrování

 

příkaz1 | příkaz2             posílá výstup prvního příkazu jako vstup pro druhý příkaz

 

příkaz < soubor               získá vstup příkazu z konkrétního souboru

 

příkaz > soubor               pošle výstup z daného příkazu do souboru

                                          (soubor vytvoří nebo přepíše)

 

příkaz >> soubor             připojí výstup k danému souboru

 

 

příkaz < soubor1 > soubor2    získá vstup ze souboru1 a výstup zapíše do souboru2

 

 

Příklady:

 

dir | more

dir c: > vypis_adresare

dir c:nnn 2>&1

 

  

 

 

Spojování a seskupování příkazů

 

 

 

příkaz1 & příkaz2                    spustí příkaz1 a poté příkaz2  

 

příkaz1 && příkaz2                         spustí příkaz2, jeli úspěšně dokončen příkaz1

 

 příkaz1 || příkaz2                    spustí příkaz2, není-li úspěšně dokončen příkaz1

 

 

 

 

Příklady:

 

cd c:\working\docs & dir

dir c:\working\logs\current.log && move current.log d:\history\logs

(hostname & ipconfig & netstat –a) > current_config.log

 

 

 

 

Třídy adres IP sítí

 

Třída    Interval pro byte     Platná čísla sítí                  Maska

                                                                                      

   A           1 až 126               1.0.0.0 – 126.0.0.0                255.0.0.0         

   B           128 až 191           128.1.0.0  - 191.254.0.0        255.255.0.0

   C           192 až 223           192.0.1.0  - 223.255.254.0   255.255.255.0

   D           224 až 239                            multicast

 

 

 

 

Vyhrazené IP adresy

 

127.0.0.1                     localhost

0.0.0.0                          tento počítač

255.255.255.255         všechny počítače v síti

 

Soukromé adresy

 

10.0.0.0 – 10.255.255.255

172.16.0.0 – 172.31.255.255

192.168.0.0 – 192.168.255.255

 

 

Masky sítí a podsítí

 

                          přirozená maska                            binární vyjádření masky

třída A            255.0.0.0           11111111.00000000. 00000000. 00000000                      (má rozsah sítí dán prvním oktetem)

třída B            255.255.0.0       11111111. 11111111. 00000000. 00000000                    (má rozsah dán prvními dvěmi oktety)

třída C            255.255.255.0    11111111. 11111111. 11111111. 00000000             (má rozsah dán prvními třemi oktety)     

 

  

 

 

Příslušnost počítače k síti

Jsou dány IP adresy třídy C tří počítačů a maska. Zjišťujeme, které počítače patří do stejné sítě a které nikoli.

 

Maska: 255.255.255.0

Počítač A - IP: 192.64.64.2,

Počítač B - IP: 192.64.64.3

Počítač C - IP: 192.64.65.3

Logický součin 255 se 192 je 192, 0 s x je 0, výpočty přeskočíme.

 

255 . . . . . . . . . . . 1111 1111   255 . . . . . . . . . . . 1111 1111

 64 . . . . . . . . . . . 0100 0000    65 . . . . . . . . . . . 0100 0001

Součin. . . . . . . . . . 0100 0000   Součin. . . . . . . . . . 0100 0001

Součin - hex. . . . . . . 40          Součin - hex. . . . . . . 41

Součin - dec. . . . . . . 64          Součin - dec. . . . . . . 65

Výsledek

Počítač A - adresa sítě: 192.64.64.0
Počítač B - adresa sítě: 192.64.64.0
Počítač C - adresa sítě: 192.64.65.0

 

Počítače A a B patří do stejné sítě 192.64.64.0, počítač C nikoli, jeho síťová adresa 192.64.65.0 je odlišná.

 

 

Příslušnost počítače k síti - maska podsítě
Příklad - dva počítače ze stejných podsítí
Počítač A - IP: . . . . . .  146.102.68.99
Počítač B - IP:  . . . . . . 146.102.69.99
Maska podsítě . . . . . . .  255.255.252.0
 
 68 . . . . . . . . 0100 0100         69      0100 0101 
252 . . . . . . . . 1111 1100        252      1111 1100 
Součin. . . . . . . 0100 0100                 0100 0100   
Součin - hex. . . . 40                        40 
Součin - dec. . . . 68                        68

Adresám IP 146.102.68.99 a 146.102.69.99 maskovaným 255.255.252.0 odpovídá stejná adresa sítě: 146.102.68.0; počítače A a B patří do stejné sítě. Bitové posloupnosti v součinech na pozicích 17 - 22 jsou shodné.

Bitové pozice 17 - 22 - vyznačení podsítě. Součin s první IP je 0100 01, s druhou IP je 0100 01.

Příklad - dva počítače z různých podsítí
Počítač A - IP: . . . . . . . 146.102.64.219
Počítač B - IP: . . . . . . . 146.102.68.99
Maska podsítě . . . . . . . . 255.255.252.0

Počítač A

255.255.252.0 . . . . . 1111 1111 1111 1111 | 1111 11|00 0000 0000
146.102.64.219. . . . . 1001 0010 0110 0110 | 0100 00|00 1101 1011
Součin. . . . . . . . . 1001 0010 0110 0110 | 0100 00|00 0000 0000
Součin - hex. . . . . . 92 . . . . 66 . . . | 40 . . | . 00
Součin - dec. . . . . . 146. . . . 102. . . | 64 . . | . 0|

Počítač B

255.255.252.0 . . . . . 1111 1111 1111 1111 | 1111 11|00 0000 0000
146.102.68.99 . . . . . 1001 0010 0110 0110 | 0100 01|00 0110 0011
Součin. . . . . . . . . 1001 0010 0110 0110 | 0100 01|00 0000 0000
Součin - hex. . . . . . 92 . . . . 66 . . . | 44 . . | . 00
Součin - dec. . . . . . 146. . . . 102. . . | 68 . . | . 0|

Bitové pozice 17 - 22 - vyznačení podsítě. Součin s první IP 0100 00, součin s druhou IP 0100 01.

Bitové posloupnosti v součinech na pozicích 17 - 22 jsou různé, proto jsou různé podsítě 146.102.64.0 a 146.102.68.0.

  

 

 

ipconfig      [/all]  |  [/release [Adapter]]  |  [/renew [Adapter]]

 

 

 

 

Konfigurace protokolu IP systému Windows

        Název hostitele . . . . . . . . . : j352h39

        Primární přípona DNS. . . . . . . :

        Typ uzlu  . . . . . . . . . . . . : všesměrové vysílání

        Povoleno směrování IP . . . . . . : Ne

        WINS Proxy povoleno . . . . . . . : Ne

        Prohledávací seznam přípon DNS. . : vse.cz

 

Adaptér sítě Ethernet Připojení k místní síti:

 

        Přípona DNS podle připojení . . . : vse.cz

        Popis . . . . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection #2

        Fyzická Adresa. . . . . . . . . . : 00-16-76-64-63-7B

        Protokol DHCP povolen . . . . . . : Ano

        Automatická konfigurace povolena  : Ano

        Adresa IP . . . . . . . . . . . . : 146.102.174.187

        Maska podsítě . . . . . . . . . . : 255.255.254.0

        Výchozí brána . . . . . . . . . . : 146.102.175.253

        Server DHCP . . . . . . . . . . . : 146.102.162.162

        Servery DNS . . . . . . . . . . . : 146.102.16.1

                                                        146.102.16.2

        Zapůjčeno . . . . . . . . . . . . : 20. února 2007 13:49:43

        Zápůjčka vyprší . . . . . . . . . : 21. února 2007 1:49:43

 

 

 

 

TCP/IP, konfigurace stanice a diagnostické prostředky

 

o        Ipconfig a zobrazení konfigurace tcp/ip. Příkaz ipconfig

o        Ping a zjištění dostupnosti počítače. Příkaz ping 

o        Tracert a zjišťování cesty paketů. Příkaz tracert

o        Nslookup a jmenná služba. Příkaz nslookup

o        Netstat (W98, XP, Linux) Zobrazení stavu sítě z hlediska jedné stanice. Příkaz netstat

Existují sbírky odkazů na www stránky zabezpečující online diagnostiku v sítích TCP/IP. Z nich jsou stále funkční a aktualizované:


NetRodent: ad hoc IP tools
Web Based Web Based Network Tools

Prostředky z cizí domény umožňují pohled zvenčí, který se může lišit od pohledu zevnitř. Důvodem může být, že některé porty jsou při přístupu z cizí domény zakázány.

Konfigurace protokolu IP systému Windows XP

Pomocí Start/Spustit/msinfo32 dostaneme okno se systémovými informacemi. V části Programové prostředí/Služby lze najít označení a cestu ke klientům DHCP a DNS a způsob spuštění.

 

Příkaz ping

 
Syntaxe:
     ping [-t] [-a] [-n počet] [-l velikost] [-f] [-i TTL] [-v TOS]
     [-r počet] [-s počet] [[-j sezn_host] | [-k sezn_host]]
     [-w čas_limit] cíl
 
Možnosti:
-t            Opakovaně odesílat určenému hostiteli žádost o ozvěnu až 
              do ukončení. Zobrazit  statistiku a pokračovat -                           Control+Break; Ukončit - Control+C.
-a            Převádět adresy na názvy hostitelů.
-n počet      Počet žádostí o ozvěnu, které se odešlou.
-l velikost   Odeslat velikost vyrovnávací paměti.
-f            V paketu nastavit příznak Nefragmentovat.
-i TTL        Doba života (Time To Live).
-v TOS        Typ služby (Type Of Service).
-r počet      Zaznamenat cestu pro počet směrovačů.
-s počet      Časová značka pro počet směrovačů.
-j sezn_host  Seznam hostitelů, kterými má paket projít s možností               libovolného počtu meziskoků mezi určenými hostiteli(volný               režim).
-k sezn_host  Seznam hostitelů, kterým musí paket projít v určeném pořadí               bez možnosti meziskoků mezi určenými hostiteli (přísný               režim).
-w čas_limit  Časový limit v ms, po který se čeká na odpověď.
 
Příklady

ping 127.0.0.1 ... (smyčka – posílání paketů na vlastní počítač)
ping 0.0.0.0 ... nelze, cíl není platný
ping videoserver.vse.cz
ping 146.102.168.20 -n 100 ... sto žádostí o ozvěnu
ping lib.ucl.ac.uk -t ... opakování žádosti (přerušení z klávesnice)
ping j382h25.unet.vse.cz
ping nb371h04.znet.vse.cz > h:\ipnb371h04.txt ... výstup do souboru

 

 

ping www.nkp.cz nebo ping 195.113.132.66

Odesílá se žádost o ozvěnu počítači nkp.cz [195.113.132.66] s 32 bajty dat:

Vypršel časový limit žádosti.
Vypršel časový limit žádosti.
Vypršel časový limit žádosti.
Vypršel časový limit žádosti.

Statistika příkazu Ping pro 195.113.132.66:
Paketů: Odesláno= 4, Přijato= 0, Ztraceno= 4 (100% ztráta)
Přibližná doba od odeslání požadavku do příchodu ozvěny v milisekundách:
Nejmenší= 0ms, největší= 0ms, průměrná= 0ms

Vzdálený počítač na žádost o echo neodpovídá. To neznamená, že nepracuje. Zasílání echa žádajícímu lze zabránit v konfiguraci. V našem případě lze pomocí prohlížeče získat nějakou stránku a ověřit činnost počítače.

 

Tracert a zjišťování cesty paketů

Použití:

tracert [-d] [-h max_počet] [-j sezn_host] [-w doba] cíl_název
 
Možnosti:
-d            Nepřevádět adresy na názvy hostitelů.
-h max_počet  Nejvyšší počet přeskoků pro dosažení cíle.
-j sezn_host  Seznam hostitelů, kterými má paket projít s možností
              libovolného počtu přeskoků mezi určenými hostiteli(volný                režim).
-w doba       Čeká na odezvu z každé brány po dobu (v ms).
 
Úspěšné a neúspěšné zjišťování cesty

 

tracert www.cesnet.cz
Trasování směrování k www.cesnet.cz [195.178.64.44] s nejvýše 30 přeskoky:
 
1   <10 ms  1 ms  1 ms  ca8500.vse.cz [146.102.64.253] 
2     1 ms  1 ms  1 ms  router.vse.cz [146.102.56.2] 
3     2 ms  2 ms  1 ms  geovc-1.pasnet.cz [195.113.68.157] 
4     1 ms  1 ms  1 ms  cesnet-geovc.pasnet.cz [195.113.69.54] 
5     1 ms  2 ms  1 ms  r1-r21-stm1.cesnet.cz [195.113.144.129] 
6     1 ms  1 ms  1 ms  r38-r1-fe.cesnet.cz [195.113.144.170] 
7     2 ms  3 ms  2 ms  www.cesnet.cz [195.178.64.44]
 
Trasování bylo dokončeno.

Může se stát, že cílový počítač není dosažitelný. Příkaz "tracert" využívá žádost o ozvěnu protokolu ICMP obdobně jako "ping". Filtrování paketů na směrovačích může způsobit, že paket nebude propuštěn na cestě k cíli. Úplnou cestu k cíli nezjistíme.

tracert www.nkp.cz
 
Trasování směrování k nkp.cz [195.113.132.66] s nejvýše 30 přeskoky:
 
  1     1 ms     1 ms     1 ms  ca8500-poslC.vse.cz [146.102.71.253]
  2   <10 ms   <10 ms   <10 ms  ca65rb-ge-c.net.vse.cz [146.102.25.85]
  3     1 ms     1 ms     1 ms  gezizkov-ca8500.net.vse.cz [146.102.25.1]
  4   <10 ms   <10 ms     1 ms  gelf1-gezizkov.pasnet.cz [195.113.68.217]
  5   <10 ms   <10 ms   <10 ms  geruk-gelf1.pasnet.cz [195.113.67.33]
  6     1 ms     1 ms   <10 ms  cesnet-geruk.pasnet.cz [195.113.69.58]
  7     1 ms     1 ms     2 ms  nkp-r21-prg.cesnet.cz [195.178.64.226]
  8     *        *        *     Vypršel časový limit žádosti.
 ...
 13     *        *        *     Vypršel časový limit žádosti.

Místo jména "www.nkp.cz" bylo použito základní jméno "nkp.cz". IP adresa přiřazená jménu cíle je odlišná od IP adresy posledně odpovídajícího počítače. Prohlížeč s IP adresou ověřovaného počítače určitě získá vyžádanou stránku. Cestu od "nkp-r21-prg.cesnet.cz" k "www.nkp.cz" jsme nezjistili. Paket s protokolem HTTP dále prošel, paket protokolu ICMP nikoli. Proč na ICMP požadavek odpověděly směrovače 1 - 7?

Zkusit: www.microsoft.com, www.kalimaya.co.id, www.internet.cr, www.abit.com.tw

 

Příkaz "nslookup", zjištování IP adres a dalších údajů

Příkaz "nslookup" ve Windows XP Professional je složitější. Obsahuje podpříkazy. Můžeme zjišťovat IP adresy z doménových jmen a naopak. Argumentem může být označení jednoho počítače nebo subdomény. Odpovědi závisí rovněž na použitém DNS serveru, zda je odpovědným serverem pro danou doménu či nikoli.

 
Podpříkazy

Pomocí "set type=druh záznamu" lze nastavit zobrazení všech nebo určitého typu záznamu (RR) z databáze DNS, např. A, CNAME, MX, NS, PTR, SOA, aj. Detaily o záznamech jsou v rejstříku nápovědy XP pod heslem "záznamy o prostředcích".

Příklady

1. Příkaz bez operandu zobrazí jméno a adresu výchozího DNS serveru a výzvu (>) k zadávání podpříkazů.

nslookup
Výchozí server:   vse470.vse.cz
Address:  146.102.16.1

2. Standardní DNS server vyhledá adresu IP k doménovému jménu.

nslookup gama.vse.cz
Server:   vse470.vse.cz
Address:  146.102.68.32

3. Na výzvu zadáme podpříkaz pro pomoc - help.

  
...
Příkazy: (identifikátory jsou uvedeny velkými písmeny, závorky [] označují
          volitelné parametry)
NÁZEV         - vytiskne informace o názvu (NÁZEV) hostitele či domény
                s použitím výchozího serveru
NÁZEV1 NÁZEV2 - má stejnou funkci jako parametr výše, avšak parametr NÁZEV2
                určuje název použitého serveru
help or ?     - vytisknout informace o často používaných příkazech
set MOŽNOST   - nastavit možnost MOŽNOST
    all                 - vytiskne možnosti, aktu lní server a hostitele
    [no]debug           - vytiskne informace o ladění
    [no]d2              - vytiskne podrobné informace o ladění
    [no]defname         - připojí n zev domény do všech dotaz
    [no]recurse         - bude požadovat rekurzivní odpověÔ na dotaz
    [no]search          - použije seznam hledání domény
    [no]vc              - vždy použije virtuální okruh
    domain=NÁZEV        - nastaví jako název domény NÁZEV
    srchlist=N1[/N2/.../N6] - nastaví doménu N1 a seznam hledání
                          na hodnoty N1, N2, atd
    root=NÁZEV          - nastaví jako kořenový server server NÁZEV
    retry=X             - nastaví počet opakování na hodnotu X
    timeout=X           - nastaví počáteční časový limit na X sekund
    type=X              - nastaví typ dotazu (například A, ANY, CNAME, MX,
                          NS, PTR, SOA, SRV)
    querytype=X         - stejné jako u příkazu type
    class=X             - nastaví třídu dotazu 
    [no]msxfr           - použije rychlý přenos zóny MS
    ixfrver=X           - aktuální verze, která  má  být použita v                           požadavku na přenos IXFR
server NÁZEV      - nastaví výchozí server na NÁZEV. Použije aktuální
                    výchozí server
lserver NÁZEV     - nastaví výchozí server na NÁZEV. Použije počáteční
                    server
finger [UŽIVATEL] - zobrazí údaje o volitelném uživateli UŽIVATEL na
                    aktuálním výchozím hostiteli
root              - nastaví aktuální výchozí server do kořene
ls [opt] DOMÉNA [> SOUBOR] - zobrazí adresy v doméně DOMÉNA (volitelné:
                    výstup do souboru SOUBOR)
    -a            - zobrazí názvy v kanonickém tvaru a aliasy
    -d            - zobrazí všechny záznamy
    -t TYP        - zobrazí záznamy zadaného typu (například A, CNAME, MX,
                    NS, PTR)
view SOUBOR       - seřadí výstupní soubor ls a zobrazí jej pomocí
                    programu pg
exit              - ukončí program.

4. Zobrazení všech typů záznamů DNS set type=any pro subdoménu vse.cz.

  ... 
> set type=any
> vse.cz
Server:  vse470.vse.cz
Address:  146.102.16.1
...

5. Překlad doménového jména na IP adresu z reverzní domény in-addr.arpa

> set type=ptr
> 146.102.68.32
Server:  vse470.vse.cz
Address:  146.102.16.1
 
32.68.102.146.in-addr.arpa      name = nb371s02.znet.vse.cz
68.102.146.in-addr.arpa nameserver = vse470.vse.cz
68.102.146.in-addr.arpa nameserver = vse.vse.cz
vse.vse.cz      internet address = 146.102.16.2
vse.vse.cz      AAAA IPv6 address = 2001:718:1e02::2
vse470.vse.cz   internet address = 146.102.16.1

6. Autoritativní (oprávněný) server domény a jeho překlady doménových jmen

Zjistíme DNS server pro doménu "seznam.cz" a přeložíme jeho prostřednictvím doménové jméno "www.seznam.cz".

Řešení

Primární DNS domény "seznam.cz" je počítač "ns.seznam.cz". Tuto nezaručenou odpověď poskytl server "vse470.vse.cz". Podpříkaz "server" nastaví výchozí server na novou hodnotu, autoritativní server domény "seznam.cz".

 
 
 
 
> server ns.seznam.cz
 
Výchozí server:   ns.seznam.cz
Address:  82.100.0.150
 
> www.seznam.cz
Server:  ns.seznam.cz
Address:  82.100.0.150
 
Název:   www.seznam.cz
Address:  212.80.76.3
 
> type=any
Server:  ns.seznam.cz
Address:  82.100.0.150
 
DNS request timed out.
    timeout was 2 seconds.
***  Časový limit požadavku pro ns.seznam.cz vypršel.

7. Ukončení práce programu - podpříkaz exit

> exit 

 

 

Příkaz Netstat – zobrazení TCP/IP spojení v síti

 

 

Zobrazení možností použití:
netstat -h
 
Zobrazí statistiku sítě Ethernet a současná síťová spojení TCP/IP.
 
NETSTAT [-a] [-e] [-n] [-s] [-p protokol] [-r] [interval]
-a            Zobrazí všechna spojení a naslouchající porty.
-e            Zobrazí statistiku ethernetu. Tento přepínač lze
              kombinovat s přepínačem -s.
-n            Zobrazí adresy a porty v číselném tvaru.
-p protokol   Zobrazí spojení protokolu, určeného parametrem protokol;
              protokol může být TCP nebo UDP.  Pokud je použit s
              parametrem -s pro výpis statistiky, protokol může být TCP,
              UDP nebo IP.
-r            Zobrazí směrovací tabulku.
-s            Zobrazí statistiku jednotlivých protokolů. Výchozí
              nastavení zobrazuje statistiku pro TCP, UDP a IP;
              parametrem -p lze určit podmnožinu výchozího nastavení.
interval      Znovu zobrazí zvolenou statistiku vždy po čase určeném 
              parametrem interval v sekundách. Stiskem CTRL+C vypnete
              opětovné zobrazování statistiky. Pokud tak neučiníte,
              informace o nastavení se vypíše znovu.

Ve Windows XP jsou k dispozici nové přepínače: [-b] [-o] [-v] [interval].

  
-b            Zobrazí spustitelný soubor, který se podílí na vytvoření 
              jednotlivých připojení nebo naslouchajících portů. V některých 
              případech známé spustitelné soubory hostí
              více nezávislých součástí a v těchto případech
              je zobrazena posloupnost součástí podílejících se
              na vytváření připojení nebo naslouchajících portů. V takových
              případech je název spustitelného souboru zobrazen dole v hranatých
              závorkách [] a nahoře je součást, kterou volal,
              a tak to pokračuje až po protokol TCP/IP. Tato možnost
              může být časově náročná a nezdaří se, pokud nemáte dostatečná 
              oprávnění.
 
-o            Zobrazí ID procesu přiřazené každému připojení.
-v            Při použití s parametrem -b zobrazí posloupnost
              součástí podílejících se na vytváření připojení nebo 
              naslouchajícího portu pro všechny spustitelné soubory.
 
 
Netstat (bez operandů)
  Aktivní spojení
  proto  lokální adresa         vzdálená adresa           stav
  TCP    nobody:1026            localhost.vse.cz:1027  ESTABLISHED
  TCP    nobody:1027            localhost.vse.cz:1026  ESTABLISHED
 
 
  
  Netstat -s  -a   ... všechna spojení a naslouchající porty, statistika
  Statistika protokolu IP
  Počet přijatých paketů           1381
  Přijato s chybami hlaviček          0
  Přijato s chybami adresy            57
  Předané datagramy                   0
  Přijato s neznámým protokolem       0
  Zahozené přijaté pakety             0
  Doručené přijaté pakety             1381
  Požadavky na výstup                 24
  Zahozená směrování                  0
  Zahozené výstupní pakety            0
  Nesměrovatelné výstupní pakety      1
  Vyžadováno znovusestavení           0
  ...
  
  Statistika ICMP
 
                      Přijato      Odesláno
  Zprávy                  57          4         
  Chyby                    0          0         
  Nedostupný cíl           0          1         
  Překročení času          0          0         
  Problémy parametru       0          0         
  Zpomalení toku dat       0          0         
  Žádost o přesměrování    0          0         
  Ozvěny                   0          0         
  Odpovědi na ozvěnu       0          0         
  ...
 
Statistika TCP
 
  Aktivní otevření                    2
  Pasivní otevření                    1
  Neúspěšné pokusy o spojení          1
  Původní spojení                     0
  Současná spojení                    2
  Přijaté segmenty                    15
  Odeslané segmenty                   16
  Opakovaně odeslané segmenty         3
  
Statistika UDP
 
  Přijaté datagramy         1
  Žádné porty            1365
  Chyby příjmu              0
  Odeslané datagramy        1
  
C:\>netstat -b
 
Aktivní připojení
 
  Proto  Místní adresa          Cizí adresa            Stav            PID
  TCP    nb371h04:1029          sb.unet.vse.cz:524     NAVÁZÁNO        660
  [winlogon.exe]
 
  TCP    nb371h04:1030          nbu.vse.cz:524         NAVÁZÁNO        660
  [winlogon.exe]
 
  TCP    nb371h04:1031          nbu.vse.cz:524         NAVÁZÁNO        660
  [winlogon.exe]  
 

DNS

Spolupráce několika DNS serverů

 

1.    Hanka otevře webový prohlížeč a zadá http://www.frantovafirma.cz

2.    Lokální DNS server nezná tento název a oslovi DNS s IP adresou 1.1.1.1

3.    DNS server 1.1.1.1 název zná a vrátí lokálnímu DNS IP adresu DNS serveru v doméně frantovafirma

4.    DNS server 150.1.3.4 zopakuje svůj dotaz, který odešle na 199.1.1.3

5.    DNS 199.1.1.3 vrátí DNS 150.1.3.4 IP adresu www.frantovafirma.cz

6.    Lokální DNS vrátí požadovanou IP adresu 199.1.1.2  Hance

 

 

 

Wireshark – analyzátor protokolů

Program umí „odchytávat“ pakety na daném rozhraní (funkce Capture) a následně je zobrazovat.

 

 

Protokoly TCP/IP nižší úrovně

o        Otevřené porty

o        Protokoly ARP, RARP, BootP, DHCP a ICMP

o        Směrování

Otevřené porty

Příkaz ping obecně zjišťuje, zda počítač v síti pracuje. Otevřený port označuje spuštěnou službu.

K programům pro diagnostiku portů patří např. cports.exe, ipscan.exe, yaps.exe aj. Některé nezapisují do registru, takže je lze bez omezení instalovat i ve školním prostředí.

 

 

 

 

 

 

 

Protokoly ARP, RARP, BootP, DHCP a ICMP

Protokoly ARP a RARP

Počítač zasílající IP datagram nezná fyzickou adresu cílového počítače, ale zná jeho IP adresu. Pomocí protokolu ARP fyzickou adresu získá.

Zašle všeobecný požadavek se žádostí o zaslání fyzické adresy cílového počítače, aby mohl zaslat příslušný rámec. Z obeslaných odpoví ten, jehož IP adresa se shoduje s IP adresou cíle v požadavku; zašle svou fyzickou adresu. Žadatel pak vyšle rámec s fyzickou adresou cílového počítače a příslušnými daty.

 

 

 

Stanice sítě může dočasně ukládat dvojice internetových a fyzických adres v tabulce ARP. Její obsah lze zobrazit příkazem "arp".

Obsah tabulky zobrazený příkazem ″arp -a″.

>arp -a
Rozhraní: 146.102.68.99 on Interface 0x1000002
  internetová adresa    fyzická adresa        typ
  146.102.68.133        00-13-20-af-80-39     dynamický
  146.102.71.253        00-14-a9-66-f1-c1     dynamický

Přidružení IP k fyzické adrese s trvalým záznamem do tabulky ARP.

>arp -s 192.64.64.1 00-00-b4-3f-e4-67
Rozhraní: 192.64.64.1 on Interface 0x2000003
  internetová adresa    fyzická adresa        typ
  192.64.64.1           00-00-b4-3f-e4-67     statický

Zrušení záznamu v tabulce ARP o určitém počítači: >arp -d 192.64.64.5

 

Protokol RARP

Je obrácený ARP: známe vlastní fyzickou adresu a při spouštění počítače potřebujeme přiřadit IP (např. bezdiskové stanice). Při spouštění zašle pracovní stanice požadavek na RARP server. Ten obsahuje databázi RARP. Věty databáze tvoří dvojice: fyzická adresa, IP adresa. Odpověď RARP: zašle IP.

Další protokoly nižší úrovně

Protokol BootP

Má obdobné funkce jako RARP. BootP předává žádající stanici kromě IP i další údaje.

Klientský počítač nezná svou IP adresu, ani adresu BootP serveru (fyzickou, IP). Požadavek zasílá na všeobecnou adresu 255.255.255.255 (všem počítačům této sítě), uvádí svou fyzickou adresu a IP adresu 0.0.0.0. Server na základě fyzické adresy klienta v odpovědi vrací přiřazenou IP adresu a další upřesňující údaje na základě svého konfiguračního souboru.

Protokol DHCP

Nahrazuje BootP. Dynamicky přiděluje IP adresy a další parametry síťovým klientům. Správa IP adres se centralizuje na DHCP serveru. Klientské počítače mohou při spouštění získat svou IP adresu (jen na určitou dobu), pokud podporují protokol DHCP (služba DHCP).

 

 

Směrování

 

 

 

 

 

Směrovací tabulka pracovní stanice

Příkaz ″route″ - Vypíše směrovací tabulky nebo její obsah modifikuje

>route print

Aktivní směrování:
 
  Síťová adresa            Maska    Adresa brány           Rozhraní Metrika
          0.0.0.0          0.0.0.0   146.102.71.253    146.102.68.99      1
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1      1
     146.102.68.0    255.255.252.0    146.102.68.99    146.102.68.99      1
    146.102.68.99  255.255.255.255        127.0.0.1        127.0.0.1      1
        224.0.0.0        224.0.0.0    146.102.68.99    146.102.68.99      1
  255.255.255.255  255.255.255.255    146.102.68.99    146.102.68.99      1

 

Poznámky:

·         1.řadek  - výchozí trasa

·         2.řádek  - síť zpětné smyčky

·         3.řádek  - místní síť

·         4.řádek  - místní adresa IP

·         5.řádek  - adresy vícesměnového vysílání

·         6.řádek  - adresa omezeného všesměrového vysíláání

 

Údaje příkazu ″ipconfig″ pro danou stanici

  0 Ethernet adaptér :
 
        Popis . . . . . . . . : Realtek RTL8029(AS) Ethernet Adapt
        Fyzická adresa. . . . . . : 00-E0-7D-8B-AB-17
        DHCP zapnuto. . . . . . . . : Ano
        Adresa IP. . . . . . . . . : 146.102.68.99
        Maska podsítě . . . . . . . . : 255.255.252.0
        Výchozí brána . . . . . . : 146.102.71.253
        Server DHCP . . . . . . . . : 146.102.42.42
 
 

Směrovací tabulka se vytváří automaticky na základě aktuální konfigurace protokolu TCP/IP v počítači. Každé trase odpovídá jeden řádek zobrazené tabulky. Počítač vyhledá směrovací tabulku pro položku, která nejpřesněji odpovídá cílové adrese IP.

Výchozí trasa je použita pouze v případě, že cílové adrese obsažené v datagramu IP neodpovídá žádná jiná hostitelská nebo síťová trasa. Výchozí trasa obvykle předává datagram IP (pro který nebyla nalezena žádná vyhovující trasa nebo explicitní místní trasa) na adresu výchozí brány směrovače v místní podsíti. Ve výše uvedeném příkladu výchozí trasa předává datagram směrovači s adresou brány 146.102.71.253.

Vzhledem k tomu, že směrovač, který odpovídá výchozí bráně, obsahuje informace o identifikátorech dalších podsítí IP obsažených v rámci rozsáhlejší struktury sítí TCP/IP, předává datagram dalším směrovačům, dokud není nakonec doručen směrovači IP připojenému k zadanému cílovému hostiteli nebo podsíti větší sítě.

 

Přenos souborů v Internetu

Obsah

·         Principy protokolu ftp pro přenos souborů

·         Anonymní a neanonymní služba přenosu souborů

·         Typy souborů a režimy přenosu

·         Klientské programy

·         Příkazy programu MS ftp

·         Archivy souborů

Principy protokolu ftp pro přenos souborů

Protokol ftp stanoví pravidla komunikace mezi klientem a serverem. Jedná se o spojovanou spolupráci. Klient naváže spojení se serverem, předá uživatelské jméno a heslo. Po navázání spojení může probíhat práce s adresáři a soubory a přenos dat mezi klientem a serverem. Spojení se obvykle ukončí z podnětu klienta. Úsek komunikace mezi otevřením a uzavřením spojení se nazývá relace.

V protokolu ftp se užívá pro server dvou standardních portů (20, 21). Server na těchto portech očekává a vyřizuje požadavky klientů. Pakety na portu 21 slouží k řízení komunikace. Protokol je textově orientován a jeho příkazy jsou člověku srozumitelné. Port 20 slouží k vlastnímu přenosu dat. Porty klienta jsou dynamické a přiděluje je OS.

Podle toho, kdo spojení zahajuje, se rozlišuje aktivní a pasivní spojení. Přenos souborů probíhá v textovém a nebo binárním režimu v závislosti na typu souboru nebo potřebách uživatele. Chování serveru nebo klientského programu je určeno konfigurací. O komunikaci lze vést na obou stranách spojení protokol.

Aplikační protokol ftp využívá vrstvy TCP k zabezpečenému přenosu datových segmentů. Uživatel komunikuje s klientským programem pomocí příkazů, které připomínají příkazy pro práci se soubory. Klientský program překládá příkazy uživatele do příkazů platných v protokolu. Výňatek z dokumentu RFC  959 obsahuje seznam příkazů ftp protokolu.

Anonymní a neanonymní služba přenosu souborů

Anonymní servery umožňují přihlášení uživatele pomocí standardního uživatelského jména: anonymous nebo ftp. K zadání hesla obvykle stačí adresa elektronické pošty ve tvaru user@host.

Anonymní servery umožňují prohlížení veřejných adresářů (obvykle pub a jeho podadresáře) a stahování souborů na lokální počítač. Zpravidla nepovolují zápis do struktury souborů serveru.

Neanonymní servery vyžadují účet uživatele pro daný server. Skládá se z přihlašovacího jména a hesla. Určuje oprávnění uživatele k souborům a adresářům. Seznam účtů vytváří správce služby. Vzhledem k tomu, že heslo uživatele je přenášeno po síti nešifrovaně, je používání neanonymního FTP z bezpečnostních důvodů velmi problematické.

 

Typy souborů  a režimy přenosu

V různých operačních systémech existují rozdíly v reprezentaci textových souborů. Textový soubor obsahuje tisknutelné znaky a některé řídicí znaky. Dělí se na řádky. Konce řádků jsou v různých OS zobrazeny odlišně. V DOS/Windows: CR+LF. UNIX: LF, MAC: CR.

Při přenosu textového souboru v režimu ascii dochází u různých operačních systémů k převodu zobrazení. V režimu binary se libovolný soubor přenáší beze změny zobrazení a délky. Binární přenos slouží např. k přenosu obrázků (např. typu .gif, .jpeg, aj), komprimovaných souborů, atp.

Klientské programy

Rozeznáváme textové a grafické klientské programy, a to podle typu uživatelského rozhraní. Mezi textově orientované klientské programy ftp patří např. i aktuální MS ftp klient  Windows XP. V současné době převládají grafické klientské programy. K nim patří WS_FTP, FileZilla nebo interní grafický klient v programu WinCmd / TotalCmd. Prohlížeče stránek WWW bývají rovněž vybaveny interním klientským ftp programem. Data získaná z ftp serverů bývají prezentována v textové podobě doplněné o grafické prvky  jako stránky html. 

Grafické klientské programy ftp mají snadný způsob ovládání a podporují různé funkce. Usnadňují konfiguraci programu, umožňují  vytvářet a ukládat profily relací  a obecně automatizují co nejvíce funkcí. V konečném účinku  nastavení jejich chování a ovládání zakrývá základní způsob komunikace a charakter služby. Textové klientské programy se ovládají méně snadno, avšak někdy bývá jejich repertoár funkcí bohatší. Generování výstupu v textovém tvaru je rychlejší než generování např. html stránky s obsahem adresáře. Vyžadují lepší porozumění protokolu přenosu souborů a TCP/IP vůbec.

Příkazy programu MS ftp

Tlačítkem Start lze vyvolat hlavní menu MS Windows XP Professional a v něm příkazem aktivovat příkazový režim Windows XP. Na cvičení budeme užívat anonymní ftp servery VŠE: ftp.vse.cz, beta.vse.cz, gama.vse.cz.

Spuštění a ukončení programu MS ftp

V okně Příkazový řádek spustíme klientský program c:>ftp (bez operandu) nebo c:>ftp hostitel. Hostitel znamená IP adresu nebo jméno ftp serveru. Po spuštění programu se zobrazí výzva ve tvaru ftp>. Relaci a klientský program ukončí příkazy ftp>bye nebo exit. Příkaz ftp lze v OS WinXP spustit  i s parametry. Jejich přehled a význam lze získat příkazem ftp -h

Otevření a ukončení spojení

Open hostitel - otevře spojení se vzdáleným počítačem. Close - uzavře aktuální spojení a uživatele odhlásí.

Zobrazení nápovědy v programu ftp

Přehled dostupných podpříkazů ftp lze získat příkazem help (?) bez operandu. Nápovědu pro jeden příkaz vyvoláme ftp>help název_příkazu. Příklad: ftp>help user. Odeslat informace o novém uživateli

Nápověda obsahuje jen popis významu příkazů, nikoli jejich syntaxi.

ftp> help

Příkazy lze zkracovat.  Příkazy:

!               delete          literal         prompt          send

?               debug           ls              put             status

append          dir             mdelete         pwd             trace

ascii           disconnect      mdir            quit            type

bell            get             mget            quote           user

binary          glob            mkdir           recv            verbose

bye             hash            mls             remotehelp

cd              help            mput            rename

close           lcd             open            rmdir

 

Příkazy pro práci se systémem souborů

Je nutné rozlišovat mezi místním a vzdáleným adresářem/souborem. Níže uvedené příkazy mají význam a ovládání obdobné jako v OS DOS a UNIX.

Nejužívanější příkazy

pwd, dir, ls, cd, lcd, get, put, mget, mput.

Příkaz pwd zobrazí jméno pracovního adresáře vzdáleného systému. Příkazy dir, ls zobrazí obsah vzdáleného adresáře.

Příklad ukazuje výpis adresáře na unixovém ftp serveru (zkráceno) příkazem dir (bez operandu).

-rw-r--r--   1 ftpadm   ftpadm        747 May 29  1999 README.uploads

-rw-r--r--   1 ftpadm   ftpadm      10763 Dec 23  1999 ROADMAP.html

-rw-r--r--   1 ftpadm   ftpadm       6247 Dec 23  1999 ROADMAP.m4

drwxr-xr-x  13 ftpadm   ftpadm       4096 Apr  4  1997 atari

drwxr-xr-x  21 ftpadm   ftpadm       4096 Jul 13  2004 bibliography

drwxr-xr-x   5 ftpadm   ftpadm         45 Sep 10  1997 diplomky

-rw-r--r--   1 ftpadm   ftpadm     882269 Sep 30 04:50 du-sort.gz

drwxr-xr-x   7 ftpadm   ftpadm       4096 Apr 16  2004 gnu

drwxr-xr-x   3 ftpadm   ftpadm     692224 Sep 28 17:10 internet-drafts

Výpis obsahu  vzdáleného adresáře může být rozsáhlý a vzniká problém jeho přerušení nebo přesměrování.

K zastavení výpisu na obrazovku lze vyzkoušet vstup z klávesnice

·         Ctrl-s

·         Ctrl-Pause

·         aj.

Přesměrování výpisu obsahu pracovního vzdáleného adresáře na místní disk zajistí příkaz dir s dvěma operandy.

dir * obsah.txt

Aktuální nastavení místního pracovního adresáře zobrazí příkaz: lcd (bez operandu). Místním adresářem je na začátku aktuální adresář platný při spuštění ftp klienta.

Získání vzdáleného souboru a skupiny souborů - příkazy get/mget

Příklady: get rfc2991.txt, mget rfc299?.txt

Získání skupiny vzdálených souborů závisí na aktivaci zástupných znaků ( *, ?) příkazem glob (přepínač). On znamená jejich uplatnění; off jejich potlačení; budou se chápat jako běžné znaky.

Přenos soubor; může probíhat s výzvou. Výzva se nastaví příkazem prompt. Odpovědi na výzvu: y (yes) - další soubor, n (no) - nepřenášet. Ukončení přenosu: zkusit Ctrl-C.

Příklad: Přenos textového souboru v režimu ascii a binary ze serveru beta.vse.cz 24.2.2003

ftp> ascii
200 Type set to A.
ftp> get rfc3455.txt
200 PORT command successful.
150 Opening ASCII mode data connection for rfc3455.txt (79620 bytes).
226 Transfer complete.
ftp: 81527 bajtů přijato do 0.55Vteřin 148.23kB/s.
ftp> binary
200 Type set to I.
ftp> get rfc3455.txt
200 PORT command successful.
150 Opening BINARY mode data connection for rfc3455.txt (79620 bytes).
226 Transfer complete.
ftp: 79620 bajtů přijato do 0.49Vteřin 162.49kB/s.

 

 

Zápis souboru(ů) na server - příkazy put/mput

Příkazem put jméno_souboru se odešle soubor na vzdálený počítač, příkazem mput více souborů.

Příklady: put rfc2991.txt, mput rfc299?.txt

Při zápisu více souborů je nutné aktivovat zástupné znaky. Přenos může probíhat s výzvou. Ukončení přenosu: zkusit Ctrl-C.

Přechody mezi klientským programem a místním OS

Příkaz ! umožní vstup do místního OS bez přerušení klientského programu. Poté lze používat všechny příkazy místního OS. Příkaz exit vrací řízení  klientskému  programu.

Archivy souborů

České: ftp://ftp.cesnet.cz ftp://ftp.muni.cz ftp://ftp.cvut.cz ftp://ftp.vslib.cz ftp://ftp.zcu.cz ftp://ftp.ruk.cuni.cz

Zahraniční: ftp://ftp.ripe.net ftp://ftp.funet.fi ftp://ftp.sunet.se

 

 

 

 

  

 

Přílohy

Interní format FTP příkazů
 
RFC 959                                                     
File Transfer Protocol
 
            USER <SP> <username> <CRLF>
            PASS <SP> <password> <CRLF>
            ACCT <SP> <account-information> <CRLF>
            CWD  <SP> <pathname> <CRLF>
            CDUP <CRLF>
            SMNT <SP> <pathname> <CRLF>
            QUIT <CRLF>
            REIN <CRLF>
            PORT <SP> <host-port> <CRLF>
            PASV <CRLF>
            TYPE <SP> <type-code> <CRLF>
            STRU <SP> <structure-code> <CRLF>
            MODE <SP> <mode-code> <CRLF>
            RETR <SP> <pathname> <CRLF>
            STOR <SP> <pathname> <CRLF>
            STOU <CRLF>
            APPE <SP> <pathname> <CRLF>
            ALLO <SP> <decimal-integer>
                [<SP> R <SP> <decimal-integer>] <CRLF>
            REST <SP> <marker> <CRLF>
            RNFR <SP> <pathname> <CRLF>
            RNTO <SP> <pathname> <CRLF>
            ABOR <CRLF>
            DELE <SP> <pathname> <CRLF>
            RMD  <SP> <pathname> <CRLF>
            MKD  <SP> <pathname> <CRLF>
            PWD  <CRLF>
            LIST [<SP> <pathname>] <CRLF>
            NLST [<SP> <pathname>] <CRLF>
            SITE <SP> <string> <CRLF>
            SYST <CRLF>
            STAT [<SP> <pathname>] <CRLF>
            HELP [<SP> <string>] <CRLF>
            NOOP <CRLF>

 

 

 

 

 

 

 

Záznam komunikace s FTP serverem

 

 

 

USER pinkas

331 User login OK, waiting for password

PASS ******

230-Quota credit: 10000000 Bytes

230 User password OK, CesarFTP server ready

pwd

257 "/"

PASV

227 Entering Passiv Mode (192,64,64,1,8,0)

CWD chyby

250 Directory change OK

PWD

257 "/chyby"

LIST

150 Data connection created for directory listing

TYPE A

200 Type successfully set

NLST

150 Data connection created for directory listing

226-Quota credit: 10000000 Bytes

226 Transfer successfully achieved

QUIT

221 Good Bye

 

 

S použitím datového portu (192,64,64,1,8,0) musíme vytvořit nové telnetové

spojení s počítačem 192.64.64.1 na port 8*256 + 0*1= 2048, tj. spojení na

ftp server. Spustíme novou instanci příkazového řádku a novou instanci telnetu.

FTP server odešle obsah adresáře /chyby do telnetového okna po

navázání spojení. Současně zapíše na řídící kanál zprávu o výsledku přenosu

(226 Transfer successfully achieved).

 

 

 

 

 

Vybrané příkazy FTP

 

![příkaz]

 provede příkaz na lokálním počítači

? [příkaz]

bez operandu zobrazí přehled příkazů, s operandem  zobrazí nápovědu zvoleného příkazu

ascii

nastaví ASCII režim přenosu

bell

nastavení zvukových upozornění

binary

nastaví binární režim přenosu

bye

ukončí ftp program

glob on|off

on - umožňuje užívání zástupných znaků při přenosu více souborů; off - potlačuje tuto funkci

hash

zobrazování průběhu přenosu - znak hash za každých 1KB přenesených znaků

help [příkaz]

bez operandu zobrazí přehled příkazů, s operandem  zobrazí nápovědu zvoleného příkazu

pwd

zobrazí pracovní adresář vzdáleného počítače

cd  [adresář]

změní pracovní adresář na vzdáleném počítači

lcd

bez operandu zobrazí aktuální adresář, jinak změní pracovní adresář na lokálním disku

dir [vzdálený adresář]

vypíše obsah adresáře

ls [vzdálený adresář]

vypíše obsah vzdáleného pracovního adresáře; lze jej pozastavit kl. PAUSE a opět spustit kl. ENTER

mkdir [jméno adresáře]

vytvoří nový adresář na vzdáleném počítači

rmdir  [jméno adresáře]

zruší adresář

bget  jm. souboru

binárně přenese a uloží na lokálním počítači soubor ze vzdáleného počítače

get, recv  jm. souboru

přenese a uloží na lokálním počítači soubor ze vzdáleného počítače

mget  jméno vzdáleného souboru se zástupnými znaky (*)

přenese a uloží na lokálním počítači více souborů ze vzdáleného počítače

put, send  [soubor]

odešle soubor na vzdálený počítač

mput jméno lokálního souboru se zástupnými znaky (*)

odešle více souborů z lokálního na vzdálený počítač

delete  [soubor]

smaže soubor na vzdáleném počítači

mdelete  [soubor]

smaže více souborů na vzdáleném počítači

close 

zruší spojení

prompt

nastaví  interaktivní dotaz na provedení každé části vícenásobného příkazu (např. mget)

status

zobrazí aktuální  nastavení parametrů a statistický přehled  přenosů

quit

ukončí ftp program

 

Vzdálené přihlášení, přístup ke katalogům a databázím

Obsah

o        Principy spolupráce klienta a serveru v protokolu telnet

o        Řídící znaky klávesnice a obrazovky

o        Vyjednávání o parametrech relace

o        Klientské programy, jejich funkce a příkazy

o        Textový klient MS telnet XP

o        Grafický klient PuTTY

o        Využívání vzdáleného přihlášení

o        Úlohy

Principy spolupráce klienta a serveru v protokolu telnet

V terminálových sítích se využívala specializovaná zařízení složená z klávesnice a obrazovky k místnímu nebo vzdálenému připojení ke komunikačnímu portu centrálního počítače. Nazývala se terminál. Výpočet probíhal na centrálním počítači a terminál sloužil k vkládání a přenosu příkazů a příjmu výsledků zpracování.

K ovládání klávesnice a obrazovky terminálu sloužily jednoduché instrukce závislé na výrobci terminálu. Příkladem je instrukce pro výmaz obrazovky od pozice kurzoru do konce řádky. Kódy instrukcí se často lišily podle typu terminálu.

S příchodem personálních počítačů byly terminály nahrazovány mikropočítači. Existence procesoru umožňovala vytváření programů pro napodobení funkcí terminálu v závislosti na jeho typu. Takové napodobování klasického terminálu pomocí mikropočítače se jmenuje emulace. Emulace zajistila, že se nemusely měnit úlohy na centrálním počítači. Nejčastější jsou emulace terminálů typu VT-52, VT100, DEC220, Tektronix, WYSE, aj.

Abstrakcí společných rysů skutečných terminálů byl vytvořen síťový virtuální terminál (NVT - network virtual terminal). Sada příkazů pro NVT představuje společný základ, který je možno v konkrétním případě rozšířit o příkazy specifické pro konkrétní typ terminálu. Klient a server musí vyjednávat o parametrech vzájemné komunikace, aby se rozšíření mohlo uplatnit. Klient obvykle umí emulovat několik typů terminálu a servery telnetu v UNIXu obsahují databázi konkrétních terminálů o rozsahu několika stovek typů. Typ terminálu je základní parametr komunikace mezi klientem a serverem telnetu.

Klient zadává požadavky serveru, který je očekává a vyřizuje na standardním portu 23. Na něm může pracovat i nestandardní server, ovšem musí umět protokol telnet. Nestandardní server může pracovat i na jiném portu než 23, avšak tento port nesmí být rezervovaný pro jiné aplikace

Na serveru je zřízen seznam účtů. Každý účet zahrnuje přihlašovací jméno a heslo. S účtem jsou spjata přístupová práva k souborům a adresářům a práva spouštění programů. Telnet server mívá vlastní správu hesel nebo může integrovat správu hesel operačního systému (např. Windows NT).

Po připojení klienta k serveru proběhne přihlášení. Poté může klient zadávat serveru jednotlivé příkazy, např. příkazy operačního systému vzdáleného počítače. Odpojením od serveru se spojení ukončí. Doba mezi připojením a odpojením se nazývá relace.

Klientský program umožňuje přepínání mezi režimem relace a příkazovým režimem. V příkazovém režimu lze upravovat parametry činnosti klientského programu a ovládat průběh relace. Příkazový režim se rozpozná podle výzvy "telnet>" u textových klientů. Grafický klient umožňuje aktivovat speciální okna.

Protokol telnet je textový. Příkazy jsou jednotlivé znaky nebo krátké sekvence znaků. Znaky a sekvence mají význam určený specifikací protokolu. Hodnoty znaků řídících komunikaci mají symbolické označení.

Protokol telnet umožňuje volbu zobrazení vstupů z klávesnice místního počítače. Rozlišuje se místní a vzdálené echo. Není-li nastaveno místní echo, pak klient zasílá každý zapsaný znak z klávesnice telnet serveru a ten jej vrací zpátky (vzdálené echo) a klientský program jej potom zobrazí. Výhodou je, že uživatel vidí, jaký znak server přijal. Je-li nastaveno místní echo, je znak zapsaný na místním počítači ihned zobrazen. Při zapnutém místním a vzdáleném echu dochází ke zdvojování znaků. Podle aplikace je třeba zapnout/vypnout místní echo.

Režim okamžitého odesílání znaku z klávesnici na vzdálený počítač se nazývá znakový. Má své nevýhody a proto existuje ještě režim řádkový. V něm se znaky zapisují do vyrovnávací paměti klávesnice, lze je editovat a odeslat na vzdálený počítač až po stisknutí <ENTER> (odeslání celé řádky).

Řídící znaky klávesnice a obrazovky

Různé terminály mají různé schopnosti řízení kurzoru a vůbec provádění základních operací s obrazovkou. Mezi základní operace patří: posun kurzoru o sloupec vlevo a výmaz znaku, přechod kurzoru na další pozici tabulátoru, konec řádky (posun kurzoru o řádku níž), návrat vozíku na levý okraj řádky, vymazání obrazovky. Dalšími jsou mazání znaku a řádky, rolování obsahu obrazovky nahoru a dolů.

Složitější operace se vyjadřují pomocí změnových posloupností. Změnu signalizuje netisknutelný znak s hodnotou 27 v kódu ASCII (escape - ESC) a za ním následuje dohodnutá posloupnost znaků. Celý řetězec je pak povelem pro obrazovku k vykonání určité akce.

Pohyb kurzoru řízený neprogramovatelným terminálem

Znak

Činnost

Ctrl-H

Posun kurzoru o sloupec vlevo s výmazem znaku

Ctrl-I

Přechod kurzoru na další pozici tabulátoru

Ctrl-J

Konec řádky (posun kurzoru o řádku níž)

Ctrl-L

Návrat vozíku na levý okraj řádky

Ctrl-M

Vymazání obsahu obrazovky

Jestliže terminál neumí interpretovat posloupnosti znaků začínající znakem ESC a zobrazí jen několik sekvencí začínajících znakem CTRL, pak se nazývá neprogramovatelný terminál.

Vyjednávání o parametrech relace

Po navázání spojení mezi klientem a serverem proběhne vyjednávání o parametrech komunikace. Klient/server si přeje používat (will) nějakou volbu a příjímací strana souhlasí (do) nebo nesouhlasí (dont) s navrženou volbou. Odesilatel si přeje, aby příjemce použil nějakou volbu (do) a příjemce souhlasí (will) nebo odmítá (wont). Odesilatel si přeje nepoužívat nějakou volbu (wont) a příjemce potvrzuje svůj souhlas (dont). Odesilatel si přeje, aby příjemce nepoužíval nějakou volbu (dont) a příjemce potvrzuje, že volbu nepoužije (wont).

V ukázce si klient jako odesilatel přeje, aby příjemce (server) používal echo. Server jako odesilatel říká, že souhlasí (will echo).

2003-03-06 16:14:22    Connecting to 146.102.64.30 port 23

 

2003-03-06 16:14:22    client:    WILL NAWS

2003-03-06 16:14:22    client:    WILL TSPEED

2003-03-06 16:14:22    client:    WILL TTYPE

2003-03-06 16:14:22    client:    WILL NEW_ENVIRON

2003-03-06 16:14:22    client:    DO ECHO

2003-03-06 16:14:22    client:    WILL SGA

2003-03-06 16:14:22    client:    DO SGA

2003-03-06 16:14:22    server:    DO TTYPE

2003-03-06 16:14:22    server:    DO TSPEED

2003-03-06 16:14:22    server:    DO XDISPLOC

2003-03-06 16:14:22    client:    WONT XDISPLOC

2003-03-06 16:14:22    server:    DO NEW_ENVIRON

2003-03-06 16:14:22    server:    DO NAWS

2003-03-06 16:14:22    client:    SB NAWS 80,24

2003-03-06 16:14:22    server:    WILL ECHO

2003-03-06 16:14:22    server:    DO SGA

2003-03-06 16:14:22    server:    WILL SGA

. . .

2003-03-06 16:14:22    server:    DO ECHO

2003-03-06 16:14:22    client:    WONT ECHO

2003-03-06 16:14:22    server:    WILL STATUS

2003-03-06 16:14:22    client:    DONT STATUS

2003-03-06 16:14:22    server:    DO LFLOW

2003-03-06 16:14:22    client:    WONT LFLOW

2003-03-06 16:40:26    client:    SB NAWS 100,35

 

 

Klientské programy, jejich funkce a příkazy

Existují klientské programy telnetu textově a graficky orientované. V prostředí DOS byl v minulosti oblíbený NCSA klient. Byl volně šířen, včetně zdrojových textů programu. V prostředí Windows jsou součástí operačního systému textově zaměřené klientské programy (MS telnet).

Z grafických klientů patří k nejoblíbenějším Putty a TeraTerm. Programy se liší v některých funkcích a stupněm konfigurovatelnosti. Uložení konfiguračních souborů bývá odlišné: dříve se používaly soubory typu .ini, dnes se využívá registr Windows. Vzhledem k odlišnostem klientských programů je nutno konfiguraci věnovat pozornost.

Níže jsou uvedeny nejčastější součásti konfigurace klienta.

o        Typ terminálu (ANSI/VT100, VT220, VT320, aj.) a jeho emulace (místní a vzdálené echo). Nastavení klávesnice (mazání znaku vlevo, kurzorové klávesy a numerická klávesnice: normální režim/aplikace).

o        Definice relace (hostitel, port, jméno relace, označování, ukládání a vyvolávání relací, protokolovací soubor).

o        Okno (výška a šířka, vyrovnávací paměť a přetáčení, tvar kurzoru, převody znaků - kódové stránky, barvy).

o        Spojení telnet (identifikace typu terminálu, automatické udržování spojení, řízení spojení a vyjednávání).

o        Spojení SSH: volba verze a metody šifrování, nastavení autentifikace).

o        Změna konfigurace za chodu programu a příkazy ovlivňující jeho okamžitou činnost.

Textový klient MS telnet XP

Po vyvolání klienta telnetu z příkazového řádku bez udání vzdáleného počítače přejde program do příkazového režimu. Pomocí příkazu "help" zobrazíme přehled dostupných příkazů. Syntaxe je podrobně popsána v Centru pro nápovědu a odbornou pomoc.

Vítá vás program Microsoft Telnet Client.

 

Řídicí znak je CTRL+)

 

Microsoft Telnet> help

 

Příkazy mohou být zadány ve formě zkratek. Podporované příkazy:

 

c    - close          Uzavře aktuální připojení.

d    - display        Zobrazí pracovní parametry.

o    - open hostitel [port] Otevře připojení k hostiteli (výchozí port 23).

q    - quit           Ukončí program telnet.

set  - set            Nastaví možnosti (pro seznam možností zadejte 'set ?' ).

sen  - send           Odešle řetězce serveru.

st   - status         Vytiskne stavové informace.

u    - unset          Zruší nastavení možností.

                      (pro seznam možností zadejte 'unset ?')

?/h  - help           Zobrazí nápovědu.

Microsoft Telnet>

Nastavení parametrů konfigurace telnetu zabezpečuje příkaz "set", zrušení hodnot parametrů provádí příkaz "unset". Nabídka možností příkazu set:

Microsoft Telnet> set ?

bsasdel       Klávesa Backspace bude odeslána jako delete

crlf          Režim New line - Klávesa Enter odešle CR a LF

delasbs       Klávesa Delete bude odeslána jako backspace

escape x      x je znak, použitý k vyvolání příkazové ř. klienta programu Telnet

localecho     Zapne místní odezvu.

logfile x     x je aktuální soubor protokolování

logging       Zapnout protokolování

mode x        x je konzola nebo proud

ntlm          Zapnout ověřování NTLM.

term x        x je ansi, vt100, vt52, nebo vtnt

Ukážeme,jak navázanou relaci opustit, otevřít protokolovací soubor, zahájit protokolování, vrátit se k relaci, přejít do klientského programu, protokolování ukončit a vrátit se k relaci.

CTRL+)
set logfile h:\mstelnet
set logging
<ENTER>
CTRL+)
unset logging <ENTER>

Grafický klient Putty

Putty je mocný nástroj vzdáleného přístupu k počítačům v sítích TCP/IP. Umožňuje otevřenou i šifrovanou komunikaci. Je bohatě konfigurovatelný. Kromě spojení na portech 23 a 22 realizuje unixové rlogin a poskytuje možnost pracovat se syrovým protokolem (raw). Je-li putty nastaven na "raw", pak lze zadávat příkazy jiných textových protokolů (např. FTP nebo HTTP). Po instalaci je uveden v registru systému Windows. Tam jsou uloženy parametry a definice relací.

putty_config

Využívání vzdáleného přihlášení

Přehled:

o        osobní výpočty a zpracování dat na vzdáleném počítači,

o        knihovní katalogy,

o        jiné aplikace (např. zprávy o počasí).

Zpracování dat na vzdáleném počítači

Prostřednictvím protokolu telnet lze zpracovávat data na vzdáleném počítači, jímž bývá unixový počítač. Ukázka obsahuje výpis procesů na počítači beta. Jedním z čekajících procesů je také také proces telnet serveru - in.telnetd.

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2005.10.20 16:10:59 =~=~=~=~=~=~=~=~=~=

Red Hat Linux release 5.0 (Hurricane)

Kernel 2.0.36 on an i586

 

beta.vse.cz login: pinkas

Password:

 

[pinkas@beta pinkas]$ ps -ax

  PID   TTY   STAT  TIME COMMAND

    1  ?      S    0:02 init [3]

    3  ?      SW<  0:00 [kswapd]

    4  ?      SW   0:00 [md_thread]

    5  ?      SW   0:00 [md_thread]

   23  ?      S    0:00 /sbin/kerneld

  166  ?      S    0:00 /usr/sbin/atd

  177  ?      S    0:00 crond

  232  ?      S    0:00 gpm -t ms

  243  ?      S    0:00 httpd

  260  ?      S    0:00 smbd -D

  269  ?      S    0:26 nmbd -D

  272   1     S    0:00 /sbin/mingetty tty1

  . . .

  277   6     S    0:00 /sbin/mingetty tty6

  279  ?      S    0:00 update (bdflush)

 2090  ?      S    0:00 in.telnetd

 1704  ?      S    0:00 httpd

 1761  ?      S    0:00 httpd

 . . .

 2112  p0     R    0:00 ps -ax

[pinkas@beta pinkas]$ exit

Využívání knihovních katalogů

Po připojení k vzdálenému hostiteli je uživatel většinou vyzván k zadání přihlašovacího jména a hesla, ale jsou i případy, kdy tyto údaje poskytovat nemusí a systém ho chápe jako hosta.

Většina aplikací nabízí uživateli globální a lokální nápovědu. Globální obsahuje obecné informace o fondu, o dotazovacím jazyku, o bázích dat a jejich struktuře, o výstupních formátech zobrazení dat, ale i době provozu, aj. Lokální nápověda přináší informace většinou o jednotlivých příkazech.

Současné aplikace jsou velmi rozvinuté a poskytují uživateli mnoho funkcí. Mezi ně patří zasílání vyhledaných záznamů elektronickou poštou, poskytnutí pracovního prostoru na hostitelském počítači, statistika využívání času, možnost nastavení uživatelských parametrů i pro anonymního uživatele, prohlížení rejstříků polí a vyhledávání podle zvolených kritérií. Obsahová charakteristika dokumentů se vyjadřuje pomocí selekčních jazyků: klíčová slova, předmětová hesla, tezaurus, klasifikace (MDT, DDC), jiné.

Přístupy ke knihovním katalogům jsou různého druhu:

o        telnet,

o        www,

o        specializovaný klient:

o        firemní – např. Tinlib (dostupný jen v lokální síti),

o        veřejný – např. klient Z39.50 se jménem ICONE (Inter-Cross OPAC Network Europe)

 

Vybrané knihovny dostupné v protokolu telnet

ČVUT Praha

o        telnet anezka.vc.cvut.cz nebo 147.32.240.22

o        login: anonym nebo library

o        Zadejte typ terminálu: 2

o        Ukončeni relace: 9

Katalog "anezka" patří k nejstarším online katalogům v ČR. Nabízí možnost výběru vhodného kódování češtiny pomocí testovacích řetězců.

Zahraničí

o        Oxford University: telnet library.ox.ac.uk

Vzdálená plocha a vzdálené přihlášení

Existují protokoly, které umožňují přenos požadavků a odpovědí mezi klientem a serverem nejen v textové, ale i v grafické podobě. Lze přenášet grafický obsah vzdálené obrazky na místní obrazovku a spouštět z obrazu na místní obrazovce vzdálené programy. Podobně jako v telnetu je třeba zadat přihlašovací jméno a heslo.

Volně šiřitelným produktem (klient/server) je aplikace VNC (Virtual Network Computing). Uživatel komunikuje se serverem pomocí speciálního prohlížeče, který je součástí distribuce VNC. Existuje další možnost komunikace se serverem VNC pomocí webového prohlížeče. Server VNC obsahuje malý HTTP server, který uživateli zašle aplet. Aplet pracuje v prostředí www prohlížeče a komunikuje se serverem VNC na portu 5800, 5801, atd. v závislosti na počtu otevřených obrazovek.

V prostředí Windows zabezpečuje přístup ke vzdálené ploše počítače v síti serverová aplikace "vzdálená plocha" a klientský program "připojení ke vzdálené ploše". Tyto produkty společnosti Microsoft realizují protokol RDP (remote desktop protocol).

 

Literatura

1.     Dostálek, L. - Kabelová, A. Aplikační protokoly.

2.     Sinclair, I. - Communications with the Amstrad PC. Oxford, BSP Professional Books 1988. 138 s.

3.     Williams, P. - URL: Video Display Terminal Information - VT100.net.

4.     VT100.net: Digital VT100 User Guide.

5.     Real VNC

 

Elektronická pošta a elektronické konference

Obsah

o        Textová povaha poštovních zpráv

o        (E)SMTP server, poštovní klient a jejich komunikace

o        Typy adres příjemce: úplné a zkrácené jméno hostitele

o        MIME: rozšiřující hlavičky

o        Kódování dopisů

o        Protokoly POP3, IMAP, NN a elektronické konference

o        Zabezpečení poštovní komunikace

 

Textová povaha poštovních zpráv

Hlavní poštovní protokoly SMTP, IMAP a POP3, a obdobně jejich zabezpečené verze, jsou textově orientované a k přenosu využívají protokol TCP. Tato skutečnost není patrná, když se používají poštovní klienti s grafickým rozhraním. I volně přístupné webové poštovní systémy mívají prostředky pro zobrazení dopisu v textové formě. Jejich ikony nebývají zvýrazněné, návody je nezdůrazňují a někdy jsou vázané na vyskakovací okna.

Protokol SMTP pro odesílání pošty neobsahuje přísná pravidla chránící poštovní zprávy před zneužitím a falšováním, takže může docházet k nepravostem. Dopis obsahuje hlavičky "received", které dovolují i běžnému uživateli vystopovat cestu dopisu, poznat IP a název předávajících serverů, atp. Je zřejmé, že tento tvar dopisu je užitečný hlavně v problémových situacích.

Tvar dopisu

Zkrácená ukázka představuje textový tvar dopisu odeslaného z webového rozhraní www.quick.cz na poštovní server veverka.vse.cz. Hlavičky "received" čtené zdola nahoru ukazují cestu dopisu od počátku do cíle. Návratová cesta "Return-Path:" je nastavena na účet z domény quick.cz. Jediná řádka zprávy v češtině je pro přenos kódována.

Return-Path: <opinkas@quick.cz>

Received: from vse.vse.cz ([146.102.16.2] verified)

  by vse.cz (CommuniGate Pro SMTP 4.1.8)

  with ESMTP id 21914077 for ypinkas@veverka.vse.cz; Sat, 27 May 2006 11:46:18

  +0200

...

...

Received: from iol.cz (ims-2.iol.cz [194.228.2.89])

        by smtp-out2.iol.cz (Internet on Line ESMTP server) with ESMTP id A3A5733E67;

        Sat, 27 May 2006 11:46:17 +0200 (CEST)

Received: from [192.168.30.65] (Forwarded-For: [146.102.64.219]) by

 ims-2.iol.cz (mshttpd); Sat, 27 May 2006 11:46:17 +0200

From: <opinkas@quick.cz>

To: ypinkas@vse.cz

Message-ID: <b10da3fb110a21.b110a21b10da3f@iol.cz>

Date: Sat, 27 May 2006 11:46:17 +0200

X-Mailer: iPlanet Messenger Express 5.2 HotFix 1.21 (built Sep  8 2003)

MIME-Version: 1.0

Content-Language: cs

Subject: =?iso-8859-2?Q?p=F8=EDm=E9_spojen=ED?=

Priority: normal

Content-Type: text/plain; charset=iso-8859-2

Content-Disposition: inline

Content-Transfer-Encoding: quoted-printable

 

Test p=F8=EDm=E9ho spojen=ED=3A webmail quick a veverka resp=2E kotelna=2E

 

 

(E)SMTP server, poštovní klient a jejich komunikace

Přenos zprávy z klientského SMTP na serverový SMTP

SMTP protokol zahrnuje různé procedury: zahájení a ukončení relace, poštovní transakci, aj. My budeme ručně realizovat zahájení relace, poštovní transakci a ukončení relace. Poštovní transakce má tři kroky: příkaz MAIL, jeden nebo více příkazů RCPT a příkaz DATA. Ukončení relace zajišťuje příkaz QUIT.

Režim "raw" pro ruční realizaci textových protokolů v programu PuTTY

Pomocí programu MS telnet nebo PuTTY lze studovat práci klienta a serveru SMTP. Příkazy protokolu SMTP lze zapisovat ručně. Je nutné pracovat v režimu "raw", který znamená, že jsou na vzdálený systém zasílány všechny znaky vložené na klávesnici, a to i znaky editační, jako např. výmaz znaku. Lze též říci, že tato volba neoznačuje žádný protokol, protože jde o holé TCP. Celou relaci lze protokolovat a tak získat doklad o komunikaci, včetně chybně zapsaných znaků a oprav. Existenci vytvořené relace lze ověřit příkazem netstat -p tcp.

Osvědčuje se, když si v textovém souboru (se správným kódováním) připravíme příkazy, které budeme do interaktivního spojení vkládat. Zvolený text nejdříve přeneseme ze souboru do schránky a potom ze schránky do interaktivní relace stisknutím pravého tlačítka myši.

Podmínkou úspěšnosti je dobrá znalost protokolu SMTP, jeho příkazů a odpovědí. Protokol SMTP je vysoce interaktivní, přináší dobrou diagnostiku chyb a umožňuje nové zadání příkazů, aniž by bylo nutné již navázané spojení uzavřít. Když uděláme chybu během transakce, stačí zadat příkaz RSET, kterým se vynulují dosavadní hodnoty proměnných na straně serveru, a můžeme začít novou transakci MAIL FROM:. Založené TCP spojení nebylo zrušeno a dále trvá.

Pomocí poštovního klienta se přesvědčíme, zda byl dopis odeslán a doručen do schránky příjemce. Provedeme rozbor přijatého dopisu.

Postup při ručním odesílání dopisu na server SMTP

1.     Provedeme konfiguraci relace v programu PuTTY, tj. zadáme doménové jméno SMTP serveru, číslo portu 25, otevřeme soubor protokolu pro záznam relace a otevřeme spojení.

2.     Když se server představí a ohlásí svou připravenost, můžeme vložit příkaz HELO nebo EHLO s doménovým jménem klienta SMTP (doménové jméno stanice).

3.     Zahájíme poštovní transakci.

4.     Po ukončení jedné transakce lze zahájit novou nebo ukončit spojení příkazem QUIT.

Přímá a nepřímá komunikace mezi klientem a serverem SMTP

Ze stanice lokální sítě proběhla ručně komunikace s hlavním poštovním serverem vse.vse.cz. Ten zprávu převzal, uložil ji do fronty pod číslem A713... a relaci ukončil. Místem určení dopisu byl server veverka.vse.cz. Hlavní server vytvořil novou SMTP relaci a zaslal dopis, který "veverka" uložila do poštovní schránky uživatele.

Celou komunikaci lze vyjádřit schematem: A -> B a B -> C. Uprostřed řetězce se nachází B, tj. server vse.vse.cz. Tento server měl roli prostředníka (zprostředkovatele) mezi A a B. Mezi A a C se jedná o nepřímou komunikaci, zprostředkovanou B.

 

220 eso.vse.cz ESMTP Postfix

HELO localhost

250 eso.vse.cz

MAIL FROM: ivo@vse.cz

250 Ok

RCPT tO: ivo@veverka.vse.cz

250 Ok

RCPT tO: ivo@veverka.vse.cz

DATA

354 End data with <CR><LF>.<CR><LF>

Subject" : test pro veverku

To: ivo@veverka.vse.cz

Test pro veverku

.

250 Ok: queued as A7134C7DE1

QUIT

221 Bye

V dialogu klienta a serveru se střídají řádek po řádku příkazy klienta a odpovědi serveru. Odpovědi začínají číselným kódem a pokračují vysvětlujícím řetězcem. Kódu 250 odpovídá několik slovních řetězců v závislosti na kontextu.

Podle protokolu SMTP měl mít příkaz HELO jako parametr plně kvalifikované doménové jméno klienta SMTP. V parametru FROM příkazu MAIL je uvedeno jméno schránky, na kterou se posílají chybové zprávy (označuje se jako <return-path>), tj. jde vlastně o zadání cíle zpáteční cesty.

Příkazy protokolu SMTP tvoří obálku poštovní zprávy, kterou uživatel nevidí. Část zprávy za příkazem DATA tvoří vlastní obsah zprávy. Skládá se ze záhlaví, které je odděleno od textu zprávy prázdnou řádkou, a textu. V ukázce chybí důležité položky záhlaví "From:", "To:", "Date:".

Dopis byl na "veverku" skutečně zaslán a uložen do schránky. V hlavičce "received" je uvedeno doménové jméno a IP adresa počítače, který byl použit jako klient SMTP a představil se jako se svou IP adresou. Pokud by  v odeslané zprávě chyběla položka "To:“, pak by do hlavičky dopisu byla dosazena hodnota "undisclosed-recipients: ;"

 

Return-Path: <ivo@vse.cz>
Received: from vse.vse.cz ([146.102.16.2] verified)
  by vse.cz (CommuniGate Pro SMTP 4.1.8)
  with ESMTP id 25941616 for ivo@veverka.vse.cz; Tue, 03 Apr 2007 16:45:10 +0200
Received: from localhost (localhost [127.0.0.1])
        by vse.vse.cz (Postfix) with ESMTP id F23D913450
        for <ivo@veverka.vse.cz>; Tue,  3 Apr 2007 16:45:09 +0200 (CEST)
X-Virus-Scanned: amavisd-new at vse.cz
Received: from vse.vse.cz ([127.0.0.1])
        by localhost (vse.vse.cz [127.0.0.1]) (amavisd-new, port 10024)
        with ESMTP id YYuWQjRv29aY for <ivo@veverka.vse.cz>;
        Tue,  3 Apr 2007 16:45:04 +0200 (CEST)
Received: from eso.vse.cz (eso.vse.cz [146.102.167.11])
        by vse.vse.cz (Postfix) with ESMTP id 65CF513446
        for <ivo@veverka.vse.cz>; Tue,  3 Apr 2007 16:45:04 +0200 (CEST)
Received: from localhost (jm375h05.znet.vse.cz [146.102.173.19])
        by eso.vse.cz (Postfix) with SMTP id A7134C7DE1
        for <ivo@veverka.vse.cz>; Tue,  3 Apr 2007 16:42:10 +0200 (CEST)
Subject: test pro veverku
To: ivo@vse.cz
Message-Id: <20070403144230.A7134C7DE1@eso.vse.cz>
Date: Tue,  3 Apr 2007 16:42:10 +0200 (CEST)
From: ivo@vse.cz
 
Test pro veverku

 

 

Přímá místní komunikace mezi klientem a serverem ESMTP

Rozšíření jednoduchého poštovního protokolu dává nové možnosti komunikace, aniž by byly narušeny ty základní, definované v SMTP. Jednou z nich je ověřování totožnosti odesilatele (autentifikace).

220 vse.cz ESMTP CommuniGate Pro 4.1.3

EHLO n412h02.vse.cz

250-vse.cz is pleased to meet you

250-HELP

250-PIPELINING

250-SIZE 3145728

250-STARTTLS

250-AUTH=LOGIN

250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5

250-8BITMIME

250 EHLO

MAIL FROM: ......

...

...

QUIT

 

 

Všimněme si příkazu SIZE, kterým server oznamuje maximální velikost dopisu (v bytech), který je ochoten přijmout. Je zřejmé, že překročení zadané hodnoty při odesílání dopisu nevede k doručení dopisu

 

 

Typy adres příjemce: úplné a zkrácené jméno hostitele

V příkladech jsme uváděli adresu příjemce ve tvaru uživatel@vse.cz. Řetězec "vse.cz" není označení stroje (ověříme příkazem ping), ale domény. Dotazem na DNS na doménu vse.cz zjistíme jméno stroje (strojů), který slouží k přijímání nebo odesílání SMTP pošty. V záznamu typu MX (slovně mail exchange) najdeme jméno a  IP adresu. Obdobně můžeme získat potřebné údaje o poštovním serveru veverka.vse.cz.

 

set  type=mx

> veverka.vse.cz

Server:  ipv6jm.net.vse.cz

Address:  146.102.162.162

 

veverka.vse.cz    MX preference = 100, mail exchanger = mx1.vse.cz

veverka.vse.cz    MX preference = 50, mail exchanger = vse.vse.cz

vse.cz            nameserver = vse.vse.cz

vse.cz            nameserver = vse470.vse.cz

vse.cz            nameserver = ns.ces.net

vse.cz            nameserver = mx1.vse.cz

vse.vse.cz        internet address = 146.102.16.2

vse.vse.cz        AAAA IPv6 address = 2001:718:1e02::2

mx1.vse.cz        internet address = 193.179.39.12

ns.ces.net        internet address = 195.113.144.233

ns.ces.net        AAAA IPv6 address = 2001:718:1:101::3

vse470.vse.cz     internet address = 146.102.16.1

 

MIME: rozšiřující hlavičky

Specifikace MIME zavedla doplňkové hlavičky poštovních zpráv: MIME-Version, content-type, content-transfer-encoding, content-disposition. Nové hlavičky spolu s určením kódovacích pravidel obsahu dopisu umožnily další rozvoj elektronické pošty. Možnosti jsou opravdu velké: lze vytvářet jednoduché nebo strukturované dopisy různých typů: multipart/alternative, multipart/mixed, message/xxx, atp. Zde uvedeme zkrácené ukázky strukturovaných dopisů a jejich kodování.

Kódování dopisů

Problém 7bitové kompatibility řeší kódovací schémata. Ta převádějí 8bitové kódování na sedmibitové. Jestliže mezi odesilatelem a příjemcem nehrozí zásah SMTP serveru nepodporujícího MIME, lze dopis poslat v osmibitovém kódování bez převodu.

Níže uvedený dopis vyhovuje rozšíření MIME. Text dopisu je zapsán ve znakové sadě ISO a pro potřeby bezpečného přenosu bylo tělo dopisu zakódováno metodou "quoted-printable". Stejné kódování bylo použito i v hlavičce "subject".

Kódování metodou "quoted-printable"

 

. . .

Subject: =?iso-8859-2?Q?Dom=E1c=ED_=FAkol_z_IZI216/2?=

Date: Sun, 20 May 2001 22:09:55 +0200

MIME-Version: 1.0

  boundary="----=_NextPart_000_0021_01C0E179.9A067220"

. . . 

Content-Type: text/plain; charset="iso-8859-2"

Content-Transfer-Encoding: quoted-printable

 

Dobr=FD den.

Pos=EDl=E1m V=E1m odkaz na HTML str=E1nku (dom=E1c=ED =FAkol), kter=E1 =

umo=BE=F2uje p=F8=EDstup na jinou str=E1nku p=F8es protokoly FTP a HTTP. =

. . .

nen=ED implementov=E1no p=F8=EDmo do str=E1nek, jak tomu = b=FDv=E1. D=ECkuji

za pochopen=ED.

. . .

Kromě metody "quoted-printable" se užívá metoda "base64". Před standardizací se dopisy kódovaly metodou "uuencode" a "uudecode". U nás se obsah dopisu kóduje většinou podle normy ISO-8859-2, pro přenos se využívá quoted-printable nebo base64. Někdy se texty dopisů pro přenos vůbec nekódují.

Kódování metodou "base64"

Kódování base64 nenahrazuje jedno zdrojové písmeno jiným cílovým písmenem. Zdrojový text se rozdělí na šestibitové skupiny a ty se nahrazují písmeny z cílové abecedy, která obsahuje právě 64 znaků. Znaky cílové abecedy leží v první polovině ASCII tabulky. Tři písmena na vstupu (čtyři šestice bitů) jsou zakódována čtyřmi písmeny na výstupu. Krátký příklad ukazuje MIME hlavičky a zakódovaný text (ypinkas).

 

MIME-Version: 1.0

Content-Type: application/octet-stream; name="ypinkas.txt"

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename="ypinkas.txt"

 

eXBpbmthcw==

Pomocí Total Commanderu můžeme kódovat/dekódovat dopisy v MIME zpracované pomocí base64. Viz nabídku Soubory/Zakódovat soubor(MIME,UUE,XXE)...

 

Protokoly POP3, IMAP, NN a elektronické konference

Protokol POP3

Protokol POP3 umožňuje klientskému programu počítače, který není trvale připojen do Internetu, stahovat nevyzvednutou poštu z POP3 serveru, který má přístup k poštovní schránce majitele účtu. Většinou se přenášejí všechny nepřečtené dopisy, takže se schránka vyprázdní. Používá se port TCP/110  pro nešifrovanou komunikaci a port TCP/995 pro šifrovanou komunikaci.

 

Protokol IMAP

Tento protokol byl navržen pro práci se vzdálenou poštovní schránkou. Umožňuje zakládat a rušit složky, manipulovat s jednotlivými dopisy a přenášet dopisy podle výběru na místní počítač. Používá se port TCP/143  pro nešifrovanou komunikaci a port TCP/993 pro šifrovanou komunikaci.

Služba síťových zpráv - NN (network news)

Tato služba umožňuje vytvářet problémově zaměřené skupiny uživatelů, kteří zasílají příspěvky na NN server nebo z něho příspěvky čtou. Server typu NN pracuje na portu 119 při nešifrované komunikaci a portu 563 při šifrované komunikaci. Na rozdíl od listserverů se nové příspěvky automaticky nezasílají všem členům skupiny. Uživatel sám rozhoduje, zda, kdy a s kterým příspěvkem bude pracovat.

Uživatel se musí na NN serveru nejdříve registrovat (subscribe). Registruje se pro jednu nebo více skupin. V případě potřeby může registraci zrušit (unsubscribe). Čtení a vytváření zpráv je s použitím grafického klienta velice snadné. Víceúčelový klient Mozilla Suite obsahuje komponentu pro práci s diskusními skupinami. Viz blíže Okno/Pošta & Diskusní skupiny.

Elektronické konference

Elektronické konference jsou založeny na jednoduchém schematu. Správce počítače vytvoří speciálního uživatele, který bude přijímat přihlášení/odhlášení k určité konferenci. Zájemce použije klienta elektronické pošty a do určité konference se přihlásí. Konferenční server (listserver) přijme zprávu účastníka konference a automaticky ji rozešle všem účastníkům konference. Kromě této základní funkce mívá listserver další pomocné funkce: nápověda, vytváření archivů, jejich indexování, atp. S rozmachem WWW byly vytvořeny WWW brány k přístupu k archivům konferencí.

 

Přihlášení/odhlášení (diskusní skupina)- adresát: správce

 

To: listserv@xxx.cz

From: novakp@xxx.cz

 

subscribe test-l Petr Novak

 

Odhlášení - obdobně

. . .

unsubscribe test-l Petr Novak

 

Příspěvek do diskusní skupiny - adresát test-l

 

To: test-lxxx.cz

From: novakp@xxx.cz

 

 

Zabezpečení poštovní komunikace

Ověřování totožnosti v protokolu ESMTP - metody AUTH

Existují prostředky pro zabezpečení poštovní komunikace na portu 25 (mechanismus SASL) nebo šifrované spojení pomocí SSL/TLS. Nejjednodušší metody AUTH LOGIN resp. PLAIN jsou založeny na překódování uživatelského jména a hesla do base64. Metoda LOGIN je popsána v RFC 2554. Metoda AUTH PLAIN používá jen jeden příkaz obsahující řetězec "authid\0userid\0passwd", kde \0 je hexadecimální nula. Celý řetězec se potom zakóduje pomocí base64.

Spolupráci klienta SMTP a serveru SMTP v sérii výzev a odpovědí ukazuje výsek z protokolu. Server v kódování base64 nejdříve vyzval k zadání hodnoty pro Username:, klient v base64 zaslal přihlašovací jméno, server poslal kódovaně Password: a klient poslal zakódované heslo. Pokus o ověření totožnosti nebyl úspěšný.

 

. . .

250-AUTH=LOGIN

250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5

250-8BITMIME

250 EHLO

AUTH LOGIN

334 VXNlcm5hbWU6

eXBpbmthcw==

334 UGFzc3dvcmQ6

***************

535 authentication failed: incorrect password or account name

. . .

 

Zabezpečení zpráv pomocí SSL/TLS

Viděli jsme, že přístup k poště můžeme rozdělit na dvě části: odesílání a příjem zpráv. Těmto částem odpovídají různé protokoly. Rozvoj WWW vedl k zavedení webového rozhraní k poště (WebMail). Toto rozhraní využívá kombinace protokolů: HTTP (HTTPS) a (E)SMTP.

Prakticky všechny protokoly musí řešit otázku ověřitelnosti totožnosti serveru a klienta, zabezpečení přenosu dat proti odposlechu šifrováním, a problém integrity (neporušenosti a totožnosti zpráv) - kontrolní součty resp. otisky.

V praxi se dnes využívají kromě nezabezpečených verzí protokolu POP3 a IMAP jejich zabezpečené (šifrované) varianty. Místo portu 110 se využívá port 995 a místo portu 143 port 993, místo HTTP na portu 80 se užívá HTTPS na portu 465.

Základy protokolu HTTP

Jiří Kosek ml.

Služba World-Wide Web je postavena na třech základních technologiích -- HTML, URL a HTTP. HTML je značkovací jazyk, který slouží k standardnímu popisu obsahu a struktury webovských stránek. URL je speciální druh adres používaných na Webu -- každá webovská stránka má svoji jednoznačnou adresu právě v podobě URL. HTTP -- Hypertext Transfer Protocol -- je protokol používaný při komunikaci mezi prohlížeči a webovskými servery. Pomocí tohoto protokolu se k serveru přenáší URL stránky, kterou uživatel (přes svůj prohlížeč) požaduje, a naopak server pomocí protokolu HTTP odesílá uživateli zpět stránku zapsanou v HTML.

Protokol HTTP vychází z architektury klient/server. Klient -- v našem případě prohlížeč -- se spojí se serverem a pošle mu požadavek. Server jako reakci na klientův požadavek zasílá odpověď. Přesný formát požadavku a odpovědi je definován ve specifikaci protokolu HTTP. Celou situaci mírně komplikuje to, že dnes existují tři verze protokolu -- 0.9, 1.0 a 1.1. Formát požadavku a odpovědi se v jednotlivých verzích odlišuje.

Obr. 1: Průběh komunikace mezi klientem a serverem

Průběh komunikace mezi klientem a serverem

HTTP verze 0.9

V HTTP/0.9 je formát požadavku velice jednoduchý. Jde o jeden řádek, kde je za klíčovým slovem GET uvedena cesta k požadovanému dokumentu. Pokud chceme pomocí HTTP/0.9 získat například dokument http://www.server.cz/~krystof/linky.html, musíme se připojit k počítači www.server.cz na port 80 (standardní port služby WWW) a zaslat požadavek:

GET /~krystof/linky.html

Jako odpověď nám přijde obsah souboru linky.html. Vše si můžeme sami vyzkoušet a zahrát si na prohlížeč. Stačí spustit telnet a přihlásit se k nějakému serveru na port 80. Pak napíšeme HTTP požadavek a necháme se překvapit, co nám server odešle zpět (viz obr. 2).

Obr. 2: Komunikace s WWW serverem pomocí telnetu

Komunikace s WWW serverem pomocí telnetu

Na tomto místě musíme připomenout, že cesta za slovem GET nemůže být prázdná a musí vždy obsahovat alespoň lomítko:

GET /

Možná vás napadlo, jaký dokument odešle server jako odpověď, pokud v požadavku není určen přímo soubor, ale pouze adresář (nebo dokonce jen kořenový adresář jako v našem příkladě). V tomto případě WWW-server hledá v adresáři soubor, který se jmenuje index.html, default.html či welcome.html -- záleží na konfiguraci. Pokud jej nalezne, odešle jej jako odpověď. Pokud takový soubor neexistuje, odešle výpis obsahu adresáře (pokud to není v konfiguraci serveru zakázáno).

Jména souborů, které se hledají v případě požadavku, který obsahuje pouze jméno adresáře, lze pro server Apache nastavit v konfiguračním souboru srm.conf pomocí direktivy DirectoryIndex. Díky této vlastnosti můžeme používat URL adresy tvaru http://www.server.cz/.

 

 

HTTP verze 1.0

V této verzi protokolu HTTP je syntaxe požadavku již o něco složitější:

 

metoda cesta_k_dokumentu HTTP/1.0
hlavičky
prázdná_řádka
 

Nejpoužívanější metodou je GET -- ta slouží k získání daného dokumentu ze serveru. Další dvě metody, které můžeme použít, jsou HEAD a POST. První z nich zašle pouze hlavičky, které obsahují různé metainformace o dokumentu -- např. datum poslední modifikace apod. Metoda POST slouží k odeslání dat z formuláře na server. V tomto případě za prázdnou řádkou obsahuje požadavek ještě hodnoty jednotlivých polí formuláře.

Hlavičky slouží pro přenos různých doplňujících informací. Každá hlavička je na samostatné řádce a má tvar jméno_hlavičky: hodnota. Význam jednotlivých hlaviček popíšeme později. Jejich použití je nepovinné a proto nejjednodušší požadavek v HTTP/1.0 vypadá takto:

GET /~krystof/linky.html HTTP/1.0
prázdná_řádka
 

Odpověď má v HTTP/1.0 také odlišný formát. Nesestává pouze ze samotného obsahu zasílané stránky, ale obsahuje i mnoho důležitých a užitečných informací.

 

HTTP/1.0 stavový_kód stavové_hlášení
hlavičky
prázdná_řádka
obsah_odpovědi
 

Stavový kód je třímístné číslo, které indikuje, jak se povedlo uspokojit požadavek. Přehled stavových kódů je uveden v tabulce 1.

Stavové hlášení je slovní popis stavového kódu, který je pro člověka přeci jen srozumitelnější. Pokud vše proběhlo v pořádku, měla by první řádka odpovědi vypadat následovně

HTTP/1.0 200 OK

 

 

 

 

 

 

 

 

 

 

.

Tab. 1: Stavové kódy a hlášení HTTP/1.0

Kód

Popis

 

 

1xx -- Informační kódy (nepoužívá se)

 

 

2xx -- Úspěšné vyřízení požadavku

200 OK

Požadavek byl úspěšně zpracován

201 Created

Výsledkem požadavku je nově vytvořený objekt

200 Accepted

Požadavek byl přijat, ale dosud není zpracován

200 No content

Požadavek byl úspěšně zpracován, ale jeho výsledkem nejsou žádná data pro klienta

 

 

3xx -- Přesměrování

301 Moved Permanently

Požadovaný objekt byl trvale přemístěn na jinou adresu

302 Moved Temporarily

Požadovaný objekt byl dočasně přemístěn na jinou adresu

304 Not Modified

Objekt nebyl změněn (odpověď při podmíněném požadavku pomocí hlavičky If-Modified- Since)

 

 

4xx -- Chyba klienta

400 Bad Request

Špatná syntaxe dotazu

401 Unauthorized

Objekt je dostupný pouze po autorizaci

403 Forbidden

Požadavek je v pořádku, ale server nemá povoleno jej vykonat

404 Not Found

Požadovaný objekt nebyl na serveru nalezen

 

 

5xx -- Chyba na straně serveru

500 Internal Server Error

Serveru se něco stalo a nemůže vyplnit požadavek

501 Not Implemented

Server nepodporuje metodu uvedenou v požadavku

502 Bad Gateway

Server, pracující jako gateway, dostal špatnou odpověď od dalšího serveru

503 Service Unavailable

Služba je nedostupná (přetížení, údržba serveru)

 

HTTP verze 1.1

Struktura požadavku i odpovědi zůstává u nejnovější verze HTTP stejná jako u verze 1.0. Přidány jsou však nové hlavičky a některé z nich jsou nyní i povinné.

Předchozí verze protokolu HTTP vytvářely pro každý objekt nové spojení a poté jej pomocí HTTP přenesly. Pokud tedy např. HTML stránka obsahovala čtyři obrázky, pro její stažení bylo potřeba navázat 5 spojení (1 stránka + 4 obrázky). Navázání spojení je však náročné jak na čas, tak na přenosovou kapacitu sítě. HTTP/1.1 proto spojení mezi klientem a serverem po vyřízení požadavku neuzavírá, ale umožňuje jej použít pro přenos více objektů. Tím dochází k ušetření času potřebného k přenosu webovských stránek. Spojení může ukončit klient nebo server tím, že do požadavku/odpovědi zařadí hlavičku Connection: close.

V každém požadavku, který vyhovuje standardu HTTP/1.1, musíme použít hlavičku Host. Jako hodnota se uvádí doménové jméno serveru, ze kterého požadujeme stránku. Nejjednodušší požadavek pak vypadá takto

GET /~krystof/linky.html HTTP/1.1
Host: www.server.cz
prázdná_řádka
 

Použití této hlavičky je povinné kvůli virtuálním serverům. Dnes je na Internetu běžné, že poskytovatelé připojení umožňují na svých serverech vystavovat stránky svým zákazníkům. Jako službu nabízejí i umístění stránek na adrese typu http://www.firma.cz místo obvyklého http://www.poskytovatel.cz/firma. Samozřejmě, že poskytovatel na jednom serveru (počítači) vystavuje stránky několika firem. Problém je však v tom, že server má obvykle jen jednu IP-adresu, ke které se připojují klienti. Prohlížeč se tedy připojí k serveru na port 80 a v požadavku HTTP/1.0 pošle pouze cestu k dokumentu. Server nemá šanci zjistit, z kterého virtuálního serveru je dokument požadován. Tato situace se řešila přiřazením několika IP-adres jednomu počítači. Pro každý virtuální server musela existovat jedinečná IP-adresa. V tomto případě již server podle IP-rozhraní, ke kterému se prohlížeč připojil, mohl určit virtuální server, na který požadavek směřuje.

Toto ne příliš elegantní řešení zbytečně plýtvalo IP-adresami a kladlo zvýšené požadavky na konfiguraci serveru při přidání nového virtuálního serveru. Tím, že požadavky HTTP/1.1 obsahují jméno serveru, odpadá potřeba zřizování nové IP-adresy pro každý virtuální server. Na jedné IP-adrese nyní může být přístupný neomezený počet virtuálních serverů. Jediným háčkem jistě elegantního řešení problému je fakt, že starší prohlížeče nepodporují HTTP/1.1.

HTTP/1.1 přidává i několik nových metod požadavků. Pro potřeby pohodlného publikování na Webu jsou to především metody PUT a DELETE. První z nich slouží k uložení zaslaného objektu (nejčastěji HTML stránky) na dané URL. HTML-editor tak může přímo na WWW-server uložit nově vytvořenou nebo modifikovanou stránku, aniž by se o to musel snažit uživatel sám například pomocí FTP. Metoda DELETE slouží k odstranění stránky ze serveru. Další metody TRACE, CONNECT a OPTIONS slouží k zjišťování, analyzování a nastavení způsobu spojení.

 

 

Nejpoužívanější hlavičky

Verze protokolu HTTP 1.0 definovala 17 hlaviček. HTTP/1.1 tento počet ještě zvětšilo. My si stručně objasníme význam nejdůležitějších hlaviček.

Content-Type

Tato hlavička udává typ přenášených dat. Typ dat se zapisuje pomocí MIME konvence. Pro HTML stránky máme typ text/html, pro obyčejný text text/plain, obrázky mají podle použitého formátu jeden z typů image/gif, image/jpeg nebo image/png. Podle typu dat prohlížeč pozná, jak příchozí data interpretovat. HTML stránka zasílaná prohlížeči jako odpověď, proto mezi hlavičkami obsahuje následující řádku

 

Content-Type: text/html

Location

Tato hlavička obsahuje adresu dokumentu, který byl přesunut. Tuto hlavičku server posílá v případech, kdy stavový kód požadované operace začíná na 3. Prohlížeč většinou automaticky nahraje stránku, na kterou Location ukazuje. Jako adresu je potřeba uvést úplné absolutní URL. Např.

Location: http://manes.vse.cz/~xkosj06/index.html

If-Modified-Since

Pokud v požadavku použijeme tuto hlavičku společně s nějakým datem, server nám požadovaný objekt vrátí pouze, pokud byl od zadaného data změněn. Př. Chceme získat dokument pouze, pokud se od 30. března 1998 změnil:

 

If-Modified-Since: Mon, 30 Mar 1998 12:00:00 GMT

User-Agent, Server

V hlavičce User-Agent posílá prohlížeč svoji identifikaci -- obvykle své jméno, číslo verze a platformu, na které je spuštěn. Server naopak obsahuje identifikaci serveru, který vyřídil požadavek. Př.:

 

User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT) 
 
Server: Apache/1.3b3

 

 

 

© Jiří Kosek 1999