8 Netcati (nc) käsk koos näidetega


Netcat (või lühidalt nc) on lihtne, kuid võimas võrgu käsurea tööriist, mida kasutatakse Linuxis mis tahes toimingute tegemiseks, mis on seotud TCP, UDP või UNIX-domeenipesadega.

Netcati saab kasutada pordi skaneerimiseks, pordi ümbersuunamiseks, pordikuulajana (sissetulevate ühenduste jaoks); seda saab kasutada ka kaugühenduste ja nii paljude muude asjade avamiseks. Pealegi saate seda kasutada tagauksena, et pääseda juurde sihtserverile.

Selles artiklis selgitame Netcati kasutuskäske näidetega.

Netcati installimine ja kasutamine Linuxis

Netcati paketi installimiseks oma süsteemi kasutage oma Linuxi levitamiseks vaikepaketi haldurit.

$ yum install nc                  [On CentOS/RHEL]
$ dnf install nc                  [On Fedora 22+ and RHEL 8]
$ sudo apt-get install Netcat     [On Debian/Ubuntu]

Kui netcati pakett on installitud, saate jätkata, et õppida järgmistes näidetes käsu netcat kasutamist.

Netcati saab kasutada sadamate skannimiseks: selleks, et teada saada, millised sadamad on sihtmasinas avatud ja töötavad. See suudab skannida ühte või mitut avatud porti.

Siin on näide: valik -z seab nc lihtsalt kuulama deemoneid otsima, ilma et neile tegelikult andmeid saadetaks. Valik -v lubab üksikasjaliku režiimi ja -w määrab ühenduse aegumise, mida ei saa luua.

$ nc -v -w 2 z 192.168.56.1 22     #scan a single port
OR
$ nc -v -w 2 z 192.168.56.1 22 80  #scan multiple ports
OR
$ nc -v -w 2 z 192.168.56.1 20-25  #scan range of ports

Netcat võimaldab teil faile üle kanda kahe Linuxi arvuti või serveri vahel ja mõlemas süsteemis peab olema nc installitud.

Näiteks ISO-pildifaili kopeerimiseks ühest arvutist teise ja ülekande edenemise jälgimiseks (utiliidi pv abil) käivitage saatja/serveri arvutis (kus ISO-fail on olemas) järgmine käsk.

See töötab nc kuulamisrežiimis ( -l lipp) pordil 3000.

$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso  | pv | nc -l -p 3000 -q 5

Ja käivitage vastuvõtja/klientarvutis faili saamiseks järgmine käsk.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

Netcati abil saate luua ka kohese lihtsa käsurea sõnumserveri. Nagu eelmises kasutusnäites, peab nc olema installitud mõlemasse jututoa jaoks kasutatavasse süsteemi.

Vestlusserveri loomiseks porti 5000 käivitage ühes süsteemis järgmine käsk.

$ nc -l -vv -p 5000

Teises süsteemis käivitage järgmine käsk, et käivitada vestlusseanss arvutisse, kus töötab sõnumside server.

$ nc 192.168.56.1 5000

Alustage käsu nc suvandiga -l , mida kasutatakse põhilise, ebaturvalise veebiserveri loomiseks staatiliste veebifailide õppimiseks. Selle näitamiseks looge .html fail, nagu näidatud.

$ vim index.html

Lisage faili järgmised HTML-read.

<html>
        <head>
                <title>Test Page</title>
        </head>
        <body>
                      <p>Serving this file using Netcat Basic HTTP server!</p>
        </body>
</html>

Salvestage muudatused faili ja väljuge.

Seejärel esitage ülaltoodud fail HTTP kaudu, käivitades järgmise käsu, mis võimaldab HTTP-serveril pidevalt töötada.

$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done

Seejärel avage veebibrauser ja pääsete sisule juurde järgmise aadressi abil.

http://localhost:8080
OR
http://SERVER_IP:8080

Pange tähele, et saate Netcati HTTP-serveri peatada, vajutades klahvi [Ctrl + C] .

Teine kasulik Netcati kasutusviis on serveri ühenduse probleemide tõrkeotsing. Siin saate Netcati abil kontrollida, milliseid andmeid server saadab vastusena kliendi väljastatud käskudele.

Järgmine käsk tõmbab saidi example.com avalehe.

$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80

Ülaltoodud käsu väljund sisaldab veebiserveri saadetud päiseid, mida saab kasutada tõrkeotsingu eesmärgil.

Netcati saate kasutada ka pordibännerite hankimiseks. Sel juhul ütleb see teile, milline teenus töötab teatud pordi taga. Näiteks selleks, et teada saada, mis tüüpi teenus konkreetses serveris porti 22 taga töötab, käivitage järgmine käsk (asendage 192.168.56.110 sihtserveri IP-aadressiga). Lipp -n tähendab DNS-i või teenuse otsingu keelamist.

$ nc -v -n 192.168.56.110 80

Netcat toetab ka UNIX-domeeni voogepesade loomist. Järgmine käsk loob ja kuulab UNIX-domeeni voo pistikupesa.

$ nc -lU /var/tmp/mysocket &
$ ss -lpn | grep "/var/tmp/"

Netcati saate käivitada sama hästi kui tagauks. See nõuab siiski rohkem tööd. Kui Netcat on installitud sihtserverisse, saate seda kasutada tagaukse loomiseks, kaugkäskluse saamiseks.

Tagaukseks on vaja, et Netcat kuulaks sihtserveris valitud porti (nt port 3001) ja seejärel saate oma arvutiga selle porti ühendada järgmiselt.

See on käsk, mis on ette nähtud kaugserveris käitamiseks, kus valik -d keelab stdinilt lugemise ja -e määrab käsu, mida käivitada sihtsüsteemis.

$ nc -L -p 3001 -d -e cmd.exe 

Ja lõpuks, Netcati saab kasutada erinevate teenuste/protokollide, sealhulgas HTTP, SSH ja paljude teiste puhverserverina. Lisateavet leiate selle man-lehelt.

$ man nc

Selles artiklis oleme selgitanud 8 praktilist Netcati käsu kasutamise näidet. Kui teate mõnda muud praktilist kasutust, jagage meiega allpool oleva tagasiside vormi kaudu. Võite ka küsimuse esitada.