इस netcat आउटपुट का क्या अर्थ है?


11

मैं अपने स्थानीय रूप से चलने वाले वीएम में टेलनेट करना चाहता हूं, जिसमें 2628 पोर्ट पर चलने वाली एक तानाशाह सेवा है, जब मैं अपना एनसी -वी कमांड जारी करता हूं, हालांकि मुझे निम्नलिखित मिलता है:

$ nc -v localhost 2628
nc: connectx to localhost port 2628 (tcp) failed: Connection refused
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif lo0
    src 127.0.0.1 port 63929
    dst 127.0.0.1 port 2628
    rank info not available
    TCP aux info available

Connection to localhost port 2628 [tcp/dict] succeeded!

क्यों एक कनेक्शन से इनकार कर दिया और फिर एक कनेक्शन बाद में सफल हुआ? इसका क्या मतलब है और जब मैं बस करता हूं तो यह मेरे कनेक्शन को स्वीकार क्यों नहीं करेगा telnet localhost 2628:?

जवाबों:


11

नेटकैट के कुछ दर्जन संस्करण उपलब्ध हैं, लेकिन इसकी संभावना है क्योंकि:

  1. आप के लिए 2 प्रविष्टियाँ localhostमें /etc/hosts। IPv4 के लिए एक, IPv6 के लिए एक और।
  2. डेमन केवल एक प्रोटोकॉल (संभावित IPv4) पर सुन रहा है।
  3. क्लाइंट पहले प्रोटोकॉल के माध्यम से कनेक्ट कर रहा है जो डेमन पर नहीं सुन रहा है, और फिर वह जो है वह कोशिश कर रहा है।

उदाहरण के लिए:

$ grep localhost /etc/hosts
127.0.0.1 localhost
::1 localhost

$ nc -4 -l -p 9000 -s 127.0.0.1     
nc: listening on 127.0.0.1 9000 ...


$ nc localhost 9000
nc: cannot connect to localhost (::1) 9000 [9000]: Connection refused
nc: localhost (127.0.0.1) 9000 [9000] open
nc: using stream socket

ठीक है, अगर यह वही है जो हालांकि हो रहा है, तो मैं इसे कैसे ठीक करूं?
राउल77

3 गिने आइटम में से किसी एक को ठीक करें। 1) प्रविष्टियों में से एक को हटा दें /etc/hosts। 2) डेमॉन को दोनों प्रोटोकॉल पर सुनें। 3) अन्य प्रोटोकॉल का उपयोग करके कनेक्ट करने के लिए क्लाइंट को मजबूर करें।
पैट्रिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.