8 Netcat (nc) Skipun með dæmum


Netcat (eða nc í stuttu máli) er einfalt en öflugt netkerfisskipanalínuverkfæri sem notað er til að framkvæma hvaða aðgerð sem er í Linux sem tengist TCP, UDP eða UNIX-lénsinnstungum.

Netcat er hægt að nota fyrir gáttaskönnun, tilvísun gátta, sem gáttahlustara (fyrir komandi tengingar); það er líka hægt að nota það til að opna fjartengingar og svo margt annað. Að auki geturðu notað það sem bakdyr til að fá aðgang að miðlara.

Í þessari grein munum við útskýra Netcat notkunarskipanir með dæmum.

Hvernig á að setja upp og nota Netcat í Linux

Til að setja upp netcat pakkann á vélinni þinni skaltu nota sjálfgefna pakkastjórann fyrir Linux dreifingu þína.

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

Þegar netcat pakkinn hefur verið settur upp geturðu haldið áfram til að læra notkun netcat skipunarinnar í eftirfarandi dæmum.

Netcat er hægt að nota fyrir gáttaskönnun: til að vita hvaða höfn eru opin og keyra þjónustu á markvél. Það getur skannað eina eða fleiri eða fjölda opinna gátta.

Hér er dæmi, valmöguleikinn -z setur nc til að leita einfaldlega að hlustunarpúkum, án þess að senda nein gögn til þeirra. Valmöguleikinn -v virkjar orðlausa stillingu og -w tilgreinir tímamörk fyrir tengingu sem ekki er hægt að koma á.

$ 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 gerir þér kleift að flytja skrár á milli tveggja Linux tölva eða netþjóna og bæði þessi kerfi verða að hafa nc uppsett.

Til dæmis, til að afrita ISO myndskrá frá einni tölvu til annarrar og fylgjast með framvindu flutnings (með því að nota pv tólið), keyrðu eftirfarandi skipun á sendanda/miðlara tölvunni (þar sem ISO skráin er til).

Þetta mun keyra nc í hlustunarham (-l fána) á port 3000.

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

Og keyrðu eftirfarandi skipun á móttakara/viðskiptavinartölvunni til að fá skrána.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

Þú getur líka notað Netcat til að búa til einfaldan skipanalínuskilaboðaþjón samstundis. Eins og í fyrra notkunardæminu verður nc að vera uppsett á báðum kerfum sem notuð eru fyrir spjallrásina.

Í einu kerfi skaltu keyra eftirfarandi skipun til að búa til spjallþjóninn sem hlustar á port 5000.

$ nc -l -vv -p 5000

Í hinu kerfinu skaltu keyra eftirfarandi skipun til að hefja spjalllotu á vél þar sem skilaboðaþjónninn er í gangi.

$ nc 192.168.56.1 5000

Með -l valmöguleikanum á nc skipuninni sem notuð er til að búa til einfaldan, óöruggan vefþjón til að þjóna kyrrstæðum vefskrám í kennslutilgangi. Til að sýna þetta skaltu búa til .html skrá eins og sýnt er.

$ vim index.html

Bættu við eftirfarandi HTML línum í skrána.

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

Vistaðu breytingar í skránni og hættu.

Berið síðan ofangreinda skrá yfir HTTP með því að keyra eftirfarandi skipun, sem gerir HTTP þjóninum kleift að keyra stöðugt.

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

Opnaðu síðan vafra og getur nálgast efnið með því að nota eftirfarandi heimilisfang.

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

Athugaðu að þú getur stöðvað Netcat HTTP netþjóninn með því að ýta á [Ctrl+ C].

Önnur gagnleg notkun Netcat er að leysa vandamál við nettengingu. Hér geturðu notað Netcat til að sannreyna hvaða gögn netþjónn sendir til að bregðast við skipunum sem gefnar eru út af viðskiptavininum.

Eftirfarandi skipun sækir heimasíðu example.com.

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

Framleiðsla ofangreindrar skipunar inniheldur hausana sem vefþjónninn sendir sem hægt er að nota í bilanaleit.

Þú getur líka notað Netcat til að fá portborða. Í þessu tilviki mun það segja þér hvaða þjónusta er í gangi á bak við ákveðna höfn. Til dæmis til að vita hvers konar þjónustu er í gangi á bak við höfn 22 á tilteknum netþjóni skaltu keyra eftirfarandi skipun (skipta um 192.168.56.110 fyrir IP tölu miðþjónsins). -n fáninn þýðir að slökkva á DNS eða þjónustuleit.

$ nc -v -n 192.168.56.110 80

Netcat styður einnig að búa til UNIX-lénsstraumsinnstungur. Eftirfarandi skipun mun búa til og hlusta á strauminnstungu fyrir UNIX-lén.

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

Þú getur eins keyrt Netcat sem bakdyr. Þetta kallar hins vegar á meiri vinnu. Ef Netcat er sett upp á miðlara geturðu notað hann til að búa til bakdyr, til að fá fjarstýringu.

Til að bregðast við bakdyrum þarftu að Netcat hlustar á valið tengi (t.d. port 3001) á miðlara miðlarans og þá geturðu tengst þessu tengi úr vélinni þinni sem hér segir.

Þetta er skipunin sem ætlað er að keyra á ytri þjóninum þar sem -d valkosturinn slekkur á lestri frá stdin, og -e tilgreinir skipunina sem á að keyra á markkerfinu.

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

Síðast en ekki síst er hægt að nota Netcat sem umboð fyrir mismunandi þjónustu/samskiptareglur þar á meðal HTTP, SSH og margt fleira. Fyrir frekari upplýsingar, sjáðu mannasíðu þess.

$ man nc

Í þessari grein höfum við útskýrt 8 hagnýt dæmi um notkun Netcat skipana. Ef þú þekkir önnur hagnýt notkunartilvik skaltu deila með okkur í gegnum athugasemdaformið hér að neðan. Þú getur líka spurt spurninga.