আপনি যদি লিনাক্স ব্যবহার করেন, তাহলে একটি সময় আসবে যখন আপনাকে আপনার নেটওয়ার্ক সম্পর্কে আরও জানতে হবে। এই কাজে সাহায্য করার জন্য বেশ কিছু টুল রয়েছে, যাঁর মধ্যে কিছু অন्यों চেয়ে বেশি জটিল। ss কমান্ড অনেক মেশিনে ইনস্টল করা থাকে, তাই এটি জানা আপনার জন্য উপকারী হবে।
ss কমান্ড কী?
দুই অক্ষরের এই কমান্ডের নাম বোধহয় রহস্যময় লাগতে পারে, কিন্তু আসলে এটি খুবই সহজ। অন্য অনেক লিনাক্স/ইউনিক্স কমান্ডের মতো, নামটি কমান্ডটি যা করে তার সংক্ষিপ্ত রূপ। এখানে ss বলতে Socket Statistics (সকেট পরিসংখ্যান) বোঝায়।
Socket Statistics হল পুরনো netstat টুলের প্রতিস্থাপন, যা ব্যবহার ও বোঝা সহজ করার লক্ষ্যে তৈরি করা হয়েছে। এটি শুধু সকেট সম্পর্কে তথ্য প্রদর্শন করে। এতে শুধু TCP এবং UDP সকেটই নয়, সবচেয়ে সাধারণভাবে ব্যবহৃত প্রকারগুলোর পাশাপাশি DCCP, RAW, এবং Unix ডোমেন সকেটও থাকে।
মূল ব্যবহার
ss কমান্ড ব্যবহার করার সবচেয়ে সহজ উপায় হল কোনো আর্গুমেন্ট ছাড়াই এটি চালানো। এটি অনেক ডেটা দেখাবে, তাই আপনি পঠন সুবিধার্থে এটি less এর মাধ্যমে পাইপ করতে চাইবেন।
ss | less
যথbabel অবস্থায়, এটি বিশেষভাবে উপকারী নয়। এটি ढের সara তথ্য দেখায়, কিন্তু সেটা এত বেশি যে পড়া কঠিন। সহজ করার জন্য, আপনি নির্দিষ্ট ধরনের সকেট ফিল্টার করতে পারেন।
উদাহরণস্বরূপ, আপনি শুধু TCP সকেট তালিকাভুক্ত করতে পারেন।
ss -t

অথবা, আপনি UDP সকেট তালিকাভুক্ত করতে পারেন।
ss -u
ডিফল্টভাবে, এই অপশনগুলো শুধু প্রতিষ্ঠিত সংযোগযুক্ত সকেট তালিকাভুক্ত করে। শোনা বা সংযুক্ত সব TCP সকেট তালিকাভুক্ত করতে, আপনি নিম্নলিখিত কমান্ড চালাতে পারেন:
ss -t -a
এ পর্যন্ত সব খুব সহজ মনে হচ্ছে। আরও জানুন।
ss কমান্ড দিয়ে করুন উপকারী কাজগুলো
এখন আপনি বেসিক্স জানলেন, তখন আপনার নেটওয়ার্ক পর্যবেক্ষণের জন্য ss কমান্ড ব্যবহার শুরু করার সময়। আপনি অনেক কিছু করতে পারেন, কিন্তু এখানে কিছু ধারণা দেওয়া হলো যাতে আপনি শুরু করতে পারেন।
TCP স্টেট পর্যবেক্ষণ
আপনি যদি নেটওয়ার্কিং এর সাথে পরিচিত হন, তবে আপনি ইতিমধ্যেই জানেন, TCP সংযোগের বিভিন্ন পর্যায় থাকে। এগুলো একটি সংযোগের সমগ্র জীবনকাল বর্ণনা করে। ss কমান্ড ব্যবহার করে আমরা নির্দিষ্ট ধরনের পর্যায়ে গভীরে যেতে পারি।
মানক TCP স্টেট যেমন "established" এবং "closed" এর পাশাপাশি, ss কমান্ড কিছু কাস্টম ফিল্টারও সমর্থন করে। উদাহরণস্বরূপ, "connected" স্টেট হল শুধু "listening" এবং "closed" বাদে সব TCP স্টেট। এটি ব্যবহার করতে, নিম্নলিখিত কমান্ড চালান:
ss state connected
IPv4 এবং IPv6
যদি আপনার নেটওয়ার্ক IPv6 এবং IPv4 ঠিকানার সংমিশ্রণ ব্যবহার করে, তবে আপনি ss কমান্ড দিয়ে সেগুলো ফিল্টার করতে পারেন। শুধু -4 বা -6 ফ্ল্যাগ ব্যবহার করুন। আপনি যদি সব IPv4 সংযোগ দেখতে চান, তবে TCP স্টেটের সাথে যুক্ত করুন।
ss -4 state connected

আপনি যদি সব IPv6 সকেট দেখতে চান, তবে শুধু নিম্নলিখিত কমান্ড চালান:
ss -6
এই সকেটটি কোন প্রসেস ব্যবহার করছে?
আপনি যদি জানেন যে একটি সকেট শুনছে কিন্তু কেন শুনছে সেটা না জানেন, তবে আপনি সহজেই এটি বের করতে পারেন। নিম্নলিখিত কমান্ড চালালে সব সংযুক্ত IPv4 TCP সকেটের নাম এবং প্রসেস আইডি দেখাবে।
ss -4p state connected

সারাংশ প্রদর্শন
কখনও কখনও আপনি শুধু একটি মেশিনের সকেটের সংক্ষিপ্ত রানডাউন চান। এটি চালানো সবচেয়ে সহজ কমান্ডের একটি, কারণ এতে শুধু "s" অক্ষর এবং একটি ড্যাশ থাকে:
ss -s

এটি আপনার মেশিনের সব সকেটের সারাংশ দেয় এবং দেখায় যে সেগুলো IPv4 নাকি IPv6।
আপনার নেটওয়ার্ক সম্পর্কে আরও জানতে চান?
এটি শুধু ss কমান্ড দিয়ে আপনি যা করতে পারেন তার শুরু। এটি একটি শক্তিশালী টুল এবং শিখতে ভালো। গভীরে যেতে, একটি টার্মিনাল খুলুন এবং টুলটির ম্যান পেজের ডকুমেন্টেশন দেখুন। শুধু man ss চালিয়ে শুরু করুন।
আপনি যদি আপনার মেশিন সুরক্ষিত করতে চান, ss উপকারী, কিন্তু এটি একমাত্র টুল নয়। লিনাক্সে খোলা পোর্ট যাচাই করার আমাদের গাইড দেখুন আরও জানতে।