কিভাবে লিনাক্সে ওপেন পোর্ট তালিকাভুক্ত করবেন?

How List Open Ports Linux



নেটওয়ার্কিংয়ে, একটি পোর্ট একটি আকর্ষণীয় বৈশিষ্ট্য। এটি নেটওয়ার্ক ট্র্যাফিকের গন্তব্য অ্যাপ বা পরিষেবা শনাক্ত করার একটি উপায়। প্রতিটি প্রক্রিয়া/পরিষেবা তার অনন্য পোর্ট পায়। একটি পোর্ট সবসময় প্রোটোকলের সাথে হোস্টের আইপি ঠিকানার সাথে যুক্ত থাকবে।

বন্দর কী তা বর্ণনা করার জন্য এটি আমার একটি প্রিয় রূপক। কল্পনা করুন একটি জাহাজ বোঝাই জাহাজ, যা দূর দেশে ভ্রমণ করবে। সঠিকভাবে গন্তব্যে পৌঁছানোর জন্য কোন তথ্য প্রয়োজন? সরলতার জন্য, ধরা যাক এটির দেশের প্রয়োজন (আইপি ঠিকানা) এবং বন্দর জাহাজ ডক হবে।







এই গাইডে, লিনাক্সে কীভাবে খোলা পোর্টগুলি তালিকাভুক্ত করবেন তা দেখুন।



লিনাক্সে পোর্ট

বন্দর যোগাযোগের শেষ বিন্দু হিসেবে কাজ করে। এটি একটি 16-বিট সংখ্যা (দশমিক 0 থেকে 65535)। যদিও পরিসীমা বড়, ব্যবহারের সুবিধার জন্য, পোর্টগুলিকে তিনটি শ্রেণীতে ভাগ করা হয়েছে। প্রতিটি বিভাগকে পোর্ট মানের পরিসীমা হিসাবে লেবেল করা হয়েছে:



  • 0 থেকে 1023: এগুলি হল সুপরিচিত পোর্ট, যা সিস্টেম পোর্ট নামেও পরিচিত, যা সিস্টেম প্রক্রিয়াগুলির জন্য সংরক্ষিত যা বিভিন্ন ধরণের নেটওয়ার্ক পরিষেবা সরবরাহ করে। একটি সুপরিচিত পোর্টের সাথে আবদ্ধ হওয়ার জন্য, একটি প্রক্রিয়ার অবশ্যই সুপার ইউজার বিশেষাধিকার থাকতে হবে।
  • 1024 থেকে 49151: এইগুলি নিবন্ধিত পোর্টগুলি, যা ব্যবহারকারী পোর্ট হিসাবেও পরিচিত, যা নির্দিষ্ট পরিষেবার জন্য আইএএনএ দ্বারা মনোনীত। অনুরোধে, একটি প্রক্রিয়া তাদের অ্যাক্সেস থাকতে পারে। বেশিরভাগ সিস্টেমের ক্ষেত্রে, এই পোর্টগুলি ব্যবহার করার জন্য কোনও সুপার ব্যবহারকারীর বিশেষাধিকার প্রয়োজন হয় না।
  • 49152 থেকে 65535: এগুলি হল ডায়নামিক পোর্ট, যা প্রাইভেট পোর্ট নামেও পরিচিত। এই বন্দরগুলি IANA- এ নিবন্ধিত হতে পারে না। এই বন্দরগুলি ব্যক্তিগত বা কাস্টমাইজড পরিষেবাগুলির জন্য ব্যবহারের জন্য উন্মুক্ত এবং স্বয়ংক্রিয়ভাবে ক্ষণস্থায়ী পোর্ট (আইপি দ্বারা ব্যবহৃত স্বল্পকালীন পোর্ট) হিসাবে বরাদ্দ করা যেতে পারে।

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





তালিকা খোলা পোর্ট

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

বর্তমানে কোন বন্দরগুলি খোলা আছে তা শেখা বিভিন্ন পরিস্থিতিতে কাজে লাগতে পারে। একটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য একটি ডেডিকেটেড পোর্ট কনফিগার করা সম্ভব। একটি খোলা পোর্ট নেটওয়ার্কের অনুপ্রবেশের একটি শক্তিশালী ইঙ্গিতও হতে পারে।



