আপনি যা সন্ধান করছেন এটি একটি সরঞ্জাম যা দেখায় যে কোনও প্রোগ্রাম সিস্টেমের সাথে কীভাবে ইন্টারঅ্যাক্ট করে (আরও নির্দিষ্টভাবে, কার্নেলের সাথে)। প্রোগ্রামগুলি সিস্টেমে ব্যবহার করে সিস্টেমের সাথে যোগাযোগ করে। সিস্কলগুলির উদাহরণগুলি হ'ল:
open - একটি ফাইল খোলার জন্য ব্যবহৃত;
readএবং write- একটি ফাইল বর্ণনাকারী / থেকে / পড়তে লিখতে ব্যবহৃত;
connect - একটি পিয়ারের সাথে একটি সকেট সংযোগ করতে ব্যবহৃত;
- অনেক, অনেক অন্যান্য (দেখুন
man syscalls)।
কথাটি হ'ল: সিস্কলগুলি ব্যবহার করে সনাক্ত করা যায় ptrace(2)। সুতরাং, মূলত, আপনি চারপাশে নির্মিত সরঞ্জামগুলি সন্ধান করছেন ptrace। এই জাতীয় সরঞ্জামগুলির মধ্যে strace(1)একটি হ'ল এটি একটি টার্মিনাল অ্যাপ্লিকেশন যা একটি আদেশকে আর্গুমেন্ট হিসাবে গ্রহণ করে এবং ফলাফলগুলি:
- সিস্টেম কল করে প্রোগ্রাম কল করছে;
- সিস্কেল তৈরি করতে ব্যবহৃত যুক্তি;
- সিস্টেল ফলাফল।
আউটপুটটি সি-ফ্যাশনে রয়েছে। এখানে একটি উদাহরণ:
$ strace cat test
execve("/bin/cat", ["cat", "test"], [/* 55 vars */]) = 0
/* ... */
open("test", O_RDONLY) = 3
/* ... */
read(3, "hello\n", 32768) = 6
write(1, "hello\n", 6) = 6
read(3, "", 32768) = 0
/* ... */
সেখানে আপনি দেখতে পাচ্ছেন যে cat testনামের একটি ফাইল খোলা হচ্ছে test, এর বিষয়বস্তুটি পড়া ( hello) এবং এটি স্ট্যান্ডার্ড আউটপুটে রাখছে।
straceঅনেক আউটপুট উত্পাদন করতে পারে, সুতরাং এটির ম্যান পৃষ্ঠা ( man strace) পড়তে ভুলবেন না , বিশেষত -eআউটপুটটির ডকুমেন্টেশন যা আপনাকে আগ্রহী কেবল সিস্কেলগুলি দেখতে দেয়।
দুর্ভাগ্যক্রমে, আমি গ্রাফিকাল বা সহজে ব্যবহারের বিকল্প সম্পর্কে সচেতন নই। আপনি যদি তাদের সন্ধান করতে চান ptraceতবে আপনার অনুসন্ধানের একটি কীওয়ার্ড হওয়া উচিত।
বিচ্ছিন্নতা সম্পর্কে, সেখানে অনেক প্রযুক্তি রয়েছে। ক্রুটস, লিনাক্স পাত্রে (যা বর্তমানে বিকাশাধীন এবং অসম্পূর্ণ রয়েছে), সফ্টওয়্যার ভার্চুয়ালাইজেশন এবং প্যারাভিউচুয়ালাইজেশন সবচেয়ে বেশি ব্যবহৃত হয়। তবে এটি আলোচনার পক্ষে খুব বড় একটি বিষয়। আপনি আরও বিশদ জানতে চাইলে আমি একটি নতুন প্রশ্ন খোলার পরামর্শ দেব।
sandbox somebinaryএবং কাল্পনিকsandboxপ্রোগ্রামটি সমস্ত ফাইলকেsomebinaryপড়া বা লিখিতভাবে লগ করতে পারে আইপি / পোর্টগুলির সাথে সংযুক্ত, ডেটা স্থানান্তর ইত্যাদি আপনার কাছে দরকারী বিষয় হবে এটিও আমি জানতে চাই যে এর মতো কিছু উপস্থিত রয়েছে কিনা (এবং বাস্তবে কোনও ভিএম-তে চলমান কোনও প্রোগ্রাম পর্যবেক্ষণ করে এমন সরঞ্জাম ছাড়া আপনার মত অর্থহীন হবে) এটি সেখানে যা করে তা বলতে পারে না)। ভাল প্রশ্ন.