Vyhledávání


vytiskni pdf

Základní nástroje


Úvod

Následující nástroje jsou nutné znát, jestliže používáte linuxový server. Nemůžeme zde uvést kompletní nápovědu pro tyto příkazy, ale nezapomínejte, že mnohem podrobnější nápovědu získáte po zadání příkazu s parametrem --help, "man netstat", nebo "info netstat". Nakonec malé upozornění, že v prostředí linuxu musíte dávat pozor na používání malých a velkých písmen (příkaz ping existuje, příkaz Ping ne).

ping

Tento příkaz je běžně znám všemi uživateli počítače a xistuje na všech serverech. Umožňuje zkontrolovat, jestli vzdálený server komunikuje. Syntaxe příkazu je velmi jednoduchá: ping -c 5 213.186.xx.xx znamená: poslání 5x ping na server, který má IP adresu 213.186.xx.xx Místo IP adresy můžeme také použít název serveru, jestliže je vyplněn ve vašem host fileu, nebo v DNS serveru. Příkaz ping můžeme například použít na zjištění, jestli je server stále připojen. Jestliže nepřidáte za příkaz parametr -c 5 pro poslání pouze pěti pingů, příkaz poběží dokud ho nevypnete. Vypíná se kombinací Crtl+c. Existuje ještě komplexnější příkaz hping, který ale není automaticky instalován ve všech distribucích.

ifconfig

ifconfig umožňuje zobrazení nastavení síťové karty, ale také toto nastavení umožňuje měnit napsáním:

ifconfig eth0 213.186.xx.xx netmask 255.255.255.0 broadcast 213.186.xx.255

Protože hodnoty, které jsme v příkladu použili jsou standardní, můžete lehce napsat eth0 213.186.xx.xx (netmask and broadcast korespondují s C třídou adresy). Poznámka: v momentě, kdy server bootuje bude toto nastavení ztracené. V tento čas musíte změnit soubor: /etc/sysconfig/network-script/ifcfg-eth0. Můžete stejně tak použít linuxconf, který provede stejnou práci a snaží cestou. Pomocí ifconfig můžeme také aktivovat a deaktivovat síťovou kartu, jednouduše napsáním ifconfig eth0 up, nebo down.

arp

Příkaz arp umožňuje propojit IP adresu a MAC adresu. Důležité možnosti použití jsou:
arp -a pro zobrazení všech arp položek z tabulky
arp -d hostname pro smazání položky z tabulky
arp -s hostname mac_address pro zapsání nové položky do tabulky

route

Tento příkaz slouží pro zobrazení, přidání či odebrání cest, které jsou deklarovány na vašem serveru. Ty jsou zde proto, aby server mohl nalézt adresy, které nejsou na lokální síti a uvést bránu (gateway), kam se mají pakety posílat.
Pro zobrazení cest zadejte route -n (pro toto můžete použít i netstat -nr). Parametr -n umožňuje neuvádět jmené rozlišení.

Pro přidání cesty (základní nastavení):
route add default gateway 192.168.0.1 (Směrování na bránu, kam posílám všechny pakety, které nejdou do lokální sítě)

Pro zrušení této cesty:
route del default

Pro přidání cesty k indikovanému hostu:
route add -host 195.98.246.28 gateway 192.168.0.1 (Indikuje masku sítě, jestliže tato neodpovídá třídě vaší adresy)

Pro přidání cesty do označené sítě:
route add -net 195.98.246.0 netmask 255.255.0.0 gateway 192.168.0.1

Nakonec pro smazání jedné z těchto cest nahradíte add slovem del. Brána nejčastěji odpovídá vašemu routeru. Chcete-li získat cetu, kterou jste přidali při každém restartu, uložte příkaz do souboru: /etc/rc.d/rc.local

netstat

Toto je méně známý příkaz, který je ale velice užitečný. Nemůžeme zde zdokumentovat všechny parametry, proto doporučujeme přečíst si manuál. Obecně příkaz umožňuje: zjištění otevřených portů na vašem serveru, na jakém rozhraní jsou, se kterým transportním protokolem (TCP či UDP) pracují, zda je vytvořené aktivní připojení, zobrazení cest.

Pro zobrazení aktivních připojení netstat -nt pro otevřené porty netsat.ntl. Také můžeme zkontrolovat, jestli cesta existuje ze základního nastavení. Příklad: Existuje cesta (ze základního nastavení) na server 213.186.xxx? Použijte -nr | grep 213.186.xx.xx
  • Parametr -a provede výčet pracujících portu, nebo těch, které naslouchají
  • Parametr -i uvede informace o síťovém rozhraní
  • Parametr -p uvede mnoho informací (přijaté pakety, ztracené pakety, vrácené pakety, velikost, ...) o přenosu dat na síti u konkrétního protokolu

Příklad:
netstat -p ip_address

lsof

lsof vypisuje otevřené soubory a aktivní procesy.
lsof -i označí procesy na internetu.
Můžýeme redukovat seznam na jeden konkrétní protokol (příklad: lsof -ni tcp:25), nebo na jeden systém (příklad: lsof -ni @213.186.xx.xx:25).
Pro zobrazení všech otevřených souborů na /hda1 použijte: lsof /dev/hda1.
lsof -i -a -p 1234 zobrazí všechny síťové porty, které jsou otevřené procesem 1234 (-a je čteno jako operátor "a").
lsof -p 1234, 12345 -u 500 zobrazí všechny otevřené soubory uživatelem 500, nebo procesem 1234 či 12345.
Toto umí i jiné příkazy (fuser, ps, netstat,...), které jsou ale velmi komplikované.

