एंड्रॉयड

उदाहरणों के साथ Netcat (nc) कमांड

स्पोन रिवर्स शेल & amp Netcat उपयोग; कनेक्ट अन्य कंप्यूटर करने के लिए [ट्यूटोरियल]

स्पोन रिवर्स शेल & amp Netcat उपयोग; कनेक्ट अन्य कंप्यूटर करने के लिए [ट्यूटोरियल]

विषयसूची:

Anonim

Netcat (या nc) एक कमांड-लाइन यूटिलिटी है जो टीसीपी या यूडीपी प्रोटोकॉल का उपयोग करके नेटवर्क कनेक्शन में डेटा पढ़ता और लिखता है। यह नेटवर्क और सिस्टम प्रशासक शस्त्रागार में सबसे शक्तिशाली उपकरणों में से एक है और इसे नेटवर्किंग टूल के स्विस सेना चाकू के रूप में माना जाता है।

नेटकैट क्रॉस-प्लेटफॉर्म है और यह लिनक्स, मैकओएस, विंडोज और बीएसडी के लिए उपलब्ध है। आप नेटकैट का उपयोग नेटवर्क कनेक्शन को डीबग और मॉनिटर करने, खुले पोर्ट के लिए स्कैन करने, डेटा को प्रॉक्सी और अधिक के रूप में स्थानांतरित करने के लिए कर सकते हैं। Netcat पैकेज मैकओएस और उबंटू जैसे लोकप्रिय लिनक्स वितरण पर पहले से स्थापित है।

नेटकट सिंटेक्स

नेटकाट उपयोगिता का सबसे बुनियादी सिंटैक्स निम्नलिखित रूप लेता है:

nc host port

उबंटू पर, आप netcat या nc उपयोग कर सकते हैं। वे दोनों Netcat के ओपनबीएसडी संस्करण के लिए सहयोगी हैं।

डिफ़ॉल्ट रूप से, Netcat निर्दिष्ट होस्ट और पोर्ट के लिए एक टीसीपी कनेक्शन शुरू करने का प्रयास करेगा। यदि आप UDP कनेक्शन स्थापित करना चाहते हैं, तो -u विकल्प का उपयोग करें:

nc -u host port

पोर्ट स्कैनिंग

नेटसीट के लिए स्कैनिंग पोर्ट सबसे आम उपयोगों में से एक है। आप सिंगल पोर्ट या पोर्ट रेंज स्कैन कर सकते हैं।

उदाहरण के लिए 20-80 की सीमा में खुले बंदरगाहों के लिए स्कैन करने के लिए आप निम्नलिखित कमांड का उपयोग करेंगे:

nc -z -v 10.10.8.8 20-80

-z विकल्प nc को केवल खुले बंदरगाहों के लिए स्कैन करने के लिए बताएगा, उन्हें कोई डेटा भेजे बिना और अधिक मौखिक जानकारी प्रदान करने के लिए -v विकल्प।

आउटपुट कुछ इस तरह दिखाई देगा:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded! nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused… nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused Connection to 10.10.8.8 80 port succeeded!

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded

Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!

आप सर्वर सॉफ़्टवेयर और उसके संस्करण को खोजने के लिए नेटकैट का भी उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप डिफ़ॉल्ट SSH पोर्ट 22 पर सर्वर को "EXIT" कमांड भेजते हैं:

echo "EXIT" | nc 10.10.8.8 22

आउटपुट कुछ इस तरह दिखाई देगा:

SSH-2.0-OpenSSH_7.6p1 Ubuntu-4 Protocol mismatch.

UDP पोर्ट के लिए स्कैन करने के लिए बस -u विकल्प को कमांड में जोड़ें जैसा कि नीचे दिखाया गया है:

nc -z -v -u 10.10.8.8 20-80

ज्यादातर स्थितियों में, Nmap जटिल पोर्ट स्कैनिंग के लिए नेटकैट से बेहतर उपकरण है।

