১. পরিচিতি
অনেক উবুন্টু ব্যবহারকারীর জন্য, পোর্ট পরিচালনা করা নিরাপত্তা এবং নেটওয়ার্ক পারফরম্যান্স বজায় রাখার একটি গুরুত্বপূর্ণ দিক। ওপেন পোর্ট চেক করা আক্রমণ প্রতিরোধের জন্য অপরিহার্য, বিশেষ করে যখন সেবা চালানো হয় বা নেটওয়ার্কের মাধ্যমে যোগাযোগ করা হয়। এছাড়াও, পোর্ট পরিদর্শন ট্রাবলশুটিং এবং নেটওয়ার্ক কনফিগারেশন অপ্টিমাইজ করতে সহায়তা করে।
এই প্রবন্ধে, আমরা উবুন্টুতে পোর্ট কীভাবে চেক করবেন তার বিস্তারিত গাইড প্রদান করব, নির্দিষ্ট কমান্ড ব্যবহার করে ধাপে ধাপে নির্দেশনা সহ। এই তথ্যটি নবীন এবং মধ্যম স্তরের ব্যবহারকারীদের জন্য উপকারী।
২. পোর্ট কী?
পোর্ট নম্বরগুলি “গেটওয়ে” হিসেবে কাজ করে, যা কম্পিউটারকে যোগাযোগের সময় নির্দিষ্ট সেবা বা প্রক্রিয়ায় ডেটা পাঠাতে সক্ষম করে। নেটওয়ার্ক যোগাযোগ প্রধানত দুটি প্রোটোকল ব্যবহার করে: TCP এবং UDP। TCP ডেটা নির্ভরযোগ্যতা নিশ্চিত করে, ডেটা প্রেরণের আগে একটি সংযোগ স্থাপন করে, ফলে এটি একটি “কানেকশন-ওরিয়েন্টেড প্রোটোকল”। অন্যদিকে, UDP সংযোগ স্থাপন করে না, দ্রুত ডেটা ট্রান্সমিশন সম্ভব করে, ফলে এটি একটি “কানেকশনলেস প্রোটোকল”।
TCP এবং UDP এর পার্থক্য
- TCP (Transmission Control Protocol) : একটি প্রোটোকল যা নির্ভরযোগ্য যোগাযোগ প্রদান করে, ডেটা সঠিকভাবে পৌঁছানোর নিশ্চয়তা দেয়। এটি সাধারণত ওয়েব সার্ভার (HTTP/HTTPS) এবং SSH সংযোগের জন্য ব্যবহৃত হয়।
- UDP (User Datagram Protocol) : TCP এর বিপরীতে, UDP নির্ভরযোগ্যতা গ্যারান্টি দেয় না, তবে কম লেটেন্সি ডেটা ট্রান্সমিশন সম্ভব করে। এটি রিয়েল-টাইম অ্যাপ্লিকেশন যেমন স্ট্রিমিং এবং VoIP এর জন্য প্রায়ই ব্যবহৃত হয়।
পোর্ট নম্বরের বোঝাপড়া নেটওয়ার্ক নিরাপত্তা এবং পারফরম্যান্স কার্যকরভাবে পরিচালনার জন্য অপরিহার্য।

৩. উবুন্টুতে পোর্ট চেক করার সাধারণ কমান্ডগুলি
উবুন্টুতে বর্তমানে কোন পোর্টগুলি ওপেন আছে তা চেক করার জন্য বিভিন্ন কমান্ড উপলব্ধ। নিচে কিছু সাধারণভাবে ব্যবহৃত কমান্ড দেওয়া হল।
১. netstat কমান্ড
netstat কমান্ডটি নেটওয়ার্ক কানেকশন, রাউটিং টেবিল এবং ইন্টারফেস পরিসংখ্যান প্রদর্শনের জন্য একটি শক্তিশালী টুল। আপনি নিম্নলিখিত কমান্ড ব্যবহার করে লিসেনিং পোর্ট চেক করতে পারেন:
sudo netstat -lntu
-l: শুধুমাত্র লিসেনিং পোর্ট দেখায়-n: IP ঠিকানা এবং পোর্ট নম্বরকে সংখ্যাসূচক ফরম্যাটে প্রদর্শন করে-t: TCP পোর্ট দেখায়-u: UDP পোর্ট দেখায়
২. ss কমান্ড
ss কমান্ডটি netstat এর তুলনায় আরও কার্যকরী বিকল্প এবং দ্রুত লিসেনিং পোর্ট প্রদর্শন করতে পারে। নিম্নলিখিত কমান্ড ব্যবহার করুন:
ss -lntu
ss কে netstat এর চেয়ে শ্রেষ্ঠ বলে ধরা হয়, কারণ এটি নেটওয়ার্ক সকেট তথ্য দ্রুত পুনরুদ্ধার করতে পারে।
৩. lsof কমান্ড
lsof কমান্ডটি ওপেন ফাইলগুলির তালিকা দেখায়, যার মধ্যে নেটওয়ার্ক পোর্ট ব্যবহারকারী প্রক্রিয়াগুলিও অন্তর্ভুক্ত। আপনি পোর্ট ব্যবহার চেক করতে পারেন:
sudo lsof -i
৪. nmap কমান্ড
nmap কমান্ডটি একটি সুপরিচিত নেটওয়ার্ক নিরাপত্তা স্ক্যানিং টুল, যা ওপেন পোর্ট এবং সেবা সনাক্ত করতে সহায়তা করে। লোকাল হোস্টের সব পোর্ট স্ক্যান করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo nmap -n -PN -sT -sU -p- localhost
৪. পোর্ট খোলা এবং বন্ধ করা
ওপেন এবং ক্লোজড পোর্ট পরিচালনা করা উবুন্টু সিস্টেমকে সুরক্ষিত রাখার জন্য অপরিহার্য। উবুন্টু একটি সহজ ফায়ারওয়াল টুল ufw (Uncomplicated Firewall) প্রদান করে, যা পোর্ট পরিচালনায় সহায়তা করে।
ufw দিয়ে পোর্ট খোলা
পোর্ট ৮০ (HTTP ট্র্যাফিক) খোলার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo ufw allow 80
একইভাবে, পোর্ট ২২ (SSH অ্যাক্সেস) খোলার জন্য:
sudo ufw allow 22
ufw দিয়ে পোর্ট বন্ধ করা
একটি ওপেন পোর্ট বন্ধ করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo ufw delete allow 80
এটি পোর্ট ৮০ এর মাধ্যমে ট্র্যাফিক অনুমোদনকারী নিয়মটি মুছে দেবে।
৫. ব্যবহারিক উদাহরণ: নির্দিষ্ট পোর্ট চেক করা
এই অংশে, আমরা নির্দিষ্ট একটি পোর্ট চেক করার ব্যবহারিক উদাহরণ দেখব। উদাহরণস্বরূপ, SSH সেবা পোর্ট ২২-এ লিসেন করছে কিনা চেক করতে আপনি নিম্নলিখিতভাবে netstat বা ss কমান্ড ব্যবহার করতে পারেন:
ss -lnt | grep :22
আপনি lsof কমান্ড ব্যবহার করে পোর্টটি যাচাই করতে পারেন:
sudo lsof -i :22
আউটপুটটি নিশ্চিত করবে যে SSH সেবা সক্রিয়ভাবে পোর্ট ২২-এ লিসেন করছে।

