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


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

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

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

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

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

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

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

పోర్ట్ స్కానింగ్ కోసం నెట్u200cక్యాట్ ఉపయోగించవచ్చు: లక్ష్య యంత్రంలో ఏ పోర్ట్u200cలు ఓపెన్ మరియు రన్నింగ్ సేవలు ఉన్నాయో తెలుసుకోవడానికి. ఇది ఒకే లేదా బహుళ లేదా ఓపెన్ పోర్టుల పరిధిని స్కాన్ చేయగలదు.

ఇక్కడ ఒక ఉదాహరణ ఉంది, -z ఎంపిక వారికి ఎటువంటి డేటాను పంపకుండా, వినే డెమోన్u200cల కోసం స్కాన్ చేయడానికి nc ని సెట్ చేస్తుంది. -v ఎంపిక వెర్బోస్ మోడ్u200cను ప్రారంభిస్తుంది మరియు -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

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

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

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

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

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

$ nc 192.168.1.4 3000 | pv | tar -zxf -

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

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

$ nc -l -vv -p 5000

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

$ nc 192.168.56.1 5000

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

$ vim index.html

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

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

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

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

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

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

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

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

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

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

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

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

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

$ nc -v -n 192.168.56.110 80

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

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

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

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

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

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

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

$ man nc

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