কীভাবে আমার ওয়েবক্যাম ব্যবহার করা হয় বা কীভাবে জানব?


14

আমার ওয়েবক্যামটি ব্যবহৃত হয়েছে কিনা তা কোন আদেশ আমাকে জানতে দেয়?

lsof /dev/video0যথেষ্ট নয়. ৮১ ও ০ নম্বর সহ বড় এবং ছোটখাট নম্বরযুক্ত সমস্ত ব্লক ডিভাইসগুলি পর্যবেক্ষণ করা উচিত।


2
+1 টি। টিআইএল lsof(এবং fuser) ডিফল্টরূপে আপনার যা প্রয়োজন তা করে না।
সেলেদা

@ এস্লাদা আপনি দয়া করে ব্যাখ্যা করতে পারেন?
ইয়ংফ্রোগ

আপনার উদ্বেগ কি? এটি কী ভিডিও আপনাকে দেখছে, না আপনি অডিও সম্পর্কেও চিন্তিত রয়েছেন (যে ক্ষেত্রে লেন্সটি coveringেকে দেওয়া আপনার সমস্যার সমাধান করবে না)? না এটি ডিবাগিং বা কৌতূহল সম্পর্কে? #
ক্রিস এইচ

@ ইউংফ্রোগ আমি এই প্রশ্নের ওপিকে কেবল প্রশংসা করছিলাম কারণ এটি আমাকে কিছু শিখিয়েছে। আমি প্রাথমিকভাবে ধরে lsof /dev/video0নিয়েছি যে কার্নেল ভিএফএস অবজেক্টের সাথে সংযুক্ত একটি ওপেন ফাইল ডেস্ক্রিপ্টর ধারণ করে এমন সমস্ত প্রক্রিয়া চাইবে /dev/video0যেগুলি ফাইল সিস্টেমের পথটি খোলার জন্য ব্যবহৃত হয়নি, তবে ওপি-র প্রশ্নটি পরিষ্কার করে দেয় যে এটি সত্য নয়।
সেলেদা

উত্তর:


15

যদি আপনার কার্নেলটি মডিউলগুলি ব্যবহার করে (যা খুব সম্ভবত) তবে কোনও প্রোগ্রাম আপনার ওয়েবক্যামে অ্যাক্সেস করছে কিনা তা নির্ধারণের একটি উপায় হল মডিউলটির ব্যবহার গণনাটি দেখুন:

$ lsmod | grep uvcvideo
uvcvideo               90112  0

তৃতীয় ক্ষেত্রের 0 টি দেখায় যে কোনও- uvcvideoনিয়ন্ত্রিত ওয়েবক্যামের জন্য কোনও ডিভাইস খোলা নেই (যখন দৌড়ানো হয়েছিল lsmod)। অবশ্যই আপনার ওয়েবক্যামের জন্য কোন মডিউল দায়ী তা জানতে হবে; যদিও এটি চেক করা সহজ, আপনি পনির মতো প্রোগ্রাম চালানোর সময় আউটপুট পরিবর্তন দেখতে পাবেন।

নোট করুন, কঠোরভাবে বলতে গেলে, ধনাত্মক গণনার অর্থ হ'ল কোনও ডিভাইস খোলা হয়েছে, এর অর্থ এই নয় যে চিত্রগুলি ক্যাপচার করা হচ্ছে।


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

@ মাইকেলKjörling এ কারণেই আমি "কখন lsmodদৌড়ে" উল্লেখ করেছি । আপনি যে দৃশ্যের মুখোমুখি হয়েছেন তাতে এটি প্রসারণের প্রাপ্য নয় (যদিও আমার অভিজ্ঞতায়, ক্যামেরাগুলির বিলম্বগুলি যথেষ্ট বেশি যে ডিভাইসটি খোলার ক্ষেত্রে, একটি চিত্র ক্যাপচার করতে এবং ডিভাইসটি বন্ধ করতে বেশ কিছুটা সময় লাগে)। ব্যবহার করে ডিভাইস ব্যবহারের দিকে তাকানো fuserবা lsofএকই সমস্যা থেকে ভুগছেন; আরও শক্তিশালী পদ্ধতির জন্য ট্রেসপয়েন্টস বা অনুরূপ কিছু ব্যবহার করে ভি 4 এল এপিআইগুলিকে হুক করা দরকার।
স্টিফেন কিট

