FTP हैंग हो जाता है: 150 ओपनिंग ASCII मोड डेटा कनेक्शन


15

मैं अपने Windows 2008 सर्वर (R2) पर एक FTP सर्वर स्थापित कर रहा हूं।

सब कुछ सही तरीके से स्थापित होना प्रतीत होता है लेकिन मुझे अपने एफ़टीपी सर्वर पर लॉगिन करने के लिए एफ़टीपी क्लाइंट का उपयोग करने में परेशानी हो रही है।

मैं सर्वर पर डेस्कटॉप को दूरस्थ कर सकता हूं और डॉस कमांड के माध्यम से आसानी से लॉग इन कर सकता हूं।

लेकिन अगर मैं "डीआईआर" जैसी कमांड जारी करता हूं, तो इसके साथ हैंग हो जाता है: 150 ओपनिंग एएससीआईआई मोड डेटा कनेक्शन।

मेरे द्वारा फ़ायरवॉल पोर्ट्स और / या पैसिव / एक्टिव मोड सेटिंग्स पर पॉइंट्स पर शोध किया गया है।

यहाँ वह है जो मुझे परेशान करता है ... यदि मैं डॉस एफ़टीपी कमांड का उपयोग करता हूं, तो मैं "डीआईआर" कमांड का उपयोग कर सकता हूं और केवल तभी उपयोग कर सकता हूं जब मैं अपने पते के रूप में "लोकलहोस्ट" का उपयोग करता हूं।

यदि मैं अपना पूर्ण FTP URL निर्दिष्ट करता हूं, तो मुझे फांसी की त्रुटि मिलती है।

यदि मैं "लोकलहोस्ट" URL निर्दिष्ट करता हूं, तो मुझे त्रुटि नहीं मिलती है।

यह मुझे इसकी फ़ायरवॉल समस्या (या यहां तक ​​कि IIS7 समस्या?) पर विश्वास करने के लिए प्रेरित करता है, लेकिन मैं अनिश्चित हूं कि मुझे किन पोर्ट को खोलने की आवश्यकता है?

मेरे विंडोज फ़ायरवॉल पर मेरे पोर्ट्स 20, 21 खुले हैं। मैंने अपने एडब्ल्यूएस (अमेज़ॅन) फ़ायरवॉल पर उन बंदरगाहों को भी खोला है।

मेरा मानना ​​है कि मेरा एफ़टीपी ग्राहक कुछ लंबी दूरी के पोर्ट नंबर (एस) का उपयोग कर रहा है जो संभवतः मेरे दो फायरवॉल में से एक द्वारा अवरुद्ध हैं। Ive ने नेटवर्क मॉनिटरिंग टूल का उपयोग करने की कोशिश की और यह देखने के लिए कि इसे किस पोर्ट पर कॉल किया जा रहा है, लेकिन मुझे पता नहीं है।

किसी भी विचार, टिप्स, ट्रिक्स, मदद?

जवाबों:


9

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

IMHO नेटवर्क मॉनिटरिंग का उपयोग करके यह पता लगाने के लिए कि किस पोर्ट का उपयोग किया जा रहा है, वह इस प्रयास के लायक नहीं है क्योंकि ये पोर्ट हर नए FTP सत्र के लिए बदलने जा रहे हैं।

जब तक आप इसे पहले ही कर चुके होते हैं, तब तक इस समस्या के निवारण में मेरा सबसे अच्छा शॉट फ़ायरवॉल पर किसी भी ट्वीक को देखना होगा जो आपके एफ़टीपी सर्वर की सुरक्षा कर रहा है (यदि मैं आपके प्रश्न को सही ढंग से समझता हूँ तो यह "एडब्ल्यूएस फ़ायरवॉल" होगा) और देखें कि क्या है एफ़टीपी प्रोटोकॉल के लिए निरीक्षण को सक्षम करने के लिए कोई भी "घुंडी" है।


6

मुझे एक ही संदेश प्राप्त हुआ, जब lsमेरे Ubuntu कमांड लाइन से UNIX FTP होस्ट सर्वर पर संग्रहीत फ़ाइलों को सूचीबद्ध करने के लिए कमांड का उपयोग करने का प्रयास किया गया। ftp ftp.example.comजब मुझे संकेत दिया जाता है तो मैं अपने उपयोगकर्ता नाम और पासवर्ड का उपयोग करके सफलतापूर्वक प्रवेश करने में सक्षम था । हालाँकि, मुझे 150 Opening ASCII mode data connectionसंदेश प्राप्त होगा और कभी कुछ नहीं हुआ। फिर, मैंने बस विकल्प में प्रवेश किया -p(इसे फायरवॉल से निपटने के लिए "निष्क्रिय" मोड में बदल दिया) और इसके साथ काम किया।

 ftp -p ftp.example.com

