8 Netcat (nc) കമാൻഡ് ഉദാഹരണങ്ങൾ


TCP, UDP, അല്ലെങ്കിൽ UNIX-ഡൊമെയ്ൻ സോക്കറ്റുകൾ എന്നിവയുമായി ബന്ധപ്പെട്ട ലിനക്സിൽ ഏത് പ്രവർത്തനവും നടത്തുന്നതിന് ഉപയോഗിക്കുന്ന ലളിതവും എന്നാൽ ശക്തവുമായ നെറ്റ്uവർക്കിംഗ് കമാൻഡ്-ലൈൻ ടൂളാണ് Netcat (അല്ലെങ്കിൽ nc).

പോർട്ട് സ്കാനിംഗ്, പോർട്ട് റീഡയറക്ഷൻ, ഒരു പോർട്ട് ലിസണറായി (ഇൻകമിംഗ് കണക്ഷനുകൾക്ക്) നെറ്റ്കാറ്റ് ഉപയോഗിക്കാം; റിമോട്ട് കണക്ഷനുകളും മറ്റ് പല കാര്യങ്ങളും തുറക്കാനും ഇത് ഉപയോഗിക്കാം. കൂടാതെ, ഒരു ടാർഗെറ്റ് സെർവറിലേക്ക് പ്രവേശനം നേടുന്നതിന് നിങ്ങൾക്ക് ഇത് ഒരു ബാക്ക്ഡോറായി ഉപയോഗിക്കാം.

ഈ ലേഖനത്തിൽ, ഞങ്ങൾ ഉദാഹരണങ്ങൾ സഹിതം Netcat ഉപയോഗ കമാൻഡുകൾ വിശദീകരിക്കും.

Linux-ൽ Netcat എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

നിങ്ങളുടെ സിസ്റ്റത്തിൽ netcat പാക്കേജ് ഇൻസ്റ്റോൾ ചെയ്യുന്നതിന്, നിങ്ങളുടെ Linux വിതരണത്തിനായി ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിക്കുക.

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

netcat പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന ഉദാഹരണങ്ങളിൽ netcat കമാൻഡിന്റെ ഉപയോഗം പഠിക്കാൻ നിങ്ങൾക്ക് തുടരാം.

പോർട്ട് സ്uകാനിംഗിനായി നെറ്റ്uകാറ്റ് ഉപയോഗിക്കാം: ടാർഗെറ്റ് മെഷീനിൽ ഏതൊക്കെ പോർട്ടുകളാണ് തുറന്നിരിക്കുന്നതെന്നും പ്രവർത്തിക്കുന്നുവെന്നും അറിയാൻ. ഇതിന് ഒറ്റ അല്ലെങ്കിൽ ഒന്നിലധികം അല്ലെങ്കിൽ തുറന്ന പോർട്ടുകളുടെ ഒരു ശ്രേണി സ്കാൻ ചെയ്യാൻ കഴിയും.

ഇവിടെ ഒരു ഉദാഹരണം, -z ഓപ്uഷൻ nc-യെ ലിസണിംഗ് ഡെമണുകൾക്കായി സ്കാൻ ചെയ്യാൻ സജ്ജമാക്കുന്നു, യഥാർത്ഥത്തിൽ അവയ്ക്ക് ഡാറ്റയൊന്നും അയയ്ക്കാതെ. -v ഓപ്uഷൻ വെർബോസ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുകയും -w സ്ഥാപിക്കാൻ കഴിയാത്ത കണക്ഷന്റെ സമയപരിധി വ്യക്തമാക്കുന്നു.

$ 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 നിങ്ങളെ അനുവദിക്കുന്നു കൂടാതെ ഈ രണ്ട് സിസ്റ്റങ്ങളും nc ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം.

ഉദാഹരണത്തിന്, ഒരു ഐഎസ്ഒ ഇമേജ് ഫയൽ ഒരു കമ്പ്യൂട്ടറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പകർത്താനും ട്രാൻസ്ഫർ പുരോഗതി നിരീക്ഷിക്കാനും (pv യൂട്ടിലിറ്റി ഉപയോഗിച്ച്), ഇനിപ്പറയുന്ന കമാൻഡ് സെൻഡർ/സെർവർ കമ്പ്യൂട്ടറിൽ പ്രവർത്തിപ്പിക്കുക (ഐഎസ്ഒ ഫയൽ നിലനിൽക്കുന്നിടത്ത്).

