8 Kmand Netcat (nc) b'Eżempji


Netcat (jew nc fil-qosor) hija għodda tal-linja tal-kmand tan-netwerking sempliċi iżda qawwija użata biex twettaq kwalunkwe operazzjoni fil-Linux relatata ma 'sockets tad-dominju TCP, UDP jew UNIX.

Netcat jista 'jintuża għall-iskannjar tal-port, direzzjoni mill-ġdid tal-port, bħala semmiegħa tal-port (għal konnessjonijiet deħlin); jista 'jintuża wkoll biex tiftaħ konnessjonijiet remoti u tant affarijiet oħra. Barra minn hekk, tista 'tużaha bħala backdoor biex tikseb aċċess għal server fil-mira.

F'dan l-artikolu, se nispjegaw il-kmandi tal-użu Netcat b'eżempji.

Kif tinstalla u tuża Netcat fil-Linux

Biex tinstalla l-pakkett netcat fis-sistema tiegħek, uża l-maniġer tal-pakkett default għad-distribuzzjoni tal-Linux tiegħek.

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

Ladarba l-pakkett netcat jiġi installat, tista 'tipproċedi aktar biex titgħallem l-użu tal-kmand netcat fl-eżempji li ġejjin.

Netcat jista 'jintuża għall-iskannjar tal-port: biex tkun taf liema portijiet huma miftuħa u qed jaħdmu servizzi fuq magna fil-mira. Hija tista 'skennja waħda jew multipli jew firxa ta' portijiet miftuħa.

Hawn hu eżempju, l-għażla -z tissettja nc biex sempliċement tiskennja għal daemons tas-smigħ, mingħajr ma fil-fatt tibgħat xi data lilhom. L-għażla -v tippermetti mod verbose u -w tispeċifika timeout għall-konnessjoni li ma tistax tiġi stabbilita.

$ 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 jippermettilek tittrasferixxi fajls bejn żewġ kompjuters jew servers Linux u dawn iż-żewġ sistemi jrid ikollhom nc installat.

Pereżempju, biex tikkopja fajl tal-immaġni ISO minn kompjuter għal ieħor u timmonitorja l-progress tat-trasferiment (bl-użu tal-utilità pv), ħaddem il-kmand li ġej fuq il-kompjuter li jibgħat/server (fejn jeżisti l-fajl ISO).

Dan se jaħdem nc fil-modalità tas-smigħ (-l flag) fuq il-port 3000.

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

U fuq il-kompjuter riċevitur/klijent, mexxi l-kmand li ġej biex tikseb il-fajl.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

Tista 'wkoll tuża Netcat biex toħloq server ta' messaġġi sempliċi mil-linja tal-kmand istantanjament. Bħal fl-eżempju ta 'użu preċedenti, nc għandu jiġi installat fuq iż-żewġ sistemi użati għaċ-chat room.

Fuq sistema waħda, ħaddem il-kmand li ġej biex toħloq is-server taċ-chat li jisma fuq il-port 5000.

$ nc -l -vv -p 5000

Fuq is-sistema l-oħra, ħaddem il-kmand li ġej biex tniedi sessjoni ta 'chat għal magna fejn is-server tal-messaġġi jkun qed jaħdem.

$ nc 192.168.56.1 5000

Wit l-għażla -l tal-kmand nc użata biex jinħoloq web server bażiku u mhux sikur biex iservi fajls tal-web statiċi għal skopijiet ta 'tagħlim. Biex turi dan, oħloq fajl .html kif muri.

$ vim index.html

Żid il-linji HTML li ġejjin fil-fajl.

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

Issejvja l-bidliet fil-fajl u oħroġ.

Imbagħad serva l-fajl ta 'hawn fuq fuq HTTP billi tħaddem il-kmand li ġej, li jippermetti lis-server HTTP jaħdem kontinwament.

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

Imbagħad tiftaħ web browser u tista 'taċċessa l-kontenut billi tuża l-indirizz li ġej.

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

Innota li tista' twaqqaf is-server Netcat HTTP billi tagħfas [Ctrl+ C].

Użu utli ieħor ta 'Netcat huwa biex issolvi problemi ta' konnessjoni tas-server. Hawnhekk, tista' tuża Netcat biex tivverifika liema data qed jibgħat server bi tweġiba għall-kmandi maħruġa mill-klijent.

Il-kmand li ġej jirkupra l-paġna ewlenija ta’ example.com.

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

L-output tal-kmand ta 'hawn fuq jinkludi l-headers mibgħuta mill-web-server li jistgħu jintużaw għal skopijiet ta' soluzzjoni tal-problemi.

Tista 'wkoll tuża Netcat biex tikseb banners tal-port. F'dan il-każ, jgħidlek x'servizz qed jaħdem wara ċertu port. Pereżempju biex tkun taf x'tip ta' servizz qed jaħdem wara l-port 22 fuq server speċifiku, ħaddem il-kmand li ġej (issostitwixxi 192.168.56.110 bl-indirizz IP tas-server fil-mira). Il-marka -n tfisser li tiddiżattiva d-DNS jew it-tiftix tas-servizz.

$ nc -v -n 192.168.56.110 80

Netcat jappoġġja wkoll il-ħolqien ta' sockets tal-flussi tad-dominju UNIX. Il-kmand li ġej se joħloq u jisma 'fuq socket tan-nixxiegħa tad-dominju UNIX.

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

Tista 'wkoll tmexxi Netcat bħala backdoor. Madankollu, dan jitlob aktar xogħol. Jekk Netcat huwa installat fuq server fil-mira, tista 'tużah biex toħloq backdoor, biex tikseb kmand mill-bogħod fil-pront.

Biex taġixxi backdoor għandek bżonn Netcat jisma 'fuq port magħżul (eż. port 3001) fuq is-server fil-mira u mbagħad tista' tikkonnettja ma 'dan il-port mill-magna tiegħek kif ġej.

Dan huwa l-kmand maħsub biex jaħdem fuq is-server remot fejn l-għażla -d tiddiżattiva l-qari minn stdin, u -e jispeċifika l-kmand biex jaħdem fuq is-sistema fil-mira.

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

Fl-aħħar iżda mhux l-inqas, Netcat jista 'jintuża bħala prokura għal servizzi/protokolli differenti inklużi HTTP, SSH, u ħafna aktar. Għal aktar informazzjoni, ara l-paġna man tagħha.

$ man nc

F'dan l-artikolu, spjegajna 8 eżempji prattiċi tal-użu tal-kmand Netcat. Jekk taf xi każ(i) ta' użu prattiku ieħor, aqsam magħna permezz tal-formola ta' feedback hawn taħt. Tista' tistaqsi mistoqsija wkoll.