কম্পিউটারها মাঝে (TCP বা UDP প্রোটোকল) যেকোনো নেটওয়ার্ক কানেকশন পোর্টের মাধ্যমে করা হয়। এগুলোকে এন্ট্রি পয়েন্ট বা গেটওয়ে হিসেবে কল্পনা করুন যা একটি সার্ভিস বা অ্যাপ্লিকেশন ব্যবহার করে। যত বেশি ক্লায়েন্ট কানেকশন হয়, পোর্টের কম্প্রেশন বৃদ্ধি পায়। এই পোস্টে, আমরা শেয়ার করব কীভাবে পোর্ট এক্সহাস্টশন সমস্যা সমাধান করতে হয়।
পোর্ট দুটি ধরনের – ডাইনামিক পোর্ট এবং ডিফাইনড পোর্ট। ডাইনামিক পোর্ট একাধিক ক্লায়েন্টকে ডিফাইনড পোর্টের সাথে কানেক্ট করতে দেয়। ওয়েবসাইট একটি ভালো উদাহরণ। তারা সাধারণত পোর্ট ৮০ ডিফাইনড রাখে, কিন্তু একটি সক্রিয় পোর্ট ব্যবহার করে একাধিক ক্লায়েন্টকে সার্ভ করতে পারে। যেহেতু ডাইনামিক পোর্টের একটি লিমিট আছে, কানেকশনগুলো ফেলতে শুরু করবে যখন সব পোর্ট ব্যস্ত থাকবে। এটিকে পোর্ট এক্সহাস্টশন বলা হয়।
উইন্ডোজ ১১/১০-এ পোর্ট এক্সহাস্টশন

এই ট্রাবলশুটিং গাইডের মুখ্য উদ্দেশ্য হলো চিনতে কোন প্রক্রিয়া বা অ্যাপ্লিকেশন পোর্ট এক্সহাস্ট করছে। একবার আপনি তা নির্ধারণ করলে, পরবর্তী ধাপ হলো অ্যাপটি ঠিক করা।
পোর্ট এক্সহাস্টশন শনাক্ত করার লক্ষণ:
১] ডোমেইন শংসাপত্রের সাথে মেশিনে সাইন ইন করতে অক্ষম, যাইহোক লোকাল অ্যাকাউন্টের সাথে সাইন ইন কাজ করে। এটি সম্ভব যে ইতিমধ্যে ব্যবহৃত অ্যাকাউন্ট কাজ করতে পারে, কিন্তু নতুন একটা ফেলবে। এটি ক্যাশিংয়ের কারণে হয়।
২] গ্রুপ পলিসি আপডেট ফেলতে শুরু করবে। প্রতিবার আপনি পরিবর্তন করার চেষ্টা করলে, আপনি একটি ত্রুটি পেতে পারেন "ডোমেইন কন্ট্রোলারের সাথে নেটওয়ার্ক কানেক্টিভিটির অভাবের কারণে ফেলেছে" এটি অস্থায়ী হতে পারে কিন্তু একটি সংকেত।
৩] ফাইল শেয়ার বা নেটওয়ার্ক ড্রাইভ অ্যাক্সেসযোগ্য নয়।
৪] অ্যাপ্লিকেশন হোস্ট করা সার্ভারে রিমোট ডেস্কটপ ফেলে।
অন্যান্য চিহ্ন zahrer ইভেন্ট আইডি ৪২২৭, ৪২৩১ ইভেন্ট ভিউয়ারে TCP-র জন্য একটি বার্তা সহ যে ডাইনামিক পোর্ট অ্যালোকেশন ফেলেছে। NetStat কমান্ড একটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য TIME_WAIT স্টেটের জন্য বিশাল সংখ্যক এন্ট্রি দেখায়, ইত্যাদি।
উইন্ডোজ ১১/১০ এবং উইন্ডোজ সার্ভারের জন্য NetStat ব্যবহার
এলিভেটেড প্রিভিলেজের সাথে কমান্ড প্রম্পট খুলুন।
কমান্ডটি চালান:
netstat -anobq
পরবর্তী, সেই প্রসেস আইডি চেক করুন যেটির সর্বাধিক এন্ট্রি BOUND হিসেবে আছে।
আপনি যদি পাওয়ারশেল ব্যবহার করেন, তবে নিচের কমান্ডটি ব্যবহার করে সর্বাধিক Bound 가진 প্রসেস শনাক্ত করতে পারেন।
Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Select -Property Count, Name, @{Name="ProcessName";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).Name}}, Group | Sort Count -Descendin
অনেকসময়, ক্লায়েন্টরা পোর্টগুলো সঠিকভাবে বন্ধ করে না। ব্যবহৃত না হলেও, এই পোর্টগুলো মুক্ত হয় না। এটি পোর্ট এক্সহাস্টশনের পেছনে সবচেয়ে বড় কারণlerden একটি।
যদি প্রয়োজন ঘন ঘন হয়, তবে আপনি Netstat কমান্ড একটি লুপে ব্যবহার করতে পারেন। আউটপুট একটি টেক্সট ফাইলে উপলব্ধ হবে যা ট্রেন্ড মনিটর করতে ব্যবহার করা যাবে। স্ক্রিপ্টটি কেমন দেখাবে:
@ECHO ON set v=%1 :loop set /a v+=1 ECHO %date% %time% >> netstat.txt netstat -ano >> netstat.txt PING 1.1.1.1 -n 1 -w 60000 >NUL goto loop
টাস্ক ম্যানেজার ব্যবহার করে সর্বাধিক হ্যান্ডেল খুঁজুন

