/ dev / tcp পাওয়া যায় নি


21

যখন আমি নিম্নলিখিত কমান্ডটি চালানোর চেষ্টা করি:

echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80

আমি নিম্নলিখিত ত্রুটি বার্তা পেয়েছি:

bash: /dev/tcp/74.125.225.19/80: No such file or directory

নিম্নলিখিত কমান্ডটি নিখুঁতভাবে কাজ করে, সুতরাং সমস্যাটি আমি কীভাবে ব্যবহার করছি তা জড়িত /dev/tcp:

echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80

আমি উবুন্টু 13.04 এ আছি, সুতরাং ক্ষমতা আমার সিস্টেমে থাকা উচিত । আমি কি ভুল করছি? /dev/tcpসঠিকভাবে ব্যবহারের জন্য নিয়ম কী ?


1
এখানে /
ডিভ

উত্তর:


34

আপনাকে এটি পুনঃনির্দেশগুলিতে ব্যবহার করতে হবে :

নীচের সারণীতে বর্ণিত হিসাবে বাশ পুনরায়নির্দেশে ব্যবহৃত হলে বিশেষত বেশ কয়েকটি ফাইলের নাম পরিচালনা করে:

...

আপনার / dev / TCP / হোস্ট / পোর্ট

হোস্ট যদি একটি বৈধ হোস্টনাম বা ইন্টারনেট ঠিকানা হয় এবং পোর্টটি একটি পূর্ণসংখ্যার পোর্ট নম্বর বা পরিষেবার নাম হয় তবে বাশ সংশ্লিষ্ট টিসিপি সকেটটি খোলার চেষ্টা করে।

তাই:

printf "GET / HTTP/1.1\n\n" > /dev/tcp/74.125.225.19/80

এটি ব্যবহার করার সঠিক উপায়।

আপনি যখন /dev/tcp/74.125.225.19/80পাইপ ব্যবহার bashকরেছিলেন , নামযুক্ত কমান্ড চালানোর চেষ্টা করেছিলেন /dev/tcp/74.125.225.19/80এবং একটি ত্রুটি প্রতিবেদন করেছিলেন কারণ সেই ফাইলটি বিদ্যমান ছিল না।


হ্যান্ডেল করার /dev/tcp/host/portএবং /dev/udp/host/portপুনর্নির্দেশে নেওয়ার ক্ষমতা bash2.04 সংস্করণে যুক্ত করা হয়েছিল।

আপনাকে বিকল্প bashসহ সংকলন করতে হবে --enable-net-redirections


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