ఉదాహరణలతో 8 నెట్uక్యాట్ (ఎన్uసి) కమాండ్


నెట్uక్యాట్ (లేదా సంక్షిప్తంగా nc) అనేది TCP, UDP, లేదా UNIX- డొమైన్ సాకెట్uలకు సంబంధించిన Linux లో ఏదైనా ఆపరేషన్ చేయడానికి ఉపయోగించే సరళమైన ఇంకా శక్తివంతమైన నెట్uవర్కింగ్ కమాండ్-లైన్ సాధనం.

పోర్ట్ స్కానింగ్, పోర్ట్ దారి మళ్లింపు, పోర్ట్ వినేవారిగా (ఇన్కమింగ్ కనెక్షన్ల కోసం) నెట్uక్యాట్ ఉపయోగించవచ్చు; రిమోట్ కనెక్షన్లు మరియు మరెన్నో విషయాలను తెరవడానికి కూడా దీనిని ఉపయోగించవచ్చు. అంతేకాకుండా, లక్ష్య సర్వర్uకు ప్రాప్యత పొందడానికి మీరు దీన్ని బ్యాక్uడోర్గా ఉపయోగించవచ్చు.

ఈ వ్యాసంలో, నెట్uక్యాట్ వినియోగ ఆదేశాలను ఉదాహరణలతో వివరిస్తాము.

Linux లో నెట్uక్యాట్uను ఎలా ఇన్uస్టాల్ చేయాలి మరియు ఉపయోగించాలి

మీ సిస్టమ్uలో నెట్uక్యాట్ ప్యాకేజీని ఇన్uస్టాల్ చేయడానికి, మీ లైనక్స్ పంపిణీ కోసం డిఫాల్ట్ ప్యాకేజీ నిర్వాహికిని ఉపయోగించండి.

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

నెట్uక్యాట్ ప్యాకేజీ ఇన్uస్టాల్ చేయబడిన తర్వాత, కింది ఉదాహరణలలో నెట్uక్యాట్ కమాండ్ వాడకాన్ని తెలుసుకోవడానికి మీరు మరింత ముందుకు సాగవచ్చు.

పోర్ట్ స్కానింగ్ కోసం నెట్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

నెట్uక్యాట్ రెండు లైనక్స్ కంప్యూటర్లు లేదా సర్వర్uల మధ్య ఫైల్uలను బదిలీ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు ఈ రెండు సిస్టమ్uలు తప్పనిసరిగా ఎన్uసి ఇన్uస్టాల్ చేయబడి ఉండాలి.

ఉదాహరణకు, ఒక కంప్యూటర్ నుండి మరొక కంప్యూటర్uకు ఒక ISO ఇమేజ్ ఫైల్uను కాపీ చేసి, బదిలీ పురోగతిని పర్యవేక్షించడానికి (పివి యుటిలిటీని ఉపయోగించి), పంపినవారు/సర్వర్ కంప్యూటర్uలో (ISO ఫైల్ ఉన్న చోట) కింది ఆదేశాన్ని అమలు చేయండి.

ఇది పోర్ట్ 3000 లో లిజనింగ్ మోడ్uలో ( -l ఫ్లాగ్) nc నడుస్తుంది.

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

మరియు రిసీవర్/క్లయింట్ కంప్యూటర్uలో, ఫైల్uను పొందడానికి కింది ఆదేశాన్ని అమలు చేయండి.

$ nc 192.168.1.4 3000 | pv | tar -zxf -

సాధారణ కమాండ్-లైన్ మెసేజింగ్ సర్వర్uను తక్షణమే సృష్టించడానికి మీరు నెట్uక్యాట్uను కూడా ఉపయోగించవచ్చు. మునుపటి వినియోగ ఉదాహరణలో వలె, చాట్ రూమ్ కోసం ఉపయోగించే రెండు సిస్టమ్uలలోనూ nc వ్యవస్థాపించబడాలి.

ఒక సిస్టమ్uలో, పోర్ట్ 5000 లో చాట్ సర్వర్ లిజనింగ్uను సృష్టించడానికి కింది ఆదేశాన్ని అమలు చేయండి.

$ nc -l -vv -p 5000

ఇతర సిస్టమ్uలో, మెసేజింగ్ సర్వర్ నడుస్తున్న యంత్రానికి చాట్ సెషన్uను ప్రారంభించడానికి క్రింది ఆదేశాన్ని అమలు చేయండి.

$ nc 192.168.56.1 5000

అభ్యాస ప్రయోజనాల కోసం స్టాటిక్ వెబ్ ఫైళ్ళను అందించడానికి ప్రాథమిక, అసురక్షిత వెబ్ సర్వర్uను సృష్టించడానికి ఉపయోగించే nc కమాండ్ యొక్క -l ఎంపికను చూడండి. దీన్ని ప్రదర్శించడానికి, చూపిన విధంగా .html ఫైల్uను సృష్టించండి.

$ vim index.html

ఫైల్uలో కింది HTML పంక్తులను జోడించండి.

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