একটি কিছুটা সহজ পদ্ধতি যাতে এইরকম অ্যাপ্লিকেশন খুঁজে বের করা যায় তা হলো টাস্ক ম্যানেজার ব্যবহার করা। পাওয়ারশেল এবং কমান্ড প্রম্পটের নিজস্ব মেরিট থাকলেও, আপনি যদি দ্রুত প্রক্রিয়া দেখতে চান, তবে এটি একটি ভালো পদ্ধতি।
- টাস্ক ম্যানেজার খুলুন, এবং Details tab-এ স্যুইচ করুন।
- কলামগুলোর যেকোনো একটাতে রাইট-ক্লিক করুন, এবং "Select Columns."-এ ক্লিক করুন।
- উপলব্ধ অপশন থেকে “Handles” যোগ করুন।
- হ্যান্ডেল কলাম হেডারে ক্লিক করুন সর্বাধিক সংখ্যা অনুযায়ী সর্ট করার জন্য।
মাইক্রোসফট পরামর্শ দেয় যে যদি কোনো কানেকশন ফেলে, তবে চেক করুন হ্যান্ডেলের সংখ্যা ৩০০০-র চেয়ে বেশি কিনা। যদি সেটি হয়, তবে অ্যাপ্লিকেশনটিই দোষী। যাইহোক, ওএস সার্ভিসগুলো এই নিয়মের বাহিরে। অন্যদের জন্য, একবার সেই প্রসেস বন্ধ করুন, এবং তারপর ডোমেইন শংসাপত্র ব্যবহার করে লগ ইন করার চেষ্টা করুন এবং দেখুন কিনা সেটি সাফল্য হয়।
প্রসেস এক্সপ্লোরার

আপনি প্রসেস এক্সপ্লোরার ব্যবহার করতে পারেন যদি টাস্ক ম্যানেজার সাহায্য না করে। এটি DLL-ভার্সন সমস্যা বা হ্যান্ডেল লিক ট্র্যাক করার জন্য উপযোগী এবং রোগ অ্যাপ্লিকেশনে ইনসাইট প্রদান করে। প্রসেস এক্সপ্লোরার এখান থেকে ডাউনলোড করে ইনস্টল করা উচিত। নিশ্চিত করুন এটিকে এলিভেটেড প্রিভিলেজের সাথে চালান।
- কলাম হেডারে রাইট-ক্লিক করুন, এবং তারপর "Choose Columns." নির্বাচন করুন।
- Performance Tab-এ স্যুইচ করুন, এবং Handle Count যোগ করুন।
- মেনু থেকে, View > Show Lower Pane-এ ক্লিক করুন।
- আরেকবার মেনুতে ক্লিক করুন, View > Lower Pane View > Handles নির্বাচন করুন।
- হ্যান্ডেলগুলো ডিসেন্ডিং অর্ডারে সর্ট করুন।
- এটি সর্বোচ্চ হ্যান্ডেল কাউন্টসহ প্রসেস(গুলো) প্রকাশ করবে
- সর্বোচ্চ হ্যান্ডেল কাউন্টসহ প্রসেসগুলোর একটি হাইলাইট করতে ক্লিক করুন।
- নিচের প্যানেলটি সব হ্যান্ডেলের টাইপ প্রকাশ করবে। পোর্ট বা সকেট সাধারণত "File \Device\AFD" লেবেলের সাথে থাকে।
উচ্চ হ্যান্ডেল সংখ্যাযুক্ত প্রসেস বন্ধ করুন। যদি অ্যাপ্লিকেশনটি আবার স্পন হয়, তবে এটি কারণ হতে পারে, এবং আপনাকে অ্যাপ্লিকেশন ঠিক করতে হবে বা OEM-এর ডেভেলপারকে জানাতে হবে এটি ঠিক করতে। আপনি যদি এটি ঠিক করতে না পারেন কারণ অ্যাপ্লিকেশনটি দাবি করে, তবে আপনাকে কম্পিউটারটি কত পোর্ট ব্যবহার করতে পারে সেটি বাড়াতে বিবেচনা করা উচিত। নিচের কমান্ড (উদাহরণ) রেঞ্জ পরিবর্তন করতে এবং বাড়াতে পারে।
netsh int ipv4 set dynamicport tcp start=10000 num=1000
ন্যূনতম স্টার্ট পোর্ট যেটি সেট করা যায় সেটি ১০২৫। সর্বাধিক এন্ড পোর্ট ৬৫৫৩৫-কে অতিক্রম করতে পারবে না।
তবে বলা হয়, সমাধানটি এখনও অস্থায়ী। একটি IT অ্যাডমিন হিসেবে, আপনাকে পোর্ট এক্সহাস্টশন ট্রাবলশুট করার একটি ভালো সমাধান খুঁজে বের করতে হবে। কখনও কখনও, একাধিক সার্ভার ব্যবহার করে পোর্ট বাড়ানো যায়, কিন্তু সেটি পুরোপুরি অন্য লিগ।