जब संकेत दिया जाए तो उपयोगकर्ता नाम और पासवर्ड दर्ज करें, जैसे कि काम करेगा lsऔर cdकाम करेगा। मेरा मानना ​​है कि आप इस कमांड में भी प्रवेश कर सकते हैं और यह वही काम करेगा, लेकिन मैंने इसका परीक्षण नहीं किया है।

pftp ftp.example.com

मुझे पता है कि प्रश्न विंडोज से संबंधित है; हालाँकि, दी गई एक ही त्रुटि का अनुमान लगा लिया गया था कि यह टिप पोस्ट करने लायक थी।


बहुत बढ़िया .. मेरी तुरंत मदद की
संभल शर्मा

5

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

सबसे अधिक संभावना है, या तो

  1. आपका क्लाइंट एक (डंबल, या फिर SSL- अवरुद्ध) फ़ायरवॉल के पीछे है और सक्रिय-मोड एफ़टीपी का उपयोग करने की कोशिश कर रहा है
  2. आपका सर्वर एक (डंबल, या फिर एसएसएल-ब्लॉक्ड) फ़ायरवॉल के पीछे है और पैसिव-मोड एफ़टीपी का उपयोग करने की कोशिश कर रहा है

यदि आप SSL का उपयोग कर रहे हैं, तो एकमात्र उत्तर फायरवॉल पर पोर्ट (जैसे, 10000-11000) खोलने के लिए है और निष्क्रिय मोड को मजबूर करने के लिए अपने FTP सर्वर को कॉन्फ़िगर करें और उस पोर्ट रेंज का उपयोग करें। यदि आपका सर्वर NAT का उपयोग कर रहा है, तो आपको क्लाइंट के विज्ञापन के लिए सर्वर के लिए उचित IP पता सेट करने की भी आवश्यकता होगी, जो भी सर्वर निष्क्रिय मोड कनेक्शन स्ट्रिंग के रूप में प्रदान करता है, सबसे अधिक पालन करता है और यदि सर्वर को लगता है कि यह 10.1.1.1 है, तो यही है। यह ग्राहकों को बताने जा रहा है।

यदि आप एसएसएल का उपयोग नहीं कर रहे हैं, तो सबसे अच्छा जवाब यह देखना है कि क्या आप एफटीपी के लिए प्रोटोकॉल निरीक्षण करने के लिए अपना फ़ायरवॉल प्राप्त कर सकते हैं। फ़ायरवॉल पोर्ट 21 पर ट्रैफ़िक को पढ़ेगा और जो भी पोर्ट आपके सर्वर को ओपन करना चाहता है उसे ओपन करेगा। यह अक्सर NAT पते को ठीक कर सकता है (जब फ़ायरवॉल NAT को संभाल रहा हो)। आप शायद अभी भी निष्क्रिय मोड को लागू करना चाहते हैं क्योंकि कुछ लोग अपने एफ़टीपी क्लाइंट को ठीक से कॉन्फ़िगर करने का तरीका नहीं जानते हैं और लगभग हर कोई इन दिनों ब्रॉडबैंड राउटर / फ़ायरवॉल के पीछे है।

यदि आप एक बेहतर फ़ायरवॉल नहीं प्राप्त कर सकते हैं, तो आपको "बंदरगाहों के एक समूह को खोलने" विकल्प से चिपके रहना होगा (या एक प्रोटोकॉल पर स्विच करना होगा जो ssh के sftp जैसे यादृच्छिक बंदरगाहों का एक गुच्छा खोलने की आवश्यकता नहीं है)।


4

मुझे यह समस्या थी और इसे निम्नलिखित में से हल किया गया था।

मैं FireFTP का उपयोग कर रहा था, जो डिफ़ॉल्ट रूप से निष्क्रिय मोड के माध्यम से जोड़ता है। IIS में FTP सेट करते समय डिफ़ॉल्ट पोर्ट 21 होगा। मुझे फ़ायरवॉल में पोर्ट 21 को खोलना था, जो मुझे आगे एक मंच मिला, लेकिन यह ASCII मोड डेटा कनेक्शन को खोलने पर लटका होगा ।

फिर इसे बाहर निकालता है और कुछ अन्य गतिशील बंदरगाहों को चुनता है। मुझे पता था कि यह फ़ायरवॉल मुद्दा था जैसे कि फ़ायरवॉल बंद एफटीपी ठीक जोड़ता है। सर्वर पर स्थानीय रूप से भी - कोई समस्या नहीं।

ठीक करने के लिए, मैंने आईआईएस को लोड किया (संस्करण 8.0 का उपयोग करते हुए, विश्वास है कि यह 7.5 में समान है), पेड़ के सर्वर स्तर पर (जो कि शीर्ष नोड है) सिंगल इसे क्लिक करें और "एफ़टीपी फ़ायरवॉल समर्थन" चुनें। आपके द्वारा उपयोग की जाने वाली प्रत्येक FTP साइट इन पोर्ट श्रेणियों का उपयोग करेगी, अलग-अलग FTP साइटों के पास यह विकल्प होगा, क्योंकि यह इस अनुभाग से विरासत में मिली है।