ఫైల్uలో మార్పులను సేవ్ చేసి నిష్క్రమించండి.

కింది ఆదేశాన్ని అమలు చేయడం ద్వారా పై ఫైల్uను HTTP ద్వారా సర్వ్ చేయండి, ఇది HTTP సర్వర్uను నిరంతరం అమలు చేయడానికి అనుమతిస్తుంది.

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

అప్పుడు వెబ్ బ్రౌజర్uను తెరిచి, కింది చిరునామాను ఉపయోగించి కంటెంట్uను యాక్సెస్ చేయవచ్చు.

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

[Ctrl + C] నొక్కడం ద్వారా మీరు నెట్uక్యాట్ HTTP సర్వర్uను ఆపగలరని గమనించండి.

నెట్uక్యాట్ యొక్క మరొక ఉపయోగకరమైన ఉపయోగం సర్వర్ కనెక్షన్ సమస్యలను పరిష్కరించడం. ఇక్కడ, క్లయింట్ జారీ చేసిన ఆదేశాలకు ప్రతిస్పందనగా సర్వర్ ఏ డేటాను పంపుతుందో ధృవీకరించడానికి మీరు నెట్uక్యాట్uను ఉపయోగించవచ్చు.

కింది ఆదేశం example.com యొక్క హోమ్ పేజీని తిరిగి పొందుతుంది.

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

పై ఆదేశం యొక్క అవుట్పుట్ వెబ్ సర్వర్ పంపిన శీర్షికలను కలిగి ఉంటుంది, ఇది ట్రబుల్షూటింగ్ ప్రయోజనాల కోసం ఉపయోగించబడుతుంది.

పోర్ట్ బ్యానర్uలను పొందడానికి మీరు నెట్uక్యాట్uను కూడా ఉపయోగించవచ్చు. ఈ సందర్భంలో, ఒక నిర్దిష్ట పోర్ట్ వెనుక ఏ సేవ నడుస్తుందో అది మీకు తెలియజేస్తుంది. ఉదాహరణకు, ఒక నిర్దిష్ట సర్వర్uలో పోర్ట్ 22 వెనుక ఏ రకమైన సేవ నడుస్తుందో తెలుసుకోవడానికి, కింది ఆదేశాన్ని అమలు చేయండి (192.168.56.110 ను లక్ష్య సర్వర్ యొక్క IP చిరునామాతో భర్తీ చేయండి). -n ఫ్లాగ్ అంటే DNS లేదా సేవా శోధనలను నిలిపివేయడం.

$ nc -v -n 192.168.56.110 80

నెట్uక్యాట్ యునిక్స్-డొమైన్ స్ట్రీమ్ సాకెట్ల సృష్టికి మద్దతు ఇస్తుంది. కింది ఆదేశం యునిక్స్-డొమైన్ స్ట్రీమ్ సాకెట్uలో సృష్టిస్తుంది మరియు వింటుంది.

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

మీరు నెట్uక్యాట్uను బ్యాక్uడోర్గా కూడా అమలు చేయవచ్చు. అయితే, ఇది మరింత పని కోసం పిలుస్తుంది. టార్గెట్ సర్వర్uలో నెట్uక్యాట్ ఇన్uస్టాల్ చేయబడితే, రిమోట్ కమాండ్ ప్రాంప్ట్ పొందడానికి బ్యాక్uడోర్ను సృష్టించడానికి మీరు దీన్ని ఉపయోగించవచ్చు.

బ్యాక్uడోర్లో పనిచేయడానికి మీకు టార్గెట్ సర్వర్uలో ఎంచుకున్న పోర్ట్ (ఉదా. పోర్ట్ 3001) లో వినడానికి నెట్uక్యాట్ అవసరం మరియు మీరు మీ మెషిన్ నుండి ఈ పోర్ట్uకు ఈ క్రింది విధంగా కనెక్ట్ చేయవచ్చు.

-d ఎంపిక stdin నుండి చదవడాన్ని నిలిపివేసే రిమోట్ సర్వర్uలో అమలు చేయడానికి ఉద్దేశించిన ఆదేశం ఇది, మరియు -e లక్ష్య వ్యవస్థలో అమలు చేయడానికి ఆదేశాన్ని నిర్దేశిస్తుంది.

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

చివరిది కాని, నెట్uక్యాట్uను HTTP, SSH మరియు మరెన్నో సహా వివిధ సేవలు/ప్రోటోకాల్uల కోసం ప్రాక్సీగా ఉపయోగించవచ్చు. మరింత సమాచారం కోసం, దాని మ్యాన్ పేజీని చూడండి.

$ man nc

ఈ వ్యాసంలో, మేము 8 ప్రాక్టికల్ నెట్uక్యాట్ కమాండ్ వినియోగ ఉదాహరణలను వివరించాము. మీకు మరేదైనా ప్రాక్టికల్ యూజ్ కేసు (లు) తెలిస్తే, దిగువ అభిప్రాయ ఫారం ద్వారా మాతో పంచుకోండి. మీరు కూడా ఒక ప్రశ్న అడగవచ్చు.