Netcat, užitočný pomocník
Dnes si predstavíme mocného a jednoduchého pomocníka s názvom netcat. Netcat je jednoduchá utilitka, ktorá číta a zapisuje dáta prenášané sieťou prostredníctvom TCP a UDP protokolu. Môže byť používaná buď samostatne alebo prostredníctvom skriptov.
My si ukážeme, ako ho možno použiť na prenos súborov medzi dvoma linuxami, port redirector, vzdialené čítanie logových súborov a ich zálohovanie na svojom logserveri. Samozrejme, že možnosti implementácie sú veľmi rozsiahle, nakoľko sa jedná o flexibilný nástroj. Jedna z možností je použitie netcatu ako portscanner s čítaním informácií s inetd.
Inštalácia je v podstate bezproblémová. Po stiahnutí napríklad z ftp.compclub.sk/pub, stačí balík rozbaliť, spustiť konfiguračný skript, ktorý nemá štandardný názov configure, ale stupidh a samotnu inštaláciu
tar xzvf netcat_1.10.orig.tar.gz cd netcat_1.10.orig ./stupidh make linux
Výsledkom je script s názvom nc, ktorý nakopírujeme do adresára, ktorý je v prehľadávacej ceste, napr /usr/sbin.
Teraz sa pozrime na jednotlivé možnosti použitia.
1. Náhrada telnetu
Syntax je jednoduchá. Oproti telnetu ma jednu malú výhodu, že je možné ukončiť ho kombináciou ctrl-C a nie je potrebné zadávať kombináciu ctrl-], quit. Ďaľšou výhodou je, že nie je treba používať rôzne sleep timeouty pri komunikácii alebo except shell pre skriptom riadenú komunikáciu. Jednoduché príklady:
nc moj.server.sk 25 (telnetové pripojenie k sendmail portu servera)
echo -e "GET / HTTP 1.0 \n\n" | nc moj.server.sk 80
(načíta index stránku z web servera a pošle ju na stdout)
2. Prenos súborov z jedného servera na druhý.
V tomto prípade predpokladáme, že na oboch serveroch je nainštalovaný netcat. Na jednom serveri bude bežat v listen móde, na druhom bude vysielať. V podstate jeho činnosťou je iba prenášanie nami dodaných dát medzi oboma strojmi. Takže nasledujú príklady:
jednoduchá záloha súborov
na vysielacom serveri
tar cfp - /adresar | compress -c | nc -w 3 ciel.server.sk 8888
na prijímacom serveri
nc -l -p 8888 | uncopress -c | tar xvfp -
Treba si uvedomiž, že dáta nie sú v žiadnom prípade kryptované ako pri scp, ale na zálohovanie v privátnom subnete, alebo kopírovanie verejných dát, mirror php stránok, rôzne synchronizácie a podobne sa moze celkom hodiť. Navyše číta zo STDIN a píše na STDOUT, takže použitie v skriptoch je jednoduché.
Analogicky netcat môžeme použiť na vzdialené čítanie logov programov, ktoré nepoužívajú syslog, kde sme zvyknutí používať logovanie na vzdialeny stroj a tam zasa na consolu, alebo ich priebežné zálohovanie na log serveri. Takže nasledovne:
na vysielacom serveri
tail -f mojsubor.log | nc -w 3 ciel.server.sk 8888
na prijímacom serveri
nc -l -p 8888 | tail -f > /dev/tty12 (pre čítanie)
nc -l -p 8888 > /var/log/mojsubor.log (pre zálohovanie)
3. Presmerovanie trafficu (port redirector)
Ako jednoduchý port redirector alebo aplikačnú relay v spolupráci s daemonom inetd alebo xinetd môžeme presmerovavať požiadavky prichádzajúce na server na iný server a iný port. V príklade to môze vyzerať v konfiguračnom subore inetd nasledovne:
www stream tcp nowait nobody /sbin/tcpd /usr/sbin/nc -w 3
cielovy.server.sk 1080
Vhodné to môže byť napríklad pri údržbe servera na jednoduchú aktiváciu jeho zálohy.
Súčasťou distribúcie zdrojového kódu sú rôzne scripty na kopírovanie dát medzi servermi, vyhľadávanie údajov pomocou altavisty, port scanning a iné. Verím, že si netcat obľúbite tak ako ja.
Související odkazy
Školení: Návrh a používání MySQL databáze

Naučte se používat jednu z nejrozšířenějších databází. Dozvíte se vše potřebné od návrhu až po samotné využití MySQL v projektech.
Školení pro všechny, kteří se chtějí naučit efektivně pracovat s MySQL nebo se v práci s touto databází zlepšit.
Přihláška a podrobné informace
Přehled názorů
Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.