@ মাইকেলKjörling আসলে। এই ব্যবহারের প্যাটার্নটি ক্যাপচার করতে, আপনাকে কেবল একবারে ঠিক সময়ে পরীক্ষা না করে ডিভাইস ফাইলগুলিতে অ্যাক্সেসগুলি পর্যবেক্ষণ করতে হবে।
গিলস 13'11

7

ধরে নিই যে আপনি যা চান তা হ'ল এটি নিশ্চিত করা যে আপনি যখন না চান তখন আপনার ওয়েবক্যামটি ব্যবহার হচ্ছে না , সহজ সমাধান হ'ল প্রয়োজন না হলে কেবল এটি সংযোগ বিচ্ছিন্ন করা (বাহ্যিক হলে)। অথবা ওয়েবক্যামটি coveringেকে রাখা (কেবলমাত্র নালী টেপের টুকরোটি কাজ করবে)।

শারীরিক ভিত্তিক পদ্ধতিগুলি সফ্টওয়্যারগুলির চেয়ে অনেক বেশি সুরক্ষিত।


1
টেপ মাইক্রোফোনটিকে অবরুদ্ধ করে না, যা সাউন্ড মডিউলটির পরিবর্তে ক্যামেরার অংশ হিসাবে (এমনকি বিল্টিন ওয়েবক্যামেও) কাঠামোযুক্ত হতে পারে।
ক্রিস এইচ

নালী টেপের বিরুদ্ধে আমি দৃ strongly়ভাবে পরামর্শ দেব কারণ এটি সহজেই একটি অবশিষ্টাংশ ছেড়ে যেতে পারে। আমি অস্ত্রোপচার টেপ ব্যবহার করেছি (ওষুধের দোকানগুলি থেকে পাওয়া যায়) কারণ এটি অপসারণের সময় খুব সামান্য অবশিষ্টাংশ ছেড়ে যায়, লেন্সটি coveringাকানো একটি ছোট স্টিকার সহ স্টিকি পাশের সাথে থাকে। এইভাবে লেন্সগুলিতে আঠালো অবশিষ্টাংশের ঝুঁকি নেই। এটি স্বীকৃতভাবেই, একটি সমাধান যা স্থায়ী পক্ষের দিকে সামান্য থাকে; আপনি নামাতে এবং সারাক্ষণ টেপ ফিরে রাখতে চান না।
একটি সিভিএন

@ ক্রিসহ যে কোনও অর্থ দেয় না (হাস্যকরভাবে, আপনার শীর্ষ এসই ইংরেজি ...) আপনার অর্থ কী?
theonlygusti

@ থিওনলিগুস্টি মানে আমি মডিউলটিকে একটি হার্ডওয়ারের টুকরো হিসাবে দেখি; অবশ্যই এই থ্রেডে অর্থ সফটওয়্যার হিসাবে এটি পড়া আরও যুক্তিযুক্ত হবে, যা বেশি অর্থবোধ করে না। টেপ মাইক্রোফোনটিকে অবরুদ্ধ করে না। একটি মাইক্রোফোন সাউন্ড কার্ডের মাধ্যমে সংযুক্ত যে কোনও কিছুর পরিবর্তে বা সংযোজন ছাড়াও ওয়েবক্যাম হার্ডওয়্যারের অংশ হতে পারে (একটি শব্দটি যা এসওসি হার্ডওয়ারের কারণে আমি এড়াচ্ছিলাম)। সুতরাং ওয়েবক্যামটি সক্রিয় / সক্রিয় / গুপ্তচরবৃত্তি কিনা তা নির্ধারণ করার জন্য আপনি কেবল লেন্সের চেয়ে বেশি সম্পর্কে উদ্বিগ্ন হতে পারেন। তবে আমার এখানে কেবলমাত্র লিনাক্স সিস্টেমটি একটি ক্রোমবুক (ক্রাউটোন) তাই কিছুটা সীমিত।
ক্রিস এইচ

