टीसीपी / आईपी पोर्ट पर सुनने वाले ऐप को विकसित करते समय, किसी डिफ़ॉल्ट पोर्ट को चुनने के बारे में कैसे जाना चाहिए? मान लें कि यह एप्लिकेशन कई कंप्यूटरों पर स्थापित किया जाएगा, और यह कि पोर्ट संघर्ष से बचना वांछित है।
टीसीपी / आईपी पोर्ट पर सुनने वाले ऐप को विकसित करते समय, किसी डिफ़ॉल्ट पोर्ट को चुनने के बारे में कैसे जाना चाहिए? मान लें कि यह एप्लिकेशन कई कंप्यूटरों पर स्थापित किया जाएगा, और यह कि पोर्ट संघर्ष से बचना वांछित है।
जवाबों:
यहां जाएं और विवरण के साथ एक पोर्ट चुनेंUnassigned
पहला कदम: आईएएनए लिस्टिंग देखें :
वहां आप सूची की पूंछ पर देखेंगे
"डायनामिक और / या प्राइवेट पोर्ट्स 49552 में से 65535 हैं।"
इसलिए वे आपके बेहतर दांव होंगे, लेकिन एक बार जब आप एक को चुन लेते हैं तो आप उस पर हमेशा यह देख सकते हैं कि क्या कोई लोकप्रिय पर्याप्त ऐप है जो पहले ही "दावा" कर चुका है
आधिकारिक IANA पोर्ट नंबरों और गैर-आधिकारिक पोर्ट नंबरों की सबसे व्यापक सूची जो मुझे पता है, वह है nmap-services ।
आप शायद इस सूची के किसी भी पोर्ट का उपयोग करने से बचना चाहते हैं (विकिपीडिया) ।
मैं सिर्फ एक चुनूंगा, और एक बार ऐप को आम लोगों द्वारा उपयोग करने के बाद, पोर्ट नंबर पहचाना जाएगा और ऐसी सूचियों में शामिल किया जाएगा।
जैसा कि अन्य उल्लेख करते हैं, आईएएनए की जांच करें।
फिर अपने स्थानीय सिस्टम / आदि / सेवाओं को यह देखने के लिए जांचें कि क्या कुछ कस्टम पोर्ट पहले से उपयोग में हैं।
और कृपया, इसे हार्डकोड न करें। सुनिश्चित करें कि यह विन्यास योग्य है, किसी न किसी तरह, - यदि कोई अन्य कारण नहीं है कि आप एक ही समय में अपने स्वयं के स्थानीयकृत बिल्ड का उपयोग करके कई डेवलपर्स के लिए सक्षम होना चाहते हैं।
आईएएनए सूची में से एक अनसाइनड को चुनना आमतौर पर पर्याप्त होता है, लेकिन यदि आप व्यावसायिक रूप से जारी उत्पाद के बारे में बात कर रहे हैं, तो आपको वास्तव में आईएएनए को आवेदन करना चाहिए कि वह आपको सौंपा जाए। ध्यान दें कि ऐसा करने की प्रक्रिया सरल लेकिन धीमी है; पिछली बार मैंने एक के लिए आवेदन किया था, इसमें एक साल लग गया।
यदि यह एक ऐसे अनुप्रयोग के लिए है जिसका आप व्यापक रूप से उपयोग किए जाने की अपेक्षा करते हैं, तो यहां एक संख्या दर्ज करें, ताकि कोई अन्य इसका उपयोग न करे।
अन्यथा, बस एक अप्रयुक्त को यादृच्छिक रूप से चुनें।
डायनेमिक रेंज में किसी एक का उपयोग करने में समस्या यह है कि यह उपलब्ध नहीं हो सकता है क्योंकि इसका उपयोग डायनेमिक पोर्ट नंबर के लिए किया जा सकता है।
Iana सूची का उपयोग करें। से csv फ़ाइल डाउनलोड करें:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
और अपंजीकृत बंदरगाहों की खोज के लिए इस शेल स्क्रिप्ट का उपयोग करें:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
और N और M के बजाय 2 नंबर लगाएं।
ठीक है, आप कुछ सामान्य रूप से उपयोग किए जाने वाले पोर्ट नंबर का संदर्भ यहां दे सकते हैं और कोशिश कर सकते हैं कि किसी और का उपयोग न करें।
यदि "बड़े पैमाने पर जनता के लिए खुला" से आपका मतलब है कि आप अपने सिस्टम पर पोर्ट खोल रहे हैं, तो मैं आपके सिस्टम एडमिनिस्ट्रेटर के साथ चैट करूंगा कि वे किन पोर्ट्स के साथ ऐसा करने में सहज महसूस करते हैं।
एक डिफ़ॉल्ट पोर्ट चुनें जो सबसे आम डेमॉन और सर्वर के साथ हस्तक्षेप नहीं करता है। यह भी सुनिश्चित करें कि पोर्ट नंबर को कुछ वायरस के लिए हमला वेक्टर के रूप में सूचीबद्ध नहीं किया गया है - कुछ कंपनियों की सख्त नीतियां हैं जहां वे ऐसे बंदरगाहों को अवरुद्ध करते हैं, चाहे वे कुछ भी हों। अंतिम लेकिन कम से कम, सुनिश्चित करें कि पोर्ट नंबर कॉन्फ़िगर करने योग्य है।