নিম্নলিখিত পদ্ধতিগুলি উবুন্টু 20.04.1 LTS- এ প্রদর্শিত হয়।

/Etc /services থেকে প্রোটোকল এবং খোলা পোর্ট তালিকা করুন

/Etc /services ফাইলে বর্তমানে চলমান পরিষেবা সম্পর্কে তথ্য রয়েছে। এটি একটি বড় ফাইল, তাই অভিভূত হওয়ার জন্য প্রস্তুত।

$বিড়াল /ইত্যাদি/সেবা| কম

নেটস্ট্যাট ব্যবহার করে খোলা পোর্টগুলির তালিকা করুন

নেটস্ট্যাট টুল টিসিপি, রাউটিং টেবিল এবং বিভিন্ন নেটওয়ার্ক ইন্টারফেসের জন্য নেটওয়ার্ক সংযোগ প্রদর্শনের জন্য একটি ইউটিলিটি। এটি নেটওয়ার্ক প্রোটোকল পরিসংখ্যানও সরবরাহ করে। নেটস্ট্যাট ব্যবহার করে, আমরা সিস্টেমের সমস্ত খোলা পোর্ট তালিকাভুক্ত করতে পারি।

নিম্নলিখিত netstat কমান্ড চালান:

$নেটস্ট্যাট -তাতু

আসুন আমরা এই কমান্ডে যে সমস্ত পতাকা ব্যবহার করেছি তার দ্রুত ভাঙ্গন।

  • প্রতি : Netstat কে সব সকেট দেখাতে বলে
  • টি : টিসিপি পোর্ট তালিকাভুক্ত করতে নেটস্ট্যাটকে বলে
  • আপনি : নেটস্ট্যাটকে ইউডিপি পোর্ট তালিকাভুক্ত করতে বলে

নেটস্ট্যাট কমান্ডের আরেকটি বৈচিত্র এখানে:

$নেটস্ট্যাট -লন্টু

কমান্ডে দুটি নতুন পতাকা ব্যবহার করা হয়েছে। তাঁরা কি বোঝাতে চাইছেন?

  • দ্য : নেটস্ট্যাটকে কেবল শোনার সকেটগুলি মুদ্রণ করতে বলে
  • n : নেটস্ট্যাটকে পোর্ট নম্বর দেখাতে বলে

একটি পোর্ট ব্যবহার করা প্রক্রিয়ার PID প্রদর্শন করতে, -p পতাকা ব্যবহার করুন:

$নেটস্ট্যাট -ইনটপ

Ss ব্যবহার করে খোলা পোর্টগুলির তালিকা করুন

Ss টুলটি সকেট তদন্তের জন্য একটি ইউটিলিটি। এর ব্যবহার নেটস্ট্যাটের অনুরূপ।

খোলা পোর্টগুলির তালিকা করার জন্য, নিম্নলিখিত এসএস কমান্ডটি চালান:

$এসএস-লন্টু

পতাকাগুলি নেটস্ট্যাটের অনুরূপ। তাদের বর্ণিত ফাংশনগুলিও বেশ অনুরূপ।

  • দ্য : Ss কে শোনার সকেট প্রদর্শন করতে বলে
  • n : Ss কে সেবার নাম সমাধান করার চেষ্টা না করতে বলে
  • টি : টিসিপি সকেট প্রদর্শন করতে ss কে বলে
  • আপনি : Ss কে UDP সকেট প্রদর্শন করতে বলে

Lsof ব্যবহার করে খোলা পোর্টগুলির তালিকা করুন

Lsof কমান্ড হল খোলা ফাইল তালিকাভুক্ত করা। যাইহোক, এটি খোলা পোর্টগুলি প্রদর্শনের জন্যও ব্যবহার করা যেতে পারে।

নিম্নলিখিত lsof কমান্ডটি চালান:

$lsof-আই