৬. সাধারণ সমস্যাগুলি এবং সমাধান
পোর্ট পরীক্ষা বা পরিচালনা করার সময়, আপনি কিছু সাধারণ সমস্যার সম্মুখীন হতে পারেন। নিচে কিছু সাধারণ সমস্যার এবং তাদের সম্ভাব্য সমাধানগুলি দেওয়া হয়েছে।
পোর্ট খোলা নেই
যদি কোনো পোর্ট খোলা না থাকে, প্রথম ধাপ হল ফায়ারওয়াল সেটিংস সঠিকভাবে কনফিগার করা হয়েছে কিনা তা পরীক্ষা করা। আপনি ufw এর অবস্থা যাচাই করতে পারেন নিম্নলিখিত কমান্ড চালিয়ে:
sudo ufw status
যদি ফায়ারওয়াল পোর্টটি ব্লক না করে, তবে পরীক্ষা করুন সেবা নিজেই সঠিকভাবে চলছে কিনা। উদাহরণস্বরূপ, SSH সক্রিয় আছে কিনা নিশ্চিত করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo systemctl status ssh
সেবা চলছে কিন্তু পোর্ট শোনাচ্ছে না
কিছু ক্ষেত্রে, সেবা চলতে পারে, তবে পোর্টটি সক্রিয়ভাবে শোনাচ্ছে না। এই সমস্যার সমাধানের জন্য, সেবা পুনরায় চালু করুন এবং লগগুলি পরীক্ষা করুন। উদাহরণস্বরূপ, SSH সেবা পুনরায় চালু করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
sudo systemctl restart ssh
তারপর কোনো ত্রুটি আছে কিনা লগগুলি পরীক্ষা করুন:
sudo journalctl -u ssh --no-pager | tail -20
ফায়ারওয়াল পোর্টটি ব্লক করছে
যদি ফায়ারওয়াল প্রয়োজনীয় পোর্টটি ব্লক করে থাকে, তবে ট্র্যাফিক অনুমোদনের জন্য একটি নিয়ম যোগ করুন। উদাহরণস্বরূপ, পোর্ট 8080 অনুমোদন করতে নিম্নলিখিত কমান্ড চালান:
sudo ufw allow 8080
পরিবর্তনগুলি প্রয়োগ করতে, ufw রিলোড করুন:
sudo ufw reload
৭. উপসংহার
এই প্রবন্ধে, আমরা উবুন্টুতে খোলা পোর্টগুলি পরীক্ষা করার জন্য প্রয়োজনীয় কমান্ড এবং পদ্ধতিগুলি অনুসন্ধান করেছি। পোর্ট পর্যবেক্ষণ এবং পরিচালনা নেটওয়ার্ক নিরাপত্তা এবং সিস্টেমের স্থিতিশীলতা বজায় রাখার একটি গুরুত্বপূর্ণ দিক। শোনাচ্ছি এমন পোর্টগুলি সঠিকভাবে পরিচালনা করা দুর্বলতা কমাতে এবং আপনার সিস্টেমকে অননুমোদিত প্রবেশ থেকে রক্ষা করতে সহায়তা করে।
এই গাইডে উল্লেখিত ধাপগুলি অনুসরণ করে, আপনি কার্যকরভাবে পোর্টগুলি পরীক্ষা করতে, সংযোগ সমস্যাগুলি সমাধান করতে এবং আপনার উবুন্টু সিস্টেমের নিরাপত্তা বাড়াতে পারেন।


