আইপিটাবলের সাহায্যে কোনও ইউডিপি ইউনিকাস্ট স্ট্রিমটির নকল করা কি সম্ভব?


8

আমার একটি মালিকানাধীন সিস্টেম রয়েছে যা ইউডিপি ভিডিও স্ট্রিমটি ইউনিট # 1 (192.168.1.1) থেকে ইউনিট # 2 (.1.2) এ সংক্রমণ করে। আমি এই সিস্টেমে পরিবর্তন করতে পারি না, এবং আমি এই ইউডিপি স্ট্রিমটি ক্লোন করার চেষ্টা করছি যাতে আমি এটি অন্য একটি প্রোগ্রামে অ্যাক্সেস করতে পারি। এই প্রোগ্রামটি ভিডিওটির সাথে স্টাফ করবে এবং এটি মাল্টিকাস্ট স্ট্রিম হিসাবে আবার পাঠিয়ে দেবে।

আমি লিনাক্স মেশিনটি (এখন উবুন্টু সার্ভার 12.04 চলছে) তিনটি নেটওয়ার্ক কার্ড ব্যবহার করে এটি করার আশা করছি। লিনাক্স মেশিনে নেটওয়ার্ক কার্ডের # 1 এবং # 2 থেকে দুটি কার্ড (ইথ 0 এবং এথ 1) সংযুক্ত করে এবং সেতু ব্যবহার করে, আমি তাদের সাথে যোগাযোগ করি। আমার / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসগুলি দেখে মনে হচ্ছে:

# The loopback network interface
auto lo
iface lo inet loopback

# The external interface
auto eth3
iface eth3 inet static
address 192.168.10.2
netmask 255.255.255.0

# The bridge interface
auto br0
iface br0 inet manual
  bridge_ports eth0 eth1

এটি কাজ করে, এবং tcpdump ব্যবহার করে আমি নিশ্চিত করেছি যে udp প্যাকেটগুলি # 1 থেকে আসছে এবং 6000 বন্দরে # 2 এর দিকে যাচ্ছে heading

আমি আশা করি পরবর্তী পদক্ষেপটি আইপিটিবেলগুলি সমস্ত ইউডিপি প্যাকেটগুলি ক্লোন করতে 192.168.1.1 থেকে # 2 এ 6000 বন্দর যেতে হবে। আমি iptables এর সাথে খুব বেশি পরিচিত নই, তবে লাইনে এবং ম্যানুয়ালটিতে পড়ার পরে আমি ভেবেছিলাম এটি কার্যকর হবে:

iptables -A PREROUTING -t mangle -p udp -s 192.168.1.1/32 --dport 6000 -j TEE --gateway 192.168.10.2

নিয়মটি সফলভাবে প্রয়োগ করা হয়েছে, তবে এটি কার্যকর হয় না। আমি যদি eth3 পর্যবেক্ষণ করতে tcpdump ব্যবহার করি তবে আমি প্যাকেটগুলি দেখতে পাচ্ছি না।

আমি এই স্ট্রিমটি দখল করতে, এটিতে কাজ করতে এবং এটি .10.2 ইন্টারফেসে একটি মাল্টিকাস্ট হিসাবে পাঠাতে চাই।

আমি কি ভুল করছি? এমন কিছু আছে যা আমি ভুল বুঝেছি?

উত্তর:


4

192.168.10.2 মেশিন নিজেই প্যাকেটগুলি কখনও এথ 3 এ পৌঁছায় না। এছাড়াও সদৃশ প্যাকেটগুলির গন্তব্য আইপি-ঠিকানা 192.168.1.2 রয়েছে। আপনাকে তাদের 192.168.10.0/24 উদাহরণস্বরূপ 192.168.10.254 এ একটি মেশিনে টি করা দরকার যাতে ডুপ্লিকেটগুলি আসলে এথ 3 এর উপর দিয়ে যায়।

iptables -t mangle -A PREROUTING -p udp --dport 6000 -j TEE --gateway 192.168.10.254

তারপরে আপনাকে সেগুলি 192.168.10.254 এ DNAT করতে হবে, যাতে আপনি 192.168.10.254 এ স্ট্রিমটি পড়তে পারেন এবং এটি মাল্টিকাস্টিংয়ের মাধ্যমে পাঠাতে পারেন।

হয় নিজেই 192.168.10.254 এ:

iptables -t nat -A PREROUTING -p udp -d 192.168.1.2 --dport 6000 -j DNAT --to-destination 192.168.10.254:6000

বা এখনও প্যাকেটগুলি E3 ছাড়ার আগে 192.168.10.2 এ চলেছে:

iptables -t nat -A POSTROUTING -o eth3 -p udp -d 192.168.1.2 --dport 6000 -j DNAT --to-destination 192.168.10.254:6000

যদি আমি এটি সঠিকভাবে বুঝতে পারি তবে আপনি যা ব্যাখ্যা করেছেন তা প্যাকেটগুলি অন্য কোনও মেশিনে প্রেরণ করবে (.10.254)। আমি এই অতিরিক্ত মেশিনটি এড়াতে চাই এবং কেবল একটি মেশিনে অভ্যন্তরীণভাবে এটি করতে চাই। আমি যদি 127.0.0.1 এ প্রবেশদ্বারটি সেট করি, তবে সে কাজ করবে =?
হ্যাকন কে। ওলাফসেন

গেটওয়েটি পরের ধাপের গন্তব্যটি এখনও 192.168.1.2 অবধি রয়ে গেছে এবং আপনি মেশিনে নকল প্যাকেটগুলি "টিজিং" করতে পারবেন না। সুতরাং 127.0.0.1 কাজ করবে না।
lsmooth

সুতরাং আমি কেবল একটি মেশিন ব্যবহার করার চেষ্টা করছি তা করতে পারছি না।
হ্যাকন কে। ওলাফসেন

0

আমার অনুরূপ সমস্যা হয়েছিল এবং এটি একটি সামান্য প্রোগ্রামের সাথে সমাধান করেছি যা ইউডিপি প্যাকেটের সামগ্রীগুলি পড়তে লাইবপ্যাক্যাপ ব্যবহার করে। এটি এই প্যাকেটগুলির অনুলিপিগুলি অন্য গন্তব্যে প্রেরণ করেছে। (যা একই মেশিনে থাকতে পারে))

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