ഇത് പോർട്ട് 3000-ൽ ലിസണിംഗ് മോഡിൽ (-l ഫ്ലാഗ്) nc പ്രവർത്തിപ്പിക്കും.

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

കൂടാതെ റിസീവർ/ക്ലയന്റ് കമ്പ്യൂട്ടറിൽ, ഫയൽ ലഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

നിങ്ങൾക്ക് ഒരു ലളിതമായ കമാൻഡ്-ലൈൻ സന്ദേശമയയ്uക്കൽ സെർവർ തൽക്ഷണം സൃഷ്uടിക്കാൻ Netcat ഉപയോഗിക്കാനും കഴിയും. മുമ്പത്തെ ഉപയോഗ ഉദാഹരണത്തിലെന്നപോലെ, ചാറ്റ് റൂമിനായി ഉപയോഗിക്കുന്ന രണ്ട് സിസ്റ്റങ്ങളിലും nc ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം.

ഒരു സിസ്റ്റത്തിൽ, പോർട്ട് 5000-ൽ ചാറ്റ് സെർവർ ലിസണിംഗ് സൃഷ്ടിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ nc -l -vv -p 5000

മറ്റൊരു സിസ്റ്റത്തിൽ, സന്ദേശമയയ്uക്കൽ സെർവർ പ്രവർത്തിക്കുന്ന ഒരു മെഷീനിലേക്ക് ഒരു ചാറ്റ് സെഷൻ സമാരംഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ nc 192.168.56.1 5000

പഠന ആവശ്യങ്ങൾക്കായി സ്റ്റാറ്റിക് വെബ് ഫയലുകൾ നൽകുന്നതിന് അടിസ്ഥാന സുരക്ഷിതമല്ലാത്ത വെബ് സെർവർ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കുന്ന nc കമാൻഡിന്റെ -l ഓപ്ഷൻ ഉപയോഗിക്കുക. ഇത് കാണിക്കുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു .html ഫയൽ സൃഷ്ടിക്കുക.

$ vim index.html

ഫയലിൽ ഇനിപ്പറയുന്ന HTML വരികൾ ചേർക്കുക.

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

ഫയലിൽ മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് മുകളിലുള്ള ഫയൽ HTTP-യിൽ സേവിക്കുക, ഇത് തുടർച്ചയായി പ്രവർത്തിക്കാൻ HTTP സെർവറിനെ പ്രാപ്തമാക്കും.

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

തുടർന്ന് ഒരു വെബ് ബ്രൗസർ തുറന്ന് ഇനിപ്പറയുന്ന വിലാസം ഉപയോഗിച്ച് ഉള്ളടക്കം ആക്uസസ് ചെയ്യാൻ കഴിയും.

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

നിങ്ങൾക്ക് [Ctrl+ C] അമർത്തി Netcat HTTP സെർവർ നിർത്താനാകുമെന്ന കാര്യം ശ്രദ്ധിക്കുക.

നെറ്റ്കാറ്റിന്റെ മറ്റൊരു ഉപയോഗപ്രദമായ ഉപയോഗം സെർവർ കണക്ഷൻ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനാണ്. ക്ലയന്റ് നൽകുന്ന കമാൻഡുകൾക്ക് പ്രതികരണമായി ഒരു സെർവർ എന്ത് ഡാറ്റയാണ് അയയ്ക്കുന്നതെന്ന് പരിശോധിക്കാൻ നിങ്ങൾക്ക് ഇവിടെ നെറ്റ്കാറ്റ് ഉപയോഗിക്കാം.

ഇനിപ്പറയുന്ന കമാൻഡ് example.com-ന്റെ ഹോം പേജ് വീണ്ടെടുക്കുന്നു.

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

മുകളിലെ കമാൻഡിന്റെ ഔട്ട്uപുട്ടിൽ വെബ്-സെർവർ അയച്ച ഹെഡറുകൾ ഉൾപ്പെടുന്നു, അത് ട്രബിൾഷൂട്ടിംഗ് ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കാം.

