উবুন্টুতে ওপেন পোর্ট কীভাবে চেক করবেন: অপরিহার্য কমান্ড এবং ব্যবহারিক উদাহরণ

১. পরিচিতি

উবুন্টু ব্যবহারকারী অনেকের জন্য, পোর্ট পরিচালনা করা সিস্টেমের নিরাপত্তা ও নেটওয়ার্ক পারফরম্যান্স বজায় রাখার একটি গুরুত্বপূর্ণ দিক। বিশেষ করে, খোলা পোর্ট চেক করা অপরাধমূলক প্রবেশ রোধের জন্য অপরিহার্য, যখন সেবা চালানো হয় বা নেটওয়ার্ক যোগাযোগ পরিচালনা করা হয়। এছাড়াও, পোর্ট পরিদর্শন সমস্যার সমাধান এবং নেটওয়ার্ক কনফিগারেশন অপ্টিমাইজ করতে সহায়তা করে।

এই প্রবন্ধটি উবুন্টুতে পোর্ট কীভাবে চেক করা যায় তার বিশদ ব্যাখ্যা প্রদান করে এবং কমান্ড-ভিত্তিক পদ্ধতিগুলি পরিচয় করিয়ে দেয়। আপনি যদি নবীন হন বা মাঝারি স্তরের উবুন্টু ব্যবহারকারী, এখানে দেওয়া তথ্য আপনার জন্য অত্যন্ত মূল্যবান হবে।

২. পোর্ট কী?

একটি পোর্ট নম্বর “গেটওয়ে” এর মতো কাজ করে, যা যোগাযোগের সময় একটি কম্পিউটারকে নির্দিষ্ট সেবা বা প্রক্রিয়ায় ডেটা পাঠাতে সক্ষম করে। নেটওয়ার্ক যোগাযোগ প্রধানত দুটি প্রোটোকল ব্যবহার করে: TCP এবং UDP। TCP হল একটি কানেকশন-ওরিয়েন্টেড প্রোটোকল, যা ডেটার নির্ভরযোগ্যতা নিশ্চিত করতে যোগাযোগের আগে একটি সংযোগ স্থাপন করে। অন্যদিকে, UDP হল একটি কানেকশনলেস প্রোটোকল, যা সংযোগ স্থাপন না করেই ডেটা পাঠায়, ফলে দ্রুত ট্রান্সমিশন সম্ভব হয়।

TCP এবং UDP এর পার্থক্য

  • TCP (Transmission Control Protocol) : নির্ভরযোগ্য যোগাযোগের জন্য ডিজাইন করা একটি প্রোটোকল, যা ডেটা সঠিকভাবে পৌঁছায় তা নিশ্চিত করে। এটি সাধারণত ওয়েব সার্ভার (HTTP/HTTPS) এবং SSH এর মতো সেবার জন্য ব্যবহৃত হয়।
  • UDP (User Datagram Protocol) : TCP এর বিপরীতে, এটি নির্ভরযোগ্য যোগাযোগের গ্যারান্টি দেয় না, তবে কম লেটেন্সি ডেটা ট্রান্সমিশন সম্ভব করে। এটি স্ট্রিমিং এবং VoIP এর মতো রিয়েল-টাইম সেবার জন্য ব্যবহৃত হয়।

পোর্ট নম্বরের বোঝাপড়া নেটওয়ার্ক নিরাপত্তা ও পারফরম্যান্স পরিচালনায় একটি অপরিহার্য ভূমিকা পালন করে।

৩. উবুন্টুতে পোর্ট চেক করার কমান্ডের তালিকা

উবুন্টু বর্তমানে খোলা পোর্ট চেক করার জন্য বেশ কিছু কমান্ড প্রদান করে। নিচে কিছু সাধারণত ব্যবহৃত কমান্ডের তালিকা দেওয়া হল।

১. netstat কমান্ড

netstat হল একটি শক্তিশালী কমান্ড, যা নেটওয়ার্ক সংযোগ, রাউটিং টেবিল এবং ইন্টারফেস পরিসংখ্যানের তথ্য প্রদর্শন করে। শোনার (listening) পোর্ট চেক করতে আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:

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

৭. উপসংহার

এই নিবন্ধে উবুন্টুতে পোর্ট চেক করার জন্য অপরিহার্য কমান্ড এবং পদ্ধতি ব্যাখ্যা করা হয়েছে। পোর্ট পরিদর্শন নেটওয়ার্ক নিরাপত্তা এবং সিস্টেম স্থিতিশীলতা বজায় রাখার জন্য অত্যন্ত গুরুত্বপূর্ণ। বিশেষ করে, বাইরে থেকে অ্যাক্সেসযোগ্য শোনা পোর্টগুলি পরিচালনা করা দুর্বলতা কমানোর জন্য অত্যাবশ্যক। এখানে উল্লিখিত ধাপগুলি অনুসরণ করে উবুন্টুতে আপনার সিস্টেম পোর্টগুলি সঠিকভাবে পরিচালনা এবং সুরক্ষিত করুন।