डेटा चैनल पोर्ट रेंज में, निर्दिष्ट एक्स , बंदरगाहों की राशि मेरे मामले में 10,000-10,125

अब, अपने फ़ायरवॉल में TCP पोर्ट की उस श्रेणी को "FTP पैसिव पोर्ट रेंज" के रूप में खोलें।

मैंने तब सोचा कि समस्या हल हो जाएगी, लेकिन काफी नहीं। नई पोर्ट रेंज लेने के लिए Microsoft FTP सेवा सेवा को पुनः आरंभ करना सुनिश्चित करें । बंद करें FireFTP / ग्राहक और पुन: प्रयास करें और इस बार किसी भी भाग्य के भीतर आप में होंगे :)


1

मेरे पास आपके साथ एक ही मुद्दा है और अभी तय है।

मैंने जो किया वह है विंडोज फ़ायरवॉल (Win7), 'विंडोज फ़ायरवॉल के माध्यम से एक प्रोग्राम या फ़ीचर की अनुमति दें' पर क्लिक करें, और फिर 'अनुमति कार्यक्रम और सुविधाएँ' सूची में, 'फाइल ट्रांसफर प्रोग्राम' का पता लगाएँ और चेकबॉक्स पर टिक करें।

यह हो जाने के बाद, कमांड प्रॉम्प्ट और इनपुट ftp XXXX खोलें, लॉगिन करें और फिर ls / dir / get / put, अभी सभी काम करें।

लेकिन मैं अभी भी फ़ाइल जिला और वेब ब्राउज़र से कनेक्ट करने में विफल रहा, आशा है कि यह आपके लिए उपयोगी है।


1

अपने सर्वर के टाइम सिंकिंग की जाँच करें


1

अपने सेटअप में कुछ भी गड़बड़ न करें

बस अग्रिम सुरक्षा के साथ विंडोज फ़ायरवॉल में आउटबाउंड नियम जोड़ें और पोर्ट नंबर 20 डालें।

CLI पर FTP का आनंद लें


1

मेरे लिए समस्या स्थानीय पीसी पर थी, रिमोट होस्ट की नहीं। मैंने पुष्टि की कि रिमोट होस्ट पर एफ़टीपी सेवा स्थापित पहले से ही सर्वर फ़ायरवॉल पर सभी बंदरगाहों को ठीक से खोलती थी, जिसकी उसे जरूरत थी, ताकि समस्या न हो। यह मेरा स्थानीय क्लाइंट पीसी था जो साथ नहीं खेल रहा था। इसलिए,

  1. मैंने विंडोज डिफेंडर फ़ायरवॉल खोला।
  2. फिर मैंने बाईं ओर लिंक पर क्लिक किया, "विंडोज डिफेंडर फ़ायरवॉल के माध्यम से एक ऐप या सुविधा की अनुमति दें":

यहाँ छवि विवरण दर्ज करें

  1. मैंने फ़ाइल स्थानांतरण कार्यक्रम को नीचे स्क्रॉल किया और डोमेन, निजी और सार्वजनिक के लिए बक्से की जाँच की:

यहाँ छवि विवरण दर्ज करें

यह आखिरकार मेरे लिए यह तय हो गया! जब मैं एक LS कमांड को फिर से लेना चाहता था, तो प्रतिक्रिया तात्कालिक थी और अधिक हैंगअप नहीं था।


0

हमने Windows फ़ायरवॉल न्यू इनबाउंड नियम विज़ार्ड का उपयोग करके इस समस्या को हल किया। प्रोग्राम चुनें, फिर C: \ Windows \ System32 \ ftp.exe, कनेक्शन की अनुमति दें, विकल्प जांचें; डोमेन, निजी, सार्वजनिक (आप बाद में प्रतिबंधित कर सकते हैं अगर जरूरत हो), नियम का नाम दें और आपका काम हो गया।

अब एक ftp साइट पर ftp करें और dir या ls को ठीक से रिस्पॉन्स करें।


0

मैं ओपी के रूप में एक ही मुद्दे का सामना करना पड़ा है

200 PORT कमांड सफल।
150 ASCII मोड डेटा कनेक्शन खोलना।
425 डेटा कनेक्शन नहीं खोल सकता।

मुझे उपरोक्त समस्या का सामना करना पड़ा जब मैंने विंडोज़ में कमांड लाइन पर निष्क्रिय मोड का उपयोग करने की कोशिश की।
मुझे वह जानकारी मिली जो मैं सामग्री खोजकर चाहता था:

IE आमतौर पर निष्क्रिय मोड का उपयोग करता है, जबकि कमांड लाइन उपयोगिता (ftp कमांड) हमेशा सक्रिय मोड का उपयोग करता है।

मैंने IE में अपने पिछले ऑपरेशन की कोशिश की और यह काम किया। प्रोब्लम ने हल किया

सामग्री लिंक: https://forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+

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