আমি কীভাবে লিনাক্সের সিরিয়াল পোর্টের মাধ্যমে যোগাযোগ করা প্যাকেটগুলি স্নিফ করতে পারি?
আমি কীভাবে লিনাক্সের সিরিয়াল পোর্টের মাধ্যমে যোগাযোগ করা প্যাকেটগুলি স্নিফ করতে পারি?
উত্তর:
কয়েকটি অপশন আছে:
2 সিরিয়াল বন্দরগুলির মধ্যে টানেল / স্নিফ করার সরসনিফ একটি সাধারণ প্রোগ্রাম।
সিরিয়াল টু নেটওয়ার্ক প্রক্সি (সার্ 2 নেট) কোনও ব্যবহারকারীকে নেটওয়ার্ক সংযোগ থেকে সিরিয়াল পোর্টের সাথে সংযোগ করার একটি উপায় সরবরাহ করে।
সিরিয়ালএসপি সিরিয়াল পাস- থ্রো ডিভাইস হিসাবে কাজ করে। এটি দুটি সিরিয়াল বন্দরগুলিতে আগত ডেটার জন্য শোনায় এবং এটিকে ফরোয়ার্ড করে যাতে ডিভাইসগুলি সরাসরি সংযুক্ত হয়ে থাকে এমনভাবে কাজ করে। এটি বন্দরগুলির মধ্য দিয়ে চলার সাথে সাথে ডেটা লগ করে।
সার্ডডিটি একটি আরএফসি 2217- অনুবর্তী সিরিয়াল পোর্ট পুনর্নির্দেশক। এটি আপনাকে নেটওয়ার্কের মাধ্যমে একটি সিরিয়াল পোর্ট ভাগ করতে দেয়। এটি sredird উপর ভিত্তি করে। আরএফসি 2217 প্রোটোকলটি টেলনেটের একটি এক্সটেনশন এবং যোগাযোগের পোর্ট প্যারামিটারগুলি পরিবর্তন করার অনুমতি দেয়।
সিরিয়াল লাইন ধরে তথ্য পরিদর্শন করার জন্য SerLooK একটি কে.ডি. অ্যাপ্লিকেশন। এটি বাইনারি টার্মিনাল হিসাবে কাজ করতে পারে যা একটি সংজ্ঞায়িত পোর্ট (পয়েন্ট টু পয়েন্ট মোড) এর মাধ্যমে ডেটা প্রেরণ এবং গ্রহণ করে এবং তাদের পৃথক দর্শনে প্রদর্শন করে। প্রতিটি ভিউ হেক্সাডেসিমাল, দশমিক, অক্টাল, বাইনারি এবং কাঁচা ASCII তে ডেটা প্রদর্শনের জন্য কনফিগার করা যেতে পারে। টার্মিনাল এমুলেশন ভিউয়ের মাধ্যমে I / O সম্পাদন করা এবং একটি গৌণ বন্দরটি সংজ্ঞায়িত করা এবং "Y" কেবল (স্নোপার মোড) ব্যবহার করে দুটি বাহ্যিক হোস্টের মধ্যে ট্র্যাফিক নিরীক্ষণ করাও সম্ভব।
নালমোডেম সিউডো-টার্মিনালের একটি ভার্চুয়াল নেটওয়ার্ক তৈরি করে। এটি সাধারণত দুটি সিরিয়াল ইন্টারফেস কার্ডের প্রয়োজন হয় এমন দুটি প্রোগ্রাম সংযোগ করতে অ্যাডাপ্টার হিসাবে ব্যবহার করা যেতে পারে।
ttywatch মনিটর, লগ এবং মাল্টিপ্লেক্স টার্মিনাল I / O এটিতে সম্পূর্ণ লগ রোটেশন অন্তর্নির্মিত রয়েছে এবং এটি টেলনেট পাশাপাশি স্থানীয় টিটিওয়াই বন্দর ব্যবহার করতে পারে।
সিরিয়াল লাইন স্নিফার (slsnif) একটি সিরিয়াল পোর্ট লগিং ইউটিলিটি। এটি নির্দিষ্ট সিরিয়াল বন্দর শোনায় এবং উভয় দিক দিয়ে এই বন্দর দিয়ে যাওয়া সমস্ত ডেটা লগ করে।
socat
এবং এটি অর্জন করতে পারেন tee
। 1) socat -d -d pty,raw,echo=0 pty,raw,echo=0
। আউটপুট আপনাকে দুটি বন্দর দেবে ...N PTY is /dev/pts/27... N PTY is /dev/pts/28
। 2) sudo cat /dev/ttyS0 | tee /dev/pts/27
এবং অন্য টার্মিনালে sudo cat /deb/pts/27 | tee /dev/ttyS0
। অবশেষে 3) আপনার প্রোগ্রামটি এর সাথে সংযুক্ত করুন /dev/tty/28
। দুটি টি কমান্ডগুলি কনসোলের উভয় দিক ডাম্প করে এবং আসল সিরিয়াল পোর্ট থেকে / এগিয়ে চলেবে। নোট করুন যে বাউড্রেটের মতো পোর্ট সেটিংস অবশ্যই সময়ের আগে কনফিগার করা উচিত।
cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps
এবং xxd
যদি এটি একটি বাইনারি প্রোটোকল সহায়তা করবে: cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps | xxd
।
/deb/pts/27
হওয়া উচিত /dev/pts/27
। এছাড়াও cat /deb/pts/27 | tee /dev/ttyS0
হওয়া উচিতcat /dev/pts/27 | sudo tee /dev/ttyS0
আমি ইন্টারসেপ্টি চেষ্টা করেছি ( গিটহাবের অনুলিপি ), এবং এটি ব্যবহারে সফল হয়েছিল। প্রথমে আমি এটি আগ্রহের বন্দরে চালিয়েছি:
interceptty /dev/ttyACM0
তারপরে আমি প্রোগ্রামটি আন্ডার-টেস্টটিকে সিউডো-টার্মিনালের সাথে সংযুক্ত করেছি /dev/pts/5
যা ইন্টারসেপটি তৈরি করেছে।
আমি slsnif ব্যবহার করার চেষ্টা করেছি , কিন্তু আমি দেখতে পেয়েছি যে আমি একটি ত্রুটি পেয়েছি:
Failed to open a pty: No such file or directory
এই মেইলিং তালিকা আইটেমটি নির্দেশ করে যে slsnif কেবলমাত্র "লিগ্যাসি" সিউডো-টার্মিনালগুলি ( /dev/ttyp0
ইত্যাদি) সমর্থন করে যা সম্ভবত বর্তমান লিনাক্স কার্নেলগুলিতে ব্যবহৃত হয় না।
interceptty
এবং কাজ করেছি!
Jpnevulator (ডেবিয়ান প্যাকেজড) বা slsniff ব্যবহার করার চেষ্টা করুন । মনে রাখবেন যে এসএলএসনিফ একটি অবহেলিত টার্মিনাল এমুলেশন মডেল ব্যবহার করে।