লিনাক্সে স্নিফ সিরিয়াল পোর্ট


25

আমি কীভাবে লিনাক্সের সিরিয়াল পোর্টের মাধ্যমে যোগাযোগ করা প্যাকেটগুলি স্নিফ করতে পারি?


1
যদি কিছু উত্তর আপনার প্রশ্নের উত্তর সরবরাহ করে তবে আপনার এটি গ্রহণ করা উচিত ( meta.serverfault.com/questions/1033/… )
ওলি

উত্তর:


27

কয়েকটি অপশন আছে:

  • 2 সিরিয়াল বন্দরগুলির মধ্যে টানেল / স্নিফ করার সরসনিফ একটি সাধারণ প্রোগ্রাম।

  • সিরিয়াল টু নেটওয়ার্ক প্রক্সি (সার্ 2 নেট) কোনও ব্যবহারকারীকে নেটওয়ার্ক সংযোগ থেকে সিরিয়াল পোর্টের সাথে সংযোগ করার একটি উপায় সরবরাহ করে।

  • সিরিয়ালএসপি সিরিয়াল পাস- থ্রো ডিভাইস হিসাবে কাজ করে। এটি দুটি সিরিয়াল বন্দরগুলিতে আগত ডেটার জন্য শোনায় এবং এটিকে ফরোয়ার্ড করে যাতে ডিভাইসগুলি সরাসরি সংযুক্ত হয়ে থাকে এমনভাবে কাজ করে। এটি বন্দরগুলির মধ্য দিয়ে চলার সাথে সাথে ডেটা লগ করে।

  • সার্ডডিটি একটি আরএফসি 2217- অনুবর্তী সিরিয়াল পোর্ট পুনর্নির্দেশক। এটি আপনাকে নেটওয়ার্কের মাধ্যমে একটি সিরিয়াল পোর্ট ভাগ করতে দেয়। এটি sredird উপর ভিত্তি করে। আরএফসি 2217 প্রোটোকলটি টেলনেটের একটি এক্সটেনশন এবং যোগাযোগের পোর্ট প্যারামিটারগুলি পরিবর্তন করার অনুমতি দেয়।

  • সিরিয়াল লাইন ধরে তথ্য পরিদর্শন করার জন্য SerLooK একটি কে.ডি. অ্যাপ্লিকেশন। এটি বাইনারি টার্মিনাল হিসাবে কাজ করতে পারে যা একটি সংজ্ঞায়িত পোর্ট (পয়েন্ট টু পয়েন্ট মোড) এর মাধ্যমে ডেটা প্রেরণ এবং গ্রহণ করে এবং তাদের পৃথক দর্শনে প্রদর্শন করে। প্রতিটি ভিউ হেক্সাডেসিমাল, দশমিক, অক্টাল, বাইনারি এবং কাঁচা ASCII তে ডেটা প্রদর্শনের জন্য কনফিগার করা যেতে পারে। টার্মিনাল এমুলেশন ভিউয়ের মাধ্যমে I / O সম্পাদন করা এবং একটি গৌণ বন্দরটি সংজ্ঞায়িত করা এবং "Y" কেবল (স্নোপার মোড) ব্যবহার করে দুটি বাহ্যিক হোস্টের মধ্যে ট্র্যাফিক নিরীক্ষণ করাও সম্ভব।

  • নালমোডেম সিউডো-টার্মিনালের একটি ভার্চুয়াল নেটওয়ার্ক তৈরি করে। এটি সাধারণত দুটি সিরিয়াল ইন্টারফেস কার্ডের প্রয়োজন হয় এমন দুটি প্রোগ্রাম সংযোগ করতে অ্যাডাপ্টার হিসাবে ব্যবহার করা যেতে পারে।

  • ttywatch মনিটর, লগ এবং মাল্টিপ্লেক্স টার্মিনাল I / O এটিতে সম্পূর্ণ লগ রোটেশন অন্তর্নির্মিত রয়েছে এবং এটি টেলনেট পাশাপাশি স্থানীয় টিটিওয়াই বন্দর ব্যবহার করতে পারে।

  • সিরিয়াল লাইন স্নিফার (slsnif) একটি সিরিয়াল পোর্ট লগিং ইউটিলিটি। এটি নির্দিষ্ট সিরিয়াল বন্দর শোনায় এবং উভয় দিক দিয়ে এই বন্দর দিয়ে যাওয়া সমস্ত ডেটা লগ করে।