একটি নির্দিষ্ট প্রোটোকল (টিসিপি, ইউডিপি, ইত্যাদি) এর খোলা পোর্টগুলি পেতে -i পতাকা পরে এটি সংজ্ঞায়িত করুন, ব্যবহার করুন:

$lsof-আই <প্রোটোকল>

Nmap ব্যবহার করে খোলা পোর্টগুলির তালিকা করুন

নেটওয়ার্ক এক্সপ্লোরেশন এবং সিকিউরিটি/পোর্ট স্ক্যানিং এর জন্য nmap টুল একটি শক্তিশালী। এটি সিস্টেমের সমস্ত খোলা পোর্ট রিপোর্ট করতে পারে।

খোলা টিসিপি পোর্ট তালিকাভুক্ত করতে, নিম্নলিখিত nmap কমান্ডটি চালান। এখানে, IP ঠিকানা হোস্ট কম্পিউটারের:

$sudo nmap -এসটি -পি-স্থানীয় হোস্ট

এখানে, কমান্ড আর্গুমেন্টের দুটি অংশ আছে।

  • -এসটি : এই বিভাগটি টিসিপি পোর্টগুলির জন্য স্ক্যান করতে nmap কে বলে।
  • -পি- : এটি nmap কে সব 65535 পোর্টের জন্য স্ক্যান করতে বলে। যদি ব্যবহার না করা হয়, তাহলে nmap ডিফল্টভাবে শুধুমাত্র 1000 পোর্ট স্ক্যান করবে।

যদি আপনার খোলা ইউডিপি পোর্ট তালিকাভুক্ত করার প্রয়োজন হয়, তাহলে নিম্নলিখিত nmap কমান্ডটি চালান:

$sudo nmap -এটা -পি-স্থানীয় হোস্ট

খোলা টিসিপি এবং ইউডিপি পোর্ট উভয় পেতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

$sudo nmap -এন -পিএন -এসটি -এটা -পি-স্থানীয় হোস্ট

নেটক্যাট ব্যবহার করে খোলা বন্দরের তালিকা করুন

নেটক্যাট টুল টিসিপি এবং ইউডিপি প্রোটোকলের মাধ্যমে নেটওয়ার্ক সংযোগ জুড়ে ডেটা পড়া এবং লেখার জন্য একটি কমান্ড লাইন ইউটিলিটি। এই সরঞ্জামটি খোলা পোর্ট তালিকাভুক্ত করার জন্যও ব্যবহার করা যেতে পারে। এটি একটি নির্দিষ্ট পোর্ট বা পোর্টের একটি পরিসরে পরীক্ষা করতে পারে।

নিম্নলিখিত নেটক্যাট কমান্ডটি 1 থেকে 1000 পর্যন্ত পোর্টটি স্ক্যান করবে। নেটক্যাট কমান্ড টিসিপি প্রোটোকলে ডিফল্টভাবে স্ক্যান করবে:

$nc-সঙ্গে -ভিস্থানীয় হোস্ট-1000

এটি সম্ভাব্য বন্দরের সম্পূর্ণ তালিকায়ও বাড়ানো যেতে পারে:

$nc-সঙ্গে -ভিস্থানীয় হোস্ট-65535

আসুন পতাকাগুলির একটি দ্রুত ভাঙ্গন।

  • সঙ্গে : নেটক্যাটকে কোন ডাটা না পাঠিয়ে শুধুমাত্র খোলা পোর্টের জন্য স্ক্যান করতে বলে
  • v : নেটক্যাটকে ভার্বোজ মোডে চালাতে বলে

এই তালিকা থেকে শুধুমাত্র খোলা পোর্টগুলি পেতে, সফল শব্দটির জন্য grep দিয়ে আউটপুট ফিল্টার করুন।

$nc-সঙ্গে -ভিস্থানীয় হোস্ট0-65535 2> & | খপ্পরসফল

আপনি যদি UDP প্রটোকলে স্ক্যান করতে চান, তাহলে -u পতাকা যুক্ত করুন।

$nc-সঙ্গে -ভি -উস্থানীয় হোস্ট0-65535 2> & | খপ্পরসফল

সর্বশেষ ভাবনা

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

শুভ কম্পিউটিং!