traceroute

Traceroute umí vystopovat cestu, kterou používají pakety při své cestě k cíli na Internetu. Můžeme použít jak IP adresu, tak název serveru. Poznámka: S tímto příkazem se nám nemusí zobrazit některé firewally a routery.
Tento příkaz je užitečný pro zjištění kde se ztrácí pakety, nebo dochází ke zpomalení. Existuje zde několik možných parametrů, jako třeba pro určení až osmi bran k dosažení systému, ale lepší popis naleznete v manuálnu.

telnet

Telnet je nepostradatelný příkaz. Existuje v podobě klienta na všech systémech a jako server na Unixu. Poznámka: do základních instalací nových distribucí (serverové verze) se vkládá čím dál tím méně. Pomocí telnetu se lze připojit ke vzdálenému serveru a spravovat ho pomocí shell. Z důvodu bezpečnosti ale tento nástroj nepoužíváme. Lépe zabezpečený je SSH, kde se heslo zasílá šifrované. Existují i SSH klienti pro Windows. Nicméně telnet klienti umožňují provádět mnoho věcí jako třeba číst a psát zprávy či kontrolovat jiné protokoly. Příklad: telnet můžeme použít pro připojení k FTP serveru "telnet my_ftp_server 21", nebo k webovému serveru "telnet my_web_server 80".

FTP

FTP je nástroj, který umožňuje přesun souborů mezi dvěma systémy. Jistě znáte nějakéhjo FTP klienta jako třeba ws_ftp.
Pod Linuxem existuje FTP server, který je instalován v základu každé distribuce a můžete ho aktivovat z /etc/inetd.conf. Tento FTP server není propojen s instalací Apache. Na systémech Microsoft musíte instalovat IIS pro zprovoznení této FTP služby.
Poznámka: FTP server způsobuje závažný bezpečnostní problém. Měli by jste spíše používat SFTP, který je dostupný s SSH.

Zde jsou příkazy, které budete používat nejčastěji:
dir: pro výpis adresáře
cd název_adresáře: pro změnu adresářew
get soubor: pro zkopírování souboru na systém, nak terém zrovna pracujete
mget *: pro zkopírování všech souborů v adresáři na vaši pracovní stanici
put my_file: pro zkopírování souboru na server
mput *: pro kopírování souborů, které jsou uloženy ve vašem adresáři
binary: pro přepnutí do binárního režimu
exit: pro ukončení

Existuje ještě řada dalších příkazů, ale zde jsou ty hlavní, které se používají pro kopírování souborů a adresářů mezi různými systémy. Příkaz FTP vám umožní provádět mnoho procedur přesunu dat dokonce i mezi linux a windows systémy bez jakékoli instalace FTP klienta či nastavování samba.

nslookup

Nástroj nslookup umožňuje dotazování se DNS serveru na informace o doménách a systémech. Ze základu používá nslookup DNS server nastavený pro váš systém, avšak můžete se dotazovat i jiných DNS serverů.
[root@xxxxx /] nslookup

host

Velice podobný příkaz, který je ale jednoduší na použití.
host 213.186.xx.xx zobrazí informace o doméně
host -v -t mx vase_domena zobrazí informace o MX serveru
host -l -t any vase_domena pro zobrazení všech serverů domény

who

Tento příkaz umožňuje zobrazit seznam uživatelů, kteří jsou přihlášeni na váš systém.

last

Tento příkaz umožňuje zobrazit připojení, která byla provedena k vašemu serveru.
last bez parametru: zobrazí všechny informace
last david: zobrazí všechna připojení uživatele david
last reboot: zobrazí všechny rebooty systému včetně data akce

lastb je variantou příkazu last. Tento příkaz hledá pouze špatné loginy (čte soubor /var/log/btmp file)

finger

finger je služba, která zobrazuje informace o uživatelích vašeho systému. finger is a service which allows you to get information about the users accounts of your system. Tato služba je pro vyloučení. Syntaxe je velmi jednoduchá:
finger toto@remote_system

Pro podrobné informace použijte parametr -l Tento příklad ukazuje 2 otevřená připojení na systému.
[root@xxxxx] finger -l

Netcat

Tento nástroj slouží k vytváření propojení (socket) mezi počítači. My ho používáme jako klient netcat my_server.uk 200 (připojení na portu 23 na server my_server.uk) nebo jako server netcat -l -p 80 (naslouchá na portu 80). Umožňuje také skenování portů.
Here are some examples:

netcat -t ns213.186.xx.xx 23 chová se jako klient telnet
netcat -l -p 23 > spy.log naslouchá na portu 23 (telnet) a ukládá do spy.log vše co napíše klient
netcat -l -p 23 < my_command spustí příkazy, které jsou v my_command
netcat -l -p 23 -e my_command po připojení spustí příkaz
netcat -vv remote_sytem 1-100 umožňuje spustit sken na vzdáleném systému
netcat -vv -z -i 10000 -r 127.0.0.1 1-200 dovoluje náhodně skenovat porty 1 až 100 s pauzami. Předešli jsme detekci