2
আপনি স্ট্যান্ডার্ড সরঞ্জামগুলি ব্যবহার করে 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। দুটি টি কমান্ডগুলি কনসোলের উভয় দিক ডাম্প করে এবং আসল সিরিয়াল পোর্ট থেকে / এগিয়ে চলেবে। নোট করুন যে বাউড্রেটের মতো পোর্ট সেটিংস অবশ্যই সময়ের আগে কনফিগার করা উচিত।
jtpereyda

তুমিও একটি ফাইলে টী বর্ণের নাম কাপড় সংরক্ষণ করতে পারেন: cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-capsএবং xxdযদি এটি একটি বাইনারি প্রোটোকল সহায়তা করবে: cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps | xxd
jtpereyda

@ jtpereyda দেখে মনে হচ্ছে আপনার ২ য় ধাপটি / dev / ttyS0 এর সাথে সংযুক্ত প্রোগ্রাম হওয়া উচিত। উদাহরণস্বরূপ যখন আমি PUTTY কে সেখানে / dev / ttyS0 এর সাথে সংযুক্ত করি তখন এটি সঠিকভাবে আমাকে সেই আউটপুটটি দ্বিতীয় ধাপে দেখায় এবং আসল এম্বেডড বোর্ডের সাথে যোগাযোগ করার সময়ও। বিটিডাব্লু আপনার টাইপো /deb/pts/27হওয়া উচিত /dev/pts/27। এছাড়াও cat /deb/pts/27 | tee /dev/ttyS0হওয়া উচিতcat /dev/pts/27 | sudo tee /dev/ttyS0
উত্সাহী লোক

এই উত্তরটি খুব পুরানো, অনুগ্রহ করে সিরিয়াল পোর্ট স্নিফিংয়ের জন্য বিরতি বিবেচনা করুন
চার্লসবি

1
আপনি এটি অন্য উত্তর হিসাবে দিতে পারে। @ চারলেসবি কেন এটি আরও ভাল তা ব্যাখ্যা করে খুব ভাল লাগবে।
মেয়ে

12

আমি ইন্টারসেপ্টি চেষ্টা করেছি ( গিটহাবের অনুলিপি ), এবং এটি ব্যবহারে সফল হয়েছিল। প্রথমে আমি এটি আগ্রহের বন্দরে চালিয়েছি:

interceptty /dev/ttyACM0 

তারপরে আমি প্রোগ্রামটি আন্ডার-টেস্টটিকে সিউডো-টার্মিনালের সাথে সংযুক্ত করেছি /dev/pts/5যা ইন্টারসেপটি তৈরি করেছে।


আমি slsnif ব্যবহার করার চেষ্টা করেছি , কিন্তু আমি দেখতে পেয়েছি যে আমি একটি ত্রুটি পেয়েছি:

Failed to open a pty: No such file or directory

এই মেইলিং তালিকা আইটেমটি নির্দেশ করে যে slsnif কেবলমাত্র "লিগ্যাসি" সিউডো-টার্মিনালগুলি ( /dev/ttyp0ইত্যাদি) সমর্থন করে যা সম্ভবত বর্তমান লিনাক্স কার্নেলগুলিতে ব্যবহৃত হয় না।


1
ধন্যবাদ! আমার এম্বেড করা ডিভাইসে এখানে একই ত্রুটি। তারপরে আমি ব্যবহার করেছি intercepttyএবং কাজ করেছি!
gfleck

আপনি কীভাবে জানবেন যে এটি কোন সিউডো-টার্মিনাল তৈরি করে?
চবি

@ চ্যুই আপনি এটির দ্বিতীয় প্যারামিটার দিতে পারেন, এটি একটি "ফ্রন্ট-ডিভাইস" এর একটি নাম যা এটি তৈরি সিউডো-টার্মিনালের একটি সিমিলিংক।
ক্রেগ ম্যাককুইন

ধন্যবাদ. আমি আবিষ্কার করেছি যে ডিফল্টরূপে এটি একটি / ডেভ / ইন্টারসেপ্টটিডমি তৈরি করে। আমি ট্র্যাফিকটি পিছনে পিছনে দেখতে সক্ষম হয়েছি, তবে ডিভাইস থেকে আগত ডেটা কেবল ইন্টারসেপ্টি দ্বারা পড়েছিল, আমার সফটওয়্যারটি পাইস্রিয়াল চলছিল না।
চবি

3

Jpnevulator (ডেবিয়ান প্যাকেজড) বা slsniff ব্যবহার করার চেষ্টা করুন । মনে রাখবেন যে এসএলএসনিফ একটি অবহেলিত টার্মিনাল এমুলেশন মডেল ব্যবহার করে।

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