നിങ്ങൾക്ക് പോർട്ട് ബാനറുകൾ ലഭിക്കാൻ Netcat ഉപയോഗിക്കാം. ഈ സാഹചര്യത്തിൽ, ഒരു പ്രത്യേക പോർട്ടിന് പിന്നിൽ എന്ത് സേവനമാണ് പ്രവർത്തിക്കുന്നതെന്ന് ഇത് നിങ്ങളോട് പറയും. ഉദാഹരണത്തിന്, ഒരു നിർദ്ദിഷ്ട സെർവറിൽ പോർട്ട് 22-ന് പിന്നിൽ ഏത് തരത്തിലുള്ള സേവനമാണ് പ്രവർത്തിക്കുന്നതെന്ന് അറിയാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (192.168.56.110 ടാർഗെറ്റ് സെർവറിന്റെ ഐപി വിലാസം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക). -n ഫ്ലാഗ് എന്നാൽ DNS അല്ലെങ്കിൽ സർവീസ് ലുക്കപ്പുകൾ പ്രവർത്തനരഹിതമാക്കുക എന്നാണ്.

$ nc -v -n 192.168.56.110 80

UNIX-ഡൊമെയ്ൻ സ്ട്രീം സോക്കറ്റുകൾ സൃഷ്ടിക്കുന്നതിനും നെറ്റ്കാറ്റ് പിന്തുണയ്ക്കുന്നു. ഇനിപ്പറയുന്ന കമാൻഡ് ഒരു UNIX-ഡൊമെയ്ൻ സ്ട്രീം സോക്കറ്റിൽ സൃഷ്ടിക്കുകയും കേൾക്കുകയും ചെയ്യും.

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

നിങ്ങൾക്ക് നെറ്റ്കാറ്റ് ഒരു ബാക്ക്ഡോറായി പ്രവർത്തിപ്പിക്കാം. എന്നിരുന്നാലും, ഇത് കൂടുതൽ ജോലി ആവശ്യപ്പെടുന്നു. ഒരു ടാർഗെറ്റ് സെർവറിൽ Netcat ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, ഒരു റിമോട്ട് കമാൻഡ് പ്രോംപ്റ്റ് ലഭിക്കുന്നതിന് നിങ്ങൾക്ക് ഒരു ബാക്ക്ഡോർ സൃഷ്ടിക്കാൻ അത് ഉപയോഗിക്കാം.

ഒരു ബാക്ക്uഡോർ പ്രവർത്തിക്കാൻ, ടാർഗെറ്റ് സെർവറിൽ തിരഞ്ഞെടുത്ത ഒരു പോർട്ടിൽ (ഉദാ. പോർട്ട് 3001) കേൾക്കാൻ നിങ്ങൾക്ക് Netcat ആവശ്യമാണ്, തുടർന്ന് നിങ്ങളുടെ മെഷീനിൽ നിന്ന് ഈ പോർട്ടിലേക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ കണക്റ്റുചെയ്യാനാകും.

-d ഓപ്uഷൻ stdin-ൽ നിന്നുള്ള വായന അപ്രാപ്uതമാക്കുന്ന റിമോട്ട് സെർവറിൽ പ്രവർത്തിപ്പിക്കാൻ ഉദ്ദേശിച്ചുള്ള കമാൻഡ് ആണിത്, കൂടാതെ -e ടാർഗെറ്റ് സിസ്റ്റത്തിൽ പ്രവർത്തിക്കാനുള്ള കമാൻഡ് വ്യക്തമാക്കുന്നു.

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

അവസാനമായി പക്ഷേ, HTTP, SSH എന്നിവയുൾപ്പെടെയുള്ള വ്യത്യസ്uത സേവനങ്ങൾ/പ്രോട്ടോക്കോളുകൾക്കുള്ള പ്രോക്uസിയായി Netcat ഉപയോഗിക്കാനാകും. കൂടുതൽ വിവരങ്ങൾക്ക്, അതിന്റെ മാൻ പേജ് കാണുക.

$ man nc

ഈ ലേഖനത്തിൽ, ഞങ്ങൾ 8 പ്രായോഗിക നെറ്റ്കാറ്റ് കമാൻഡ് ഉപയോഗ ഉദാഹരണങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. നിങ്ങൾക്ക് മറ്റേതെങ്കിലും പ്രായോഗിക ഉപയോഗ കേസ്(കൾ) അറിയാമെങ്കിൽ, ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി ഞങ്ങളുമായി പങ്കിടുക. നിങ്ങൾക്കും ഒരു ചോദ്യം ചോദിക്കാം.