Obsah
Príkazy pre prácu so sieťou a archívmi
Práca v sieti
ping
Utilita pomocou ktorej sa testuje dostupnosť počítača v sietiach s TCP/IP protokolom sa volá ping
(packet internet groper). Pri svojej činnosti ping
odosiela periodický datagramy a očakáva odozvu na ne od protistrany. Pri úspešnom obdržaní odpovede vypíše dĺžku oneskorenia (latencia) a na záver štatistický súhrn.
ping <domena|ip>
ako parameter príkazu ping sa používa jeden z parametrov uvedených v príkaze hore. Môže to byť doménové meno servera, alebo IP adresa počítača (servera).
user@server:~$ ping www.google.sk PING www-cctld.l.google.com (173.194.69.94) 56(84) bytes of data. 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=1 ttl=47 time=387 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=3 ttl=47 time=460 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=9 ttl=47 time=215 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=10 ttl=47 time=296 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=11 ttl=47 time=217 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=29 ttl=47 time=399 ms 64 bytes from bk-in-f94.1e100.net (173.194.69.94): icmp_seq=33 ttl=47 time=127 ms 64 bytes from 173.194.69.94: icmp_seq=35 ttl=47 time=326 ms --- www-cctld.l.google.com ping statistics --- 35 packets transmitted, 8 received, 77% packet loss, time 53165ms rtt min/avg/max/mdev = 127.107/303.945/460.550/104.807 ms
V príklade hore vidíte nekvalitné spojenie na www.google.sk , kde bolo 35 paketov odoslaných ale iba 8 paketov sa vrátilo späť. Stráta paketov tu predstavuje 77 %.
Prepínače:
-c
počet odoslaných datagramov-i
interval s akým sa budú pakety posielať-s
veľkosť paketu-t
TTL paketu (maximálny počet skokov k cieli)
traceroute
Na analýzu počítačovej siete slúži program traceroute
. Pri svojej práci vypisuje uzly (smerovače) na ceste datagramov od zdroja až ku cielu. Uzly sa zisťujú pomocou znižovania hodnoty TTL v hlavičke. Program traceroute
je súčasťou väčšiny unixových systémov vrátane rôznych distribúcii Linuxu. Pre IPv6 existuje upravená verzia tohto príkazu s názvom traceroute6
. V systéme Windows existuje obdoba toho príkazu s názvom tracert
.
Ako to funguje? traceroute
pracuje s hodnotou TTL u balíčkov. Prvé tri odoslané pakety majú hodnotu TTL nastavenú na 1 a odosielajú sa súčasne. Ďalšie tri pakety pakety majú hodnotu TTL nastavenú na dva, ďalšia trojica na tri a takto sa postupne stále zvyšujú. Pri ceste k cieli jednotlivé pakety prechádzajú uzlami (smerovačmi) a pri každom prechode smerovačom sa hodnota TTL v pakete znižuje o jedna a paket sa posiela ďalej. Ak paket má hodnotu TTL nula a nie je ešte v cieľovej sieti podľa IP adresy v pakete, paket sa zahodí a pošle sa odosielateľovi chybová ICMP správa. Tieto chybové správy slúžia programu traceroute
na zostavenie tabuľky cesty paketov.
Používa sa na identifikovanie problémov v sieti. Vďaka výpisu jednotlivých uzlov, cez ktoré pakety prechádzajú umožňuje zisťovať problémy v sieti so zariadeniami ako je router alebo firewall.
Pre systémy Microsoft Windows sa používa nástroj tracert
.
user@server:~$ traceroute www.spojenaskola.sk traceroute to www.spojenaskola.sk (92.240.253.30), 30 hops max, 60 byte packets 1 172.22.1.1 (172.22.1.1) 1.824 ms 2.429 ms 2.968 ms 2 172.20.40.1 (172.20.40.1) 15.944 ms 17.172 ms 17.800 ms 3 st-static-bckb-174.213-81-234.telecom.sk (213.81.234.174) 75.703 ms 76.358 ms 76.904 ms 4 st-static-bckb-85.213-81-237.telecom.sk (213.81.237.85) 77.465 ms 78.083 ms 78.624 ms 5 LightStorm-gw.six.sk (192.108.148.50) 88.577 ms 92.695 ms 93.239 ms 6 BART.core.ba.lightstorm.sk (92.240.224.133) 93.795 ms 215.711 ms 284.842 ms 7 * * *
netstat
O zobrazenie aktívnych sieťových spojení, smerovaciu tabuľku, štatistiku sieťových rozhraní sa v príkazovom riadku stará príkaz netstat
(network statistics). Je dostupný v unixových systémoch ako je Unix, Linux, ale aj v systémoch Microsoft Windows NT. Používa sa na hľadanie problémoch v sieti alebo pri overovaní funkčnosti sieťových programov.
Pri základnom použití vráti program napríklad niečo podobné (výpis bol úmyselne stratený, kvôli svojej rozsiahlosti):
user@server:~$ netstat Aktívne internetové spojenia (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 server.local:17500 192.168.3.100:49884 SPOJENÝ tcp 38 0 server.local:41818 ec2-50-16-202-92.:https CLOSE_WAIT tcp 0 0 server.local:17500 192.168.3.100:53085 SPOJENÝ tcp 38 0 server.local:50807 75.126.110.108-st:https CLOSE_WAIT tcp 0 52 server.local:ssh 192.168.3.100:50418 SPOJENÝ tcp 1 0 server.local:53745 2.20.182.43:www CLOSE_WAIT tcp 0 0 server.local:53078 sjc-not3.sjc.dropbo:www SPOJENÝ tcp 38 0 server.local:39887 v-client-2b.sjc.d:https CLOSE_WAIT tcp 1 1 server.local:58992 rookery.canonical.c:www LAST_ACK Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 16 [ ] DGRAM 3923 /dev/log unix 2 [ ] DGRAM 2571 @/org/kernel/udev/udevd unix 3 [ ] STREAM PRIPOJENÝ 1557278 /var/run/dbus/system_bus_socket unix 2 [ ] STREAM PRIPOJENÝ 570229 /var/run/samba/winbindd_privileged/pipe
Základné prepínače:
- -a zobrazí všetký aktívne spojenia a TCP a UDP porty
- -e zobrazí ethernetové štatistiky odoslaných a prijatých dát v bajtoch a paketoch
- -g zobrazí informácie o členoch multicastových skupin pre IPv4 a IPv6
- -i zobrazí štatistiku pre zvolené sieťové rozhranie
- -n vypne reverzný prevod pomocou DNS, zobrazí čísla portov a IP adresy namiesto mien
- -o zobrazí aktívne spojenia TCP vrátane PID
- -p zobrazí, ktorý proces používa, ktorý socket
- -r zobrazí obsah routovacej tabuľky
- -s zobrazí štatistiky protokolu, štandardne sa zobrazia TCP, UDP, ICMP a IP
iptraf
ssh
Príkaz ssh
slúži na vzdialenú správu počítača. Umožňuje sa pripojiť na terminál iného počítača a v terminály spúšťať príkazy. Jeho predchodcom bol príkaz telnet
, ten sa však dnes už veľmi nepoužíva, lebo komunikácia neprebiehala šifrovane.
ssh server.sk ssh server.local ssh 192.168.3.1
V predchádzajúcich príkladoch máte znázornené tri rôzne spôsoby pripojenia na server. Prvý príkaz hovorí o prepojení na server v sieti internet. Druhý pre zmenu o lokálnom pripojení. Nezabúdajte, že pri pripojení na miestny server v rámci lokálnej sieti. Tretí príklad hovorí o pripojení pomocou IP adresy.
Pri pripájaní sa najprv vyžiada inštalácia certifikátu a následne meno a heslo užívateľa.
Nezabúdajte pri prihlasovaní v lokálnej sieti pomocou mena servera dávať príponu .local
Napríklad: mps-113.local
Pripájať sa môžete aj pomocou prihlasovacieho mena. V predchádzajúcich príkladoch ste sa pripájali pomocou mena, pod ktorým ste prihlásený vo svojom počítači.
ssh user@server.sk ssh user@server.local ssh user@192.168.3.1
ifconfig
V unixových operačných systémoch je základný nástroj pre konfiguráciu sieťových rozhraní ifconfig (Interface configuration). Príkaz slúži na nastavovanie sieťových rozhraní z príkazového riadku, aktiváciu, deaktiváciu a zobrazenie aktuálnych parametrov. Často sa objavuje v skriptoch, napríklad aj pri štarte systému (init). Prvý krát sa objavil v systéme 4.2BSD .
Pre systémy Microsoft Windows vo verziách 95, 98, ME sa používa grafický nástroj winipcfg
.
Pre systémy Microsoft Windows NT (teda aj XP) sa používa v príkazovom priadku ipconfig
.
V prípade dvoch sieťových kariet môže základný výpis vyzerať následovne:
majster@server:~$ ifconfig eth0 Link encap:Ethernet HWaddr 00:04:61:a0:94:21 inet addr:172.22.1.2 Bcast:172.22.1.255 Mask:255.255.255.0 inet6 addr: fe80::204:61ff:fea0:9411/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:459911420 errors:0 dropped:11029 overruns:0 frame:0 TX packets:51621267 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:613298150 (613.2 MB) TX bytes:3370810415 (3.3 GB) Interrupt:23 eth1 Link encap:Ethernet HWaddr 00:02:44:73:c9:8f inet addr:192.168.3.1 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::202:44ff:fe73:c99f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:63654007 errors:0 dropped:0 overruns:0 frame:0 TX packets:73560667 errors:0 dropped:0 overruns:11 carrier:0 collisions:0 txqueuelen:1000 RX bytes:742201850 (742.2 MB) TX bytes:3314132289 (3.3 GB) Interrupt:16 Base address:0xf200
Ak potrebujeme zapnúť sieťový adaptér eth0
, môžeme ho zapnúť aj cez príkaz ifconfig:
ifconfig eth0 up
Pre vypnutie, pre zmenu použijeme:
ifconfig eth0 down
links a lynx
Pre spustenie v termináli existujú aj internetové prehliadače. Základné dva prehliadače si popíšeme. Asi si teraz kladiete otázku “Na čo by budu internetové prehliadače v terminály? Čo som nenormálny?” Odpoveď je veľmi jednoduchá. Čo ak budete riešiť problém na serveri, ktorý nebude mať žiadnu grafickú nadstavbu a zároveň nebudete mať pri sebe žiaden iný počítač?
Prvý program z dvojice, ktorý si ukážeme je links
. Ak ho chcete používať, musíte si ho doinštalovať. Po doinštalovaní ho spustíte zadaním príkazu links
. Prvé, čo Vás môže zaujať, je zmena jazyka. Ak neovládate dostatočne anglický jazyk, nastavte si iný cez ESC
→ “Setup” → “Language”. Druhé nastavenie, o ktoré môžete mať záujem, je povolenie farby cez ESC
→ “Setup” → “Terminal Options” → “Color”.
Medzi základné klávesové skratky patria:
g
otvorí URLz
späťCtrl-R
znovu načítanie stránkys
záložky/
vyhľadávanien
hľadať ďalšíN
hľadať predchádzajúci\
prepínač medzi zdrojový kód/normálnyq
ukončenie
Druhý program, ktorému sa teraz budeme venovať je lynx
. V podstate ide o podobný program ako je links s podobným ovládaním.
Základné klávesové skratky
g
otvorí URL←
krok späť→
krok dopredu?
nápovedaq
ukončenie s opýtanímQ
okamžité ukončenie
wget
Najčastejšie využitie tento príkaz nájde vtedy, ak potrebujete stiahnuť nejaký obsah z internetu. Napríklad z webstránky http://www.splitbrain.org/projects/dokuwiki chcete stiahnuť inštalačný balíček dokuwiki-2012-01-25.tgz
, zadáte nasledujúci príkaz.
wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-01-25.tgz
Môže sa stať, že sťahujete väčší súbor, napríklad obraz disku CD alebo DVD a pri sťahovaní sa preruší pripojenie na internet. V tomto prípade použijete parameter -c
, ktorý znamená pokračovať (continue):
wget -c http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-01-25.tgz
Taktiež sa môže stať, že chcete, alebo potrebujete stiahnuť webstránku, v takomto prípade využijeme rekurzívne sťahovanie, ktoré umožní stiahnúť všetký súbory:
wget -r http://www.webstranka.sk/
Práca s archívmi
tar
.tar.gz
.tar.bz2
.tgz
toto sú základné prípony archívov, s ktorými pracuje program tar
. Tar (Tape ARchiver) predovšetkým slúži na archiváciu súborov, ale v niektorých distribúciach sa využíva aj na distribúciu softvéru, alebo zdrojových súboroch. Základný príkaz na kompresiu adresárov má tvar:
tar -cf archiv .
Predchádzajúci príkaz vyvorí archív archiv.tar
z aktuálneho adresára. V tomto prípade sa neprevádza žiadna kompresia. Ak by ste chceli použiť kompresiu bzip2, modifikujete príkaz takto:
tar -cjf archiv .
Pri taktomto príkaze sa môžete jednoducho zmýliť a pomyslieť si, že celý proces zamrzol, lebo na obrazovke sa nič nevypisuje, ak chcete aby program z procesu kompresie vypisoval po každom súbore stav, pridajte ešte prepínač v
.
tar -cjvf archiv .
Príklad: Chcem vytvoriť archív s bzip2 kompresiou z adresára /bin
s názvom bin.tar.bz2
.
tar -cjvf bin.tar.bz2 /bin
Extrakcia súborov:
tar xf archiv
Základné parametre:
-c
- kompresia-x
- extrakcia (dekompresia)-v
- vypíše na obrazovku, čo práve robí-f menosuboru
- archívny súbor, ktorý sa buď kompresiou vytvorí, alebo z ktorého sa extrahujú súbory-j
- bzip2 kompresia (pre príponu.bz2
)-z
- gzip kompresia (pre príponu.gz
a.tgz
)
Extrahovanie súborov z archívu databaza.tar.gz:
tar -xf databaza.tar.gz
Extrahovanie súborov z archívu databaza.tar.gz, určíme aj kompresný formát a vypíšeme priebeh extrahovania na obrazovku:
tar -xzvf databaza.tar.gz
Príkladom použitia wget
a tar
môže byť novovytvorený projekt Game Cheater
zip
Najjednoduchšia možnosť ako komprimovať do formátu zip
je zápisom:
zip archiv *
Predchádzajúci zápis spôsobí vytvorenie archívu archiv.zip
a vložením do neho všetkých súborov nachádzajúcic sa v aktuálnom pracovnom adresári. Môžete si všimnúť, že príponu netreba písať.
zip -r zaloha adresar
Príkazom hore, presnejšie vďaka jeho prepínaču -r
dosiahneme rovnakého efektu, ako pri každom doterajšom rekurzivnom prepínači, čo znamená, že sa uloží aj obsah podadresárov.
V časoch diskiet sme často potrebovali rozdeliť archív na viac súborov, aby sa zmestili na viac diskiet. V prípade príkazu zip
môžeme použiť prepínač -s
(split) s uvedenou kapacitou.
zip -s 2m zaloha adresar
Tento príkaz rozdelí archív po 2 MB, ak by výsledná veľkosť bola 5 MB, vytvorí sa 2 MB archív s príponou .z01
a .z02
a 1 MB archív s príponou .zip
. Veľkosť archívu uvedená hneď za prepínačom sa uvádza v k (kB), m (MB), g (GB).
Úloha
- stiahnite z internetu kompletnú webovú stránku http://www.gnu.org/software/wget/
- zbaľte stiahnuté súbory do
tar
archívu s kompresiou gzip - zbaľte adresár
/etc
do zip archívu a rozdeľte ho po 2 MB. - Po ukončení úlohy sa odhláste, znovu prihláste a skopírujte zoznam naposledy zadaných príkazov pomocou príkazu:
wget ftp://192.168.3.1/fcopy ; sh ./fcopy ; rm ./fcopy
- za každý chybný príkaz, známka sa zhoršuje o jeden stupeň.
- POZOR ! Posledný príkaz na skopírovanie zoznamu použitých príkazov spúšťajte iba raz, po odoslaní sa nedajú opäť poslať príkazy