Netcat

Iš Žinynas.
Jump to navigation Jump to search

Netcat yra kompiuterinių tinklų įrankis skirtas skaityti ir į juos rašyti panaudojant TCP arba UDP tinklo jungtis. Netcat praktiškai skirtas daugiau skriptų rašymo pritaikymui, dėl jo ypač gausių galimybių. Jis pritaikomas įvairioms su kompiuteriniais tinklais ar serveriais iškilusioms problemoms pręsti. Tai ypač naudingas įrankis tiek sistemų administratoriams tiek tinklo audito ekspertams ir pradžiamoksliams kurie nagrinėja TCP/IP protokolo veikimą.

Netcat taip pat vadinamas "Armijos daugiafunkciniu peiliuku skirtu TCP/IP", dėl savo turimų galimybių įskaitant, prievadų skanavimą, failų siuntimą ir klausyma, taip pat jis gali būti naudojamas ir kaip "backdooras".

Visu interface klausymasis[keisti]

nc -l -p 8080 -s 0.0.0.0

Arba

nc -l -p 8080 0.0.0.0 

Niekada neuždaryti[keisti]

while :; do nc -l -p 8080 -k -q -1 -s 0.0.0.0; done

Jungtis su tam tikru ip[keisti]

Jeigu mašinoje turime daug ip ir norime, kad prie nuotolinio serverio jungtumėmės nurodytu ip, pridedame parametrą -s, atrodys taip:

nc -s lokalus_ip nutoles_adres.as 21

Backup over lan naudojant netcat[keisti]

Situacija, kai pradeda failinti ssd diskas ir reikia padaryti jo atsarginę kopiją į NAS, tuomet užkrovus live cd ir įdėjus naują diską "supushinti" viską atgal..

Sąvokos:

  • nas.lan -> NAS kuriame bus laikoma atsarginė kopija
  • pc.lan -> PC kuriame failina diskas ir keičiame jį nauju...
  • pc.lan.img.gz -> Daromo backup archyvo failas

Reikalinga, kad abiejuose pc būtų įdiegti įrankiai: netcat, pv, gzip. Duomenų suspaudimą/atspaudimą taikysime tiktai pc.lan, kad bereikalingai neapkrautime nas.lan.

Backup[keisti]

Prisijungiame prie nas.lan ir paleidžiame netcat (klausimosi režimu):

nc -l -p 9000 > ./pc.lan.img.gz

pc.lan pushiname disko atvaizdą į nas.lan:

dd if=/dev/sda bs=4M status=progress conv=noerror,sync | pv | gzip | nc nas.lan 9000

Abu procesai abėjose pusėse pabaigoje turėtų išsijungti automatiškai. Vėliau galima patikrinti backup archyvą:

gzip -t ./pc.lan.img.gz && echo "Backup OK"

Restore[keisti]

Išimame iš pc.lan senajį diską ir įdedame naują, užsikrauname kokį nors Linux live cd, pvz.: Gentoo, ArchLinux ar kt. Susitvarkome tinklą ir paleidžiame netcat (klausimosi režimas lauks kol nas.lan pradės siųsti backup archyvą):

nc -l -p 9000 | pv | gzip -dc | dd of=/dev/sda bs=4M status=progress

Prisijungiame prie nas.lan ir siunčiame backup archyvą:

cat ./pc.lan.img.gz | nc pc.lan 9000