8 Netcat (nc) Jiri Ọmụmaatụ nyere iwu


Netcat (ma ọ bụ nc na nkenke) bụ ngwa ntanetị iwu netwọk dị mfe ma dị ike ejiri maka ịrụ ọrụ ọ bụla na Linux metụtara TCP, UDP, ma ọ bụ UNIX-ngalaba oghere.

Enwere ike iji Netcat maka nyocha ọdụ ụgbọ mmiri, ntụgharị ọdụ ụgbọ mmiri, dị ka onye na-ege ntị ọdụ ụgbọ mmiri (maka njikọ mbata); enwere ike iji ya meghee njikọ dịpụrụ adịpụ na ọtụtụ ihe ndị ọzọ. E wezụga nke ahụ, ịnwere ike iji ya dị ka ọnụ ụzọ azụ iji nweta ihe nkesa lekwasịrị anya.

N'isiokwu a, anyị ga-akọwa iwu ojiji Netcat na ihe atụ.

Otu esi etinye ma jiri Netcat na Linux

Iji tinye ngwungwu netcat na sistemụ gị, jiri njikwa ngwugwu ndabara maka nkesa Linux gị.

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

Ozugbo etinyere ngwugwu netcat, ị nwere ike ịga n'ihu ịmụta ojiji nke iwu netcat na ihe atụ ndị a.

Enwere ike iji Netcat maka nyocha ọdụ ụgbọ mmiri: ịmata ọdụ ụgbọ mmiri ndị mepere emepe ma na-arụ ọrụ na igwe ebumnuche. Ọ nwere ike nyochaa otu ọdụ ụgbọ mmiri mepere emepe ma ọ bụ ọtụtụ.

Nke a bụ ọmụmaatụ, nhọrọ -z na-edobe nc ka ị nyochaa nke ọma maka ige daemons, na-ezigaghị ha data ọ bụla. Nhọrọ -v na-enyere ọnọdụ verbose aka na -w na-akọwapụta oge njedebe maka njikọ enweghị ike ịtọ.

$ 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 na-enye gị ohere ịnyefe faịlụ n'etiti kọmputa Linux abụọ ma ọ bụ sava na sistemụ abụọ a ga-enwerịrị nc arụnyere.

Dịka ọmụmaatụ, iji detuo faịlụ ihe oyiyi ISO site na otu kọmputa gaa na nke ọzọ ma nyochaa ọganihu mbufe (iji pv utility), mee iwu na-esonụ na onye na-ezipụ/ihe nkesa (ebe faịlụ ISO dị).

Nke a ga-agba nc na ọnọdụ ege ntị (-l ọkọlọtọ) na ọdụ ụgbọ mmiri 3000.

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

Na kọmpụta nnata/onye ahịa, gbaa iwu a ka ị nweta faịlụ ahụ.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

Ị nwekwara ike iji Netcat mepụta ihe nkesa ozi-akara dị mfe ozugbo. Dị ka ọ dị na ihe atụ ojiji gara aga, nc ga-etinyerịrị na sistemụ abụọ a na-eji maka ụlọ nkata.

N'otu sistemụ, gbaa iwu a ka imepụta ihe nkesa nkata na-ege ntị na ọdụ ụgbọ mmiri 5000.

$ nc -l -vv -p 5000

Na sistemu nke ọzọ, gbaa iwu na-esonụ ka ịmalite nnọkọ nkata na igwe ebe sava ozi na-agba ọsọ.

$ nc 192.168.56.1 5000

N'iji nhọrọ -l nke iwu nc iji mepụta sava weebụ dị mkpa, enweghị nchekwa iji nye faịlụ webụ kwụ ọtọ maka ebumnuche mmụta. Iji gosi nke a, mepụta faịlụ .html dị ka egosiri.

$ vim index.html

Tinye ahịrị HTML ndị a na faịlụ ahụ.

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

Chekwaa mgbanwe na faịlụ wee pụọ.

Wee jee ozi faịlụ dị n'elu n'elu HTTP site na iji iwu na-esonụ, nke ga-enyere sava HTTP aka na-aga n'ihu.

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

Mepee ihe nchọgharị weebụ wee nwee ike ịnweta ọdịnaya site na iji adreesị na-esonụ.

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

Mara na ị nwere ike ịkwụsị sava Netcat HTTP site na ịpị [Ctrl+C].

Ojiji ọzọ bara uru nke Netcat bụ iji dozie nsogbu njikọ sava. N'ebe a, ị nwere ike iji Netcat nyochaa data sava na-eziga na nzaghachi nye iwu ndị ahịa nyere.

Iwu na-esote na-eweghachite ibe mbụ nke example.com.

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

Nsonaazụ nke iwu a dị n'elu gụnyere isi okwu nke sava webụ zitere nke enwere ike iji mee nchọpụta nsogbu.

Ị nwekwara ike iji Netcat nweta ọkọlọtọ ọdụ ụgbọ mmiri. N'okwu a, ọ ga-agwa gị ihe ọrụ na-agba n'azụ ọdụ ụgbọ mmiri. Dịka ọmụmaatụ iji mara ụdị ọrụ na-agba n'azụ ọdụ ụgbọ mmiri 22 na otu ihe nkesa, mee iwu a (dochie 192.168.56.110 na adreesị IP nke ihe nkesa). Ọkọlọtọ -n pụtara ị gbanyụọ DNS ma ọ bụ nyocha ọrụ.

$ nc -v -n 192.168.56.110 80

Netcat na-akwado imepụta oghere iyi ngalaba UNIX. Iwu na-esote ga-emepụta ma gee ntị na oghere iyi ngalaba UNIX.

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

Ị nwekwara ike ịgba Netcat dị ka ọnụ ụzọ azụ. Otú ọ dị, nke a na-achọkwu ọrụ. Ọ bụrụ na etinyere Netcat na nkesa ebumnuche, ị nwere ike iji ya mepụta ọnụ ụzọ azụ, iji nweta ngwa ngwa iwu dịpụrụ adịpụ.

Iji mee ọnụ ụzọ azụ, ị ga-achọ Netcat ka ọ gee ntị na ọdụ ụgbọ mmiri ahọpụtara (dịka ọdụ ụgbọ mmiri 3001) na nkesa ebumnuche wee nwee ike jikọọ na ọdụ ụgbọ mmiri a site na igwe gị dị ka ndị a.

Nke a bụ iwu ezubere ịgba ọsọ na sava dịpụrụ adịpụ ebe -d nhọrọ na-egbochi ịgụ ihe site na stdin, yana -e na-akọwapụta iwu ịgba ọsọ na sistemụ ebumnuche.

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

N'ikpeazụ ma ọ dịghị ihe ọzọ, Netcat nwere ike iji dị ka onye nnọchiteanya maka ọrụ/protocol dị iche iche gụnyere HTTP, SSH, na ọtụtụ ndị ọzọ. Maka ozi ndị ọzọ, hụ ibe nwoke ya.

$ man nc

N'ime edemede a, anyị akọwala ihe atụ ojiji iwu Netcat 8 bara uru. Ọ bụrụ na ị maara ikpe (s) ọ bụla ọzọ bara uru, kekọrịta anyị site na mpempe nzaghachi n'okpuru. Ị nwekwara ike ịjụ ajụjụ.