Netcat के माध्यम से फाइलें भेजना

Netcat का उपयोग मूल क्लाइंट / सर्वर मॉडल बनाकर डेटा को एक होस्ट से दूसरे होस्ट में स्थानांतरित करने के लिए किया जा सकता है।

यह Netcat को प्राप्त होस्ट पर एक विशिष्ट पोर्ट ( -l विकल्प का उपयोग करके) सुनने के लिए सेट करके काम करता है और फिर दूसरे होस्ट से एक नियमित टीसीपी कनेक्शन स्थापित करता है और इसके ऊपर फाइल भेजता है।

प्राप्त कमांड चलाने पर आने वाले कनेक्शन के लिए पोर्ट 5555 खुल जाएगा और फ़ाइल में आउटपुट को रीडायरेक्ट करेगा:

nc -l 5555 > file_name

भेजने वाले होस्ट से प्राप्त करने वाले होस्ट से कनेक्ट करें और फ़ाइल भेजें:

nc receiving.host.com 5555 < file_name

निर्देशिका को स्थानांतरित करने के लिए आप स्रोत होस्ट पर निर्देशिका को संग्रहीत करने और गंतव्य होस्ट पर संग्रह को निकालने के लिए टार का उपयोग कर सकते हैं।

पोर्ट 5555 पर इनकमिंग कनेक्शन के लिए सुनने के लिए नेटकैट सेट होस्ट प्राप्त कर रहा है। आने वाले डेटा को टार कमांड पर पाइप किया जाता है, जो आर्काइव को हटा देगा:

nc -l 5555 | tar xzvf -

होस्ट भेजने वाले पैक पर डायरेक्टरी को भेजें और प्राप्त होस्ट पर श्रवण nc प्रक्रिया से nc डेटा भेजें:

tar czvf - /path/to/dir | nc receiving.host.com 5555

आप दोनों सिरों पर स्थानांतरण प्रगति देख सकते हैं। एक बार पूरा होने पर, कनेक्शन बंद करने के लिए CTRL+C टाइप करें।

एक साधारण चैट सर्वर बनाना

दो या दो से अधिक मेजबानों के बीच ऑनलाइन चैट बनाने की प्रक्रिया फाइल ट्रांसफर करते समय ही होती है।

पोर्ट 5555 पर सुनने के लिए पहले मेजबान ने नेटसैट प्रक्रिया शुरू की:

nc -l 5555

दूसरे होस्ट से सुनने के पोर्ट से कनेक्ट करने के लिए निम्न कमांड चलाएँ:

nc first.host.com 5555

अब यदि आप एक संदेश लिखते हैं और ENTER ENTER यह दोनों मेजबानों पर दिखाया जाएगा।

कनेक्शन बंद करने के लिए, CTRL+C टाइप करें।

HTTP अनुरोध करना

हालांकि HTTP अनुरोधों जैसे कर्ल के लिए बहुत बेहतर उपकरण हैं, आप दूरस्थ सर्वरों को विभिन्न अनुरोध भेजने के लिए Netcat का उपयोग भी कर सकते हैं।

उदाहरण के लिए, OpenBSD वेब साइट से Netcat मैन पेज को पुनः प्राप्त करने के लिए आप टाइप करेंगे:

printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80

HTTP हेडर और HTML कोड सहित पूर्ण प्रतिक्रिया टर्मिनल में मुद्रित की जाएगी।

निष्कर्ष

इस ट्यूटोरियल में, आपने सीखा है कि टीसीपी और यूडीपी कनेक्शनों को स्थापित करने और परीक्षण करने के लिए नेटकाट उपयोगिता का उपयोग कैसे करें।

अधिक जानकारी के लिए Netcat मैन पेज पर जाएँ और Netcat कमांड के अन्य सभी शक्तिशाली विकल्पों के बारे में पढ़ें।

netcat टर्मिनल