1
অবশ্যই, তবে সে প্রশ্নটি ছিল না
গিলস

7

যে কোনও বুদ্ধিমান সিস্টেমে আপনি নিজের নিজের সাথে ক্রুট সেট আপ না করে /devসমস্ত ডিভাইস ফাইলের অধীনে রয়েছে /dev। কেবল রুটই ডিভাইস ফাইল তৈরি করতে পারে, সুতরাং দূষিত ব্যবহারকারীদের অন্য কোথাও ডিভাইস ফাইল তৈরি করার বিষয়ে আপনার চিন্তা করার দরকার নেই।

সুতরাং আপনাকে যা করতে হবে তা হ'ল সেই ফাইলগুলির অধীনে /devএকই ডিভাইসটিকে আপনার আগ্রহী হিসাবে উল্লেখ করা উচিত।

ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'

এটি সম্ভবত এটি প্রদর্শিত হবে সম্ভবত /dev/video0। সাধারণত, প্রতিটি ডিভাইসের জন্য একটি একক ডিভাইস ফাইল রয়েছে এবং এটিতে সম্ভবত অতিরিক্ত প্রতীকী লিঙ্ক রয়েছে।

সুতরাং আপনার প্রশ্নের ব্যবহারিক উত্তর হ'ল সহজ। ডিভাইস ফাইলটি কী প্রসেসে খোলা রয়েছে তা কেবল পরীক্ষা করে দেখুন।

fuser /dev/video0

আপনি যদি অ্যাক্সেসগুলি নিরীক্ষণ করতে চান (যেমন যেকোন সময় ডিভাইস ফাইল খুলতে পারে এমন প্রক্রিয়াগুলি ধরুন), ডিভাইস ফাইলগুলিতে লিনাক্সের একটি ফাইল অ্যাক্সেস মনিটরিং পদ্ধতি ব্যবহার করুন: একটি ঘড়ি সেটআপ করুন (এবং কী কী প্রক্রিয়াতে ইতিমধ্যে ডিভাইস রয়েছে তা পরীক্ষা করুন ফাইল (গুলি) খোলা

inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

বা একটি অডিট নিয়ম সেট আপ করুন যা সিস্টেম লগগুলিতে অ্যাক্সেসগুলিতে লগ করে (সাধারণত /var/log/audit/audit.log)

auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

ভাল যুক্তি! তবে, এটি এখনও অ্যাঞ্জেল এর সমাধানের পয়েন্ট-ইন-টাইম সমস্যায় ভুগছে (সেখানে সিএফ মন্তব্য)। সর্বাধিক শক্তিশালী সফ্টওয়্যার সমাধান সম্ভবত সেই ডিভাইসটিকে কালো তালিকাভুক্ত করা udevযাতে এটি বুট আপ করার সময় কোনও ডিভাইস ফাইল পায় না; এবং তারপরে কোনও ডিভাইস ফাইল যুক্ত করুন যখন আপনি এবং যখন ক্যামেরাটি ব্যবহার করার পরিকল্পনা করছেন ... বা শারীরিকভাবে এটি প্লাগ করুন।
jpaugh

@jpaugh প্রশ্নটি ওয়েবক্যামটি ব্যবহার করে প্রক্রিয়াগুলি আবিষ্কার করেছিল, ওয়েবক্যামটি অক্ষম করে না।
গিলস 13'10

এটি কার্নেল স্তরে পর্যবেক্ষণ করা উচিত। একটি ডিভাইস যে কোনও জায়গায় যুক্ত করা যেতে পারে: যেমনmknod /root/video0 b 81 0
ব্যবহারকারী 123456

@ j658063.mvrht.com তবে কেবল রুট এটি করতে পারে। রুট যদি বোকা কাজ না করে তবে আপনি নিরাপদ। রুট যদি মূ .় জিনিসগুলি করে তবে আপনি যেভাবেই ছাঁটাচ্ছেন - রুট কিছু প্রক্রিয়া লুকিয়ে রাখার জন্য কার্নেলটিও পরিবর্তন করতে পারে।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.