কীভাবে ইউনিক্স ডোমেন সকেট সরিয়ে সকেট ট্র্যাফিক নিরীক্ষণ করতে সক্ষম করে?


12

socat ইউনিক্স ডোমেন সকেট জুড়ে ট্র্যাফিক নিরীক্ষণ করতে ব্যবহার করা যেতে পারে:

sudo mv /path/to/sock /path/to/sock.original
sudo socat -t100 -x -v UNIX-LISTEN:/path/to/sock,mode=777,reuseaddr,fork UNIX-CONNECT:/path/to/sock.original

এই প্রক্রিয়াটি কীভাবে কাজ করে তা আমি পুরোপুরি বুঝতে পারি না, কেউ আশা করে যে এটি কিছুটা ব্যাখ্যা করবে। বিশেষত, যদি কোনও প্রক্রিয়া ইতিমধ্যে এটি শুনছে তবে সকেট ফাইলটি সরানো কীভাবে কাজ করবে? এছাড়াও, পদক্ষেপ পরে: তন্ন তন্ন lsof /path/to/sockনা /path/to/sock.originalকোনো ফলাফল ফিরে যান।

উত্তর:


11

আপনি যে সার্ভারটি নিরীক্ষণ করতে চান বর্তমানে তা শোনার সময় সেই কমান্ডগুলি চালিত করতে হবে /path/to/sock। তারপরে, আপনি যদি নাম পরিবর্তন করেন /path/to/sock, সার্ভারটি প্রভাবিত হবে না।

socatকমান্ড একটি ম্যান-ইন--মধ্য সন্নিবিষ্ট করে। এটি /path/to/socksক্লায়েন্টদের দ্বারা সমস্ত ট্র্যাফিক শোনায় এবং ফরোয়ার্ড করে /path/to/socks.original(এবং এটির সাথে প্রক্রিয়ায় এটি লগ করে -v)।

এটি কেবল স্ট্রিম ধরণের সকেটগুলির জন্য কাজ করে ( ডেটাগ্রাম সকেটের জন্য UNIX-RECVFROM/ UNIX-RECVব্যবহার করুন ) এবং কেবলমাত্র যদি ক্লায়েন্টরা কেবল সেই সকেটে থাকে তবে আনুষঙ্গিক ডেটা এবং অন্যান্য অভিনব জিনিসগুলির সাথে নয়।read/write/send/recvsendmsg()

lsofকেবল শ্রবণ প্রক্রিয়াগুলি ( socatএবং শ্রবণ ও গ্রহণযোগ্য সকেটের জন্য সার্ভার) প্রতিবেদন করবে। সাধারণত ক্লায়েন্টের সাথে সংযুক্ত সকেটকে সকেটের পথের সাথে সংযুক্ত করা সম্ভব নয় ।

আপনি যে কি তাহলে আগে সার্ভার শুরু, তারপর যে সার্ভার না করবে না কাজ করার চেষ্টা করবে শুনতে উপর /path/to/socksএবং ব্যর্থ হিসাবে socatইতিমধ্যে যে শুনছে। অথবা /path/to/sock.originalপরিবর্তে আপনার শুনতে সার্ভারটি বলতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.