8 Netcat (nc) Commandfin pẹlu Awọn apẹẹrẹ


Netcat (tabi nc ni kukuru) jẹ irinṣẹ laini aṣẹ nẹtiwọọki ti o rọrun sibẹsibẹ ti o lagbara ti a lo fun ṣiṣe eyikeyi iṣiṣẹ ni Lainos ti o ni ibatan si awọn ibọwọ TCP, UDP, tabi UNIX.

Netcat le ṣee lo fun wíwo ibudo, redirection ibudo, bi olutẹtisi ibudo kan (fun awọn isopọ ti nwọle); o tun le ṣee lo lati ṣii awọn isopọ latọna jijin ati ọpọlọpọ awọn ohun miiran. Yato si, o le lo bi afẹhinti lati ni iraye si olupin afojusun kan.

Ninu nkan yii, a yoo ṣalaye awọn aṣẹ lilo Netcat pẹlu awọn apẹẹrẹ.

Bii o ṣe le Fi sii ati Lo Netcat ni Lainos

Lati fi sori ẹrọ package netcat sori ẹrọ rẹ, lo oluṣakoso package aiyipada fun pinpin Lainos rẹ.

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

Lọgan ti a ti fi package netcat sori ẹrọ, o le tẹsiwaju siwaju lati kọ ẹkọ lilo aṣẹ netcat ninu awọn apẹẹrẹ atẹle.

Netcat le ṣee lo fun ọlọjẹ ibudo: lati mọ iru awọn ibudo ti o ṣii ati ṣiṣe awọn iṣẹ lori ẹrọ ibi-afẹde kan. O le ṣe ọlọjẹ ọkan tabi ọpọ tabi ibiti awọn ibudo ṣiṣi silẹ.

Eyi ni apeere kan, aṣayan -z ṣeto nc lati ṣe ọlọjẹ nìkan fun awọn daemons tẹtisi, laisi fifiranṣẹ eyikeyi data si wọn gangan. Aṣayan -v n jẹ ki ipo ọrọ-ọrọ ati -w ṣalaye akoko ipari fun asopọ ti ko le fi idi mulẹ.

$ 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 n gba ọ laaye lati gbe awọn faili laarin awọn kọmputa Linux meji tabi awọn olupin ati pe awọn ọna wọnyi mejeeji gbọdọ ti fi sii nc.

Fun apẹẹrẹ, lati daakọ faili aworan ISO lati kọmputa kan si omiiran ati ṣe atẹle ilọsiwaju gbigbe (lilo ohun elo pv), ṣiṣe aṣẹ atẹle lori oluṣẹ olupin/olupin (nibiti faili ISO wa).

Eyi yoo ṣiṣẹ nc ni ipo gbigbọ ( -l Flag) lori ibudo 3000.

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

Ati lori olugba olugba/kọnputa alabara, ṣiṣe aṣẹ atẹle lati gba faili naa.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

O tun le lo Netcat lati ṣẹda olupin fifiranṣẹ laini aṣẹ ti o rọrun lesekese. Gẹgẹbi ninu apẹẹrẹ iṣaaju lilo, nc gbọdọ fi sori ẹrọ lori awọn ọna ṣiṣe mejeeji ti a lo fun yara iwiregbe.

Lori eto kan, ṣiṣe aṣẹ atẹle lati ṣẹda olupin iwiregbe ti ngbọ lori ibudo 5000.

$ nc -l -vv -p 5000

Lori eto miiran, ṣiṣe aṣẹ atẹle lati ṣe ifilọlẹ igba iwiregbe si ẹrọ kan nibiti olupin fifiranṣẹ nṣiṣẹ.

$ nc 192.168.56.1 5000

Wit aṣayan -l ti aṣẹ nc ti a lo lati ṣẹda ipilẹ, olupin wẹẹbu ti ko ni aabo lati sin awọn faili wẹẹbu aimi fun awọn idi ẹkọ. Lati ṣe afihan eyi, ṣẹda faili .html bi o ti han.

$ vim index.html

Ṣafikun awọn ila HTML wọnyi ninu faili naa.

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

Fipamọ awọn ayipada ninu faili ki o jade.

Lẹhinna sin faili ti o wa loke HTTP nipa ṣiṣe pipaṣẹ wọnyi, eyiti yoo jẹ ki olupin HTTP ṣiṣẹ ni igbagbogbo.

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

Lẹhinna ṣii ẹrọ lilọ kiri lori ayelujara kan ati pe o le wọle si akoonu nipa lilo adirẹsi atẹle.

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

Akiyesi pe o le lati da olupin Netcat HTTP duro nipa titẹ [Ctrl + C] .

Lilo miiran ti iwulo ti Netcat ni lati ṣoro awọn oran asopọ asopọ olupin. Nibi, o le lo Netcat lati ṣayẹwo iru data ti olupin kan n firanṣẹ ni idahun si awọn aṣẹ ti alabara ṣe.

Atẹle atẹle gba awọn oju-ile ti apẹẹrẹ.com.

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

Ijade ti aṣẹ ti o wa loke pẹlu awọn akọle ti a firanṣẹ nipasẹ olupin-wẹẹbu eyiti o le lo fun awọn idi laasigbotitusita.

O tun le lo Netcat lati gba awọn asia ibudo. Ni ọran yii, yoo sọ fun ọ kini iṣẹ ti n ṣiṣẹ lẹhin ibudo kan. Fun apẹẹrẹ lati mọ iru iṣẹ wo ni nṣiṣẹ lẹhin ibudo 22 lori olupin kan pato, ṣiṣe aṣẹ atẹle (rọpo 192.168.56.110 pẹlu adirẹsi IP olupin olupin). Flag -n tumọ si lati mu DNS tabi awọn wiwa iṣẹ ṣiṣẹ.

$ nc -v -n 192.168.56.110 80

Netcat tun ṣe atilẹyin ẹda ti awọn iṣan ṣiṣan ṣiṣan-aye UNIX. Atẹle atẹle yoo ṣẹda ati tẹtisi lori iho ṣiṣan ṣiṣan-aaye UNIX kan.

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

O le ṣe daradara ṣiṣe Netcat bi ẹhin ita kan. Sibẹsibẹ, eyi pe fun iṣẹ diẹ sii. Ti o ba ti fi sori ẹrọ Netcat sori olupin afojusun kan, o le lo lati ṣẹda ẹhin ẹhin, lati gba aṣẹ aṣẹ latọna jijin.

Lati ṣe ẹhin ti o nilo Netcat lati tẹtisi lori ibudo ti a yan (fun apẹẹrẹ ibudo 3001) lori olupin ibi-afẹde ati lẹhinna o le sopọ si ibudo yii lati ẹrọ rẹ bi atẹle.

Eyi ni aṣẹ ti a pinnu lati ṣiṣẹ lori olupin latọna jijin nibiti aṣayan -d mu kika lati stdin kuro, ati -e ṣalaye aṣẹ lati ṣiṣe lori eto ibi-afẹde.

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

Kẹhin ṣugbọn kii kere ju, Netcat le ṣee lo bi aṣoju fun awọn iṣẹ/awọn ilana oriṣiriṣi pẹlu HTTP, SSH, ati ọpọlọpọ diẹ sii. Fun alaye diẹ sii, wo oju-iwe eniyan rẹ.

$ man nc

Ninu nkan yii, a ti ṣalaye awọn apẹẹrẹ lilo Netcat pipaṣẹ 8 to wulo. Ti o ba mọ eyikeyi awọn ọran lilo to wulo, pin pẹlu wa nipasẹ fọọmu esi ni isalẹ. O le beere ibeere bi daradara.