2012-05-30 10 views
7

हां, मुझे पता है कि एफटीपी टेलनेट से बेहतर है, लेकिन अभी मैं टेलनेट से फंस गया हूं। मैं पहले से लॉगिन कर सकता हूं, आदि .. यह सिर्फ इतना है कि मुझे फ़ाइल नहीं मिल सकती है। मैं इसके लिए googled है और यह मुझे इस दिया:किसी फ़ाइल को सर्वर से/0 से स्थानांतरित करने के लिए टेलनेट का उपयोग करके

(से: http://www.webdigi.co.uk/blog/2009/ftp-using-raw-commands-and-telnet/)

220 ProFTPD 1.3.1 Server (ProFTPD) [64.170.98.33] 
USER anonymous 
331 Anonymous login ok, send complete email address as your password 
PASS [email protected] 
230 Anonymous access granted, restrictions apply 
CWD ietf/ftpext/ 
250 CWD command successful 
PASV 
227 Entering Passive Mode (64,170,98,33,151,31). 
RETR ftpext-charter.txt 
150 Opening ASCII mode data connection for ftpext-charter.txt (6060 bytes) 
226 Transfer complete 
QUIT 
221 Goodbye. 

अब के रूप में आप देख सकते हैं, व्यक्ति यहां इस्तेमाल किया RETR फ़ाइल प्राप्त करने के लिए। हालांकि, जब मैं ऐसा करता हूं .. यह सिर्फ इसे निष्पादित करता है .. और .. कुछ भी नहीं करता है। यह सिर्फ वहां रहता है .. क्या किसी को पता है कि इससे कैसे निपटें?

धन्यवाद!

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

screenie:

screenshot

+2

वह एफ़टीपी कर रहा है। टेलनेट नहीं – adarshr

+1

यदि आप टेलनेट के माध्यम से फाइलें भेजना चाहते हैं तो आप ऐसा नहीं कर सकते (ऐसा नहीं है कि यह एक एफ़टीपी सत्र है जिसे आप देख रहे हैं) लेकिन आपको इसे कुछ पाइप और आईओ के पुनर्निर्देशन के साथ करने की व्यवस्था करनी होगी। यह एक प्रोग्रामिंग सवाल नहीं है हालांकि मेरे विचार में किसी भी तरह से। और आप टेलनेट की तुलना में इसके लिए एसएसएच/एसपीपी का उपयोग करके * अधिक * बेहतर हो जाएंगे। – Flexo

+0

और आप क्या प्राप्त करते हैं? अपने टेलनेट कमांडलाइन सहित इसका एक स्क्रीनशॉट है? –

उत्तर

5

आप टेलनेट के साथ FTP का उपयोग नहीं कर सकते। एफटीपी को कमांड चैनल और डेटा चैनल की आवश्यकता होती है। आप टेलनेट के साथ कमांड चैनल का उपयोग कर सकते हैं लेकिन आप टेलनेट के साथ डेटा चैनल का उपयोग नहीं कर सकते हैं। नतीजा यह है कि आप क्या देखते हैं। अधिक जानकारी एफटीपी आरएफसी में हैं: http://www.ietf.org/rfc/rfc959.txt

+0

यदि आप निष्क्रिय मोड करते हैं, तो आप किसी अन्य टेलनेट पर डेटा चैनल का उपयोग कर सकते हैं। –

+0

हां आपके टेलनेट टर्मिनल में बाइनरी फ़ाइल की सामग्री को पढ़ने के लिए। डेटा चैनल की सामग्री को पकड़ने का एकमात्र उपयोगी तरीका नेटकैट का उपयोग है: 'nc -n -l -p डेटापोर्ट> डाउनलोड'। लेकिन नेटकैट स्थापित करने के बजाय * * wget *, * curl *, * lftp * या अच्छे पुराने मानक * ftp * क्लाइंट का उपयोग करने के लिए * अधिक * आसान होगा। – ceving

6

यदि सिस्टम आप टेलनेट-आईएनजी पर पाइथन स्थापित कर चुके हैं (अधिकांश यूनिक्स-आधारित सिस्टम आजकल पाइथन का कुछ संस्करण डिफ़ॉल्ट रूप से स्थापित है), तो आप एक अति- सरल पायथन HTTP सर्वर, इस कमांड का उपयोग करते हुए:

$ python -m SimpleHTTPServer 

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

http://192.168.2.1:8000/ 

(सिर्फ रिमोट मशीन की वास्तविक पते के साथ आईपी पते की जगह) । यह ब्राउज़र में फ़ाइलों की एक सूची लोड करेगा, और आप अपनी इच्छित फ़ाइल को राइट क्लिक और सेव कर सकते हैं।

आशा है कि इससे मदद मिलती है!

+0

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

+1

बस इसे Python 3 में जोड़ना चाहते हैं यह python -m http.server है – pugnator

संबंधित मुद्दे