ftp में ls कमांड> काम नहीं कर रहा है!


17

मैं ftp का अभ्यास कर रहा था लेकिन एक समस्या का सामना कर रहा था: ls कमांड ftp> पर काम नहीं कर रहा है। क्यों? मैंने 2 दूरस्थ सर्वरों पर जाँच की, लेकिन ls ने भी काम नहीं किया और ls निष्पादित होने पर अलग-अलग आउटपुट दिए। कृपया 2 रिमोट बॉक्स के लिए नीचे देखें।

नीचे मेरा दूरस्थ सर्वर दिखाता है जहां मैंने आज vsftpd स्थापित किया है।

ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua): 
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp> 

नीचे एक अलग रिमोट मशीन के लिए है जहां मुझे कुछ फाइलें भेजनी हैं। लेकिन जैसा कि ftp पर ls काम नहीं कर रहा है, मैं अपने स्थानीय बॉक्स से फ़ाइलों को उस बॉक्स में कैसे स्थानांतरित करूंगा क्योंकि मुझे एलएस के बिना पुष्टि नहीं की जा सकती है कि फाइलें स्थानांतरित हुई हैं या नहीं।

ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful

कृपया ध्यान दें कि उपरोक्त मशीन के लिए, जब मैंने ftp> पर ls चलाया, तो प्रॉम्प्ट वापस नहीं आया।

दोनों दूरस्थ मशीनों पर, मुझे ftp> पर एलएस निष्पादित करते समय अलग-अलग आउटपुट मिले


3
निष्क्रिय मोड का उपयोग करें। इसे सक्षम करने के लिए अपने ftp क्लाइंट के मैन पेज की जाँच करें।
स्टीफन चेज़लस

कैसे पता करें कि मेरे अंत में ftp क्लाइंट क्या चल रहा है?
रवि

@stephane धन्यवाद! मैंने भाग लिया man ftpऔर -pनिष्क्रिय मोड के लिए उपयोग किए जाने वाले विकल्प को पाया । जैसा कि man ftpउल्लेख है कि ftp इंटरनेट मानक फ़ाइल स्थानांतरण प्रोटोकॉल के लिए एक उपयोगकर्ता इंटरफ़ेस है: इसलिए यह इंटरफ़ेस है और ftp क्लाइंट नहीं है !!! मैं समझता हूँ कि FTP क्लाइंट फ़ाइलों को स्थानांतरित करने के लिए इस इंटरफ़ेस (ftp) का उपयोग करता है।
रवि

जवाबों:


26

एफ़टीपी एक प्राचीन प्रोटोकॉल है। यह दो टीसीपी कनेक्शन पर निर्भर करता है: एक नियंत्रण कनेक्शन जिस पर कमांड का आदान-प्रदान होता है, और फाइलों की सामग्री के लिए डेटा कनेक्शन और जैसे कमांड के आउटपुट के लिए भी ls। यहाँ क्या हो रहा है कि नियंत्रण कनेक्शन स्थापित है, लेकिन डेटा कनेक्शन नहीं चल रहे हैं।

डिफ़ॉल्ट रूप से (सक्रिय मोड), डेटा कनेक्शन प्रेषक से रिसीवर तक स्थापित किए जाते हैं। के आउटपुट के लिए ls, डेटा सर्वर द्वारा भेजा जाता है, इसलिए सर्वर क्लाइंट से कनेक्शन खोलने का प्रयास करता है। एफ़टीपी का आविष्कार होने पर यह अच्छी तरह से काम करता था, लेकिन आजकल, ग्राहक अक्सर फ़ायरवॉल या नेट के पीछे होते हैं जो सक्रिय एफ़टीपी का समर्थन कर सकते हैं या नहीं कर सकते हैं। निष्क्रिय मोड में स्विच करें, जहां ग्राहक हमेशा डेटा कनेक्शन शुरू करता है।

ftpडिफ़ॉल्ट रूप से निष्क्रिय मोड में कैसे स्विच करें, यह देखने के लिए अपने कमांड के मैनुअल की जांच करें । एक बार की चीज के लिए, कमांड टाइप करना passiveआमतौर पर ट्रिक होता है।

आप एक nfft क्लाइंट जैसे ncftp या lftp पर स्विच करना चाह सकते हैं ।


धन्यवाद!! लेकिन अचानक यह मुद्दा क्यों उठा। Eariler I को ftp> पर ls चलाने में सक्षम किया गया। लेकिन कल, मैंने अपने दूरस्थ सर्वर (मेरे VPS) पर vsftpd स्थापित किया और .netrcअपने स्थानीय बॉक्स पर फ़ाइल को भी संपादित किया (बस .netrc में लाइन की शुरुआत में हैश डाल दिया था)। यह सब और फिर एलएस के मुद्दे के बाद मैं सामना कर रहा हूं। क्या कारण हो सकता है कि ls पहले ठीक काम कर रहा था और कल से काम नहीं कर रहा है?
रवि

आप सुझाव देने के लिए सही हो lftp। मुझे उस के साथ काम करने का अनुभव हो रहा है। lftpवाकई अद्भुत है। इसके अलावा, मैं यह जोड़ना चाहूंगा कि मैंने अभी-अभी जाँच की है lftpऔर यह पूरी तरह से ठीक चल रहा है जिसमें एलएस का कोई मुद्दा नहीं है। lsयहाँ (lftp में) ठीक से आउटपुट प्रदर्शित कर रहा है।
रवि 28

3

"Ftp 500 अवैध पोर्ट कमांड" के लिए पूर्ण पूर्ण समाधान। निम्नलिखित लिंक पर क्लिक करें: http://www.ucodice.com/articles/ftp-500-illegal-port-command/

अंश

Ftp सर्वर को कनेक्ट करने की कोशिश कर रहा है और 500 अवैध पोर्ट कमांड प्राप्त कर रहा है। यह समस्या तब हो सकती है जब निष्क्रिय मोड के लिए ftp प्रोग्राम कॉन्फ़िगर नहीं किया गया है।

आपको त्रुटि स्निपेट मिल सकता है जैसे:

COMMAND:>              [3/11/2015 1:17:05 PM] PORT 192,168,0,101,196,215    
                       [3/11/2015 1:17:05 PM] 500 Illegal PORT command.    
ERROR:>                [3/11/2015 1:17:05 PM] Syntax error: command unrecognized.    
ERROR:>                [3/11/2015 1:17:05 PM] Failed to establish data socket.

इस समस्या को हल करने के लिए आप FTP सर्वर के कॉन्फ़िगरेशन फ़ाइल में पोर्ट या एफ़टीपी को परिभाषित कर सकते हैं और आईपी एड्रेस या पीएएसवी सर्वर को परिभाषित कर सकते हैं।

नीचे सेटिंग्स के लिए कॉन्फ़िगरेशन फ़ाइल की जाँच करें।

pasv_enable=YES
pasv_promiscuous=YES
pasv_max_port=Enter the max port range allowed on your server.
pasv_min_port=Enter the min port range allowed on your server.
pasv_address=Ip Address of your server.

उसके बाद एफ़टीपी सेवा को फिर से शुरू करें और एफ़टीपी कनेक्शन की जांच करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.