এক রৈখিক
আমি একটি দুর্দান্ত ওয়ান-লাইনার একসাথে রেখেছি যা দ্রুত উদ্দেশ্য পূরণ করে, একটি স্বেচ্ছাসেবী পরিসরে একটি নির্বিচার সংখ্যক বন্দর দখল করতে দেয় (এখানে এটি পাঠযোগ্যতার জন্য 4 লাইনে বিভক্ত করা হয়েছে):
comm -23 \
<(seq "$FROM" "$TO") \
<(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep '[0-9]\{1,5\}' | sort -n | uniq) \
| shuf | head -n "$HOWMANY"
লাইনে লাইন
commএমন একটি ইউটিলিটি যা দুটি ফাইলের মধ্যে বাছাই করা লাইনের তুলনা করে। এটি তিনটি কলাম আউটপুট করে: প্রথম ফাইলটিতে কেবল প্রদর্শিত লাইনগুলি, কেবল দ্বিতীয়টি এবং সাধারণ লাইনে প্রদর্শিত হয় এমন লাইনগুলি। নির্দিষ্ট করে -23আমরা পরবর্তী কলামগুলি দমন করি এবং কেবল প্রথমটি রাখি। পাঠ্য লাইনের ক্রম হিসাবে প্রকাশিত দুটি সেটগুলির পার্থক্য অর্জন করতে আমরা এটি ব্যবহার করতে পারি। আমি comm এখানে সম্পর্কে শিখেছি ।
প্রথম ফাইলটি পোর্টগুলির পরিসীমা যা আমরা বেছে নিতে পারি। seqথেকে সংখ্যার একটি সাজানো ক্রম উৎপন্ন $FROMকরতে $TO। প্রক্রিয়া প্রতিস্থাপনcomm ব্যবহার করে ফলাফলটি প্রথম ফাইল হিসাবে পাইপ করা হয় ।
দ্বিতীয় ফাইল পোর্ট অনুসারে সাজানো তালিকা, যে আমরা কল করে প্রাপ্ত হয় ss(সঙ্গে কমান্ড -tঅর্থ বিভিন্ন TCP পোর্ট -a- প্রতিষ্ঠিত এবং শোনা - এবং সব অর্থ -nসাংখ্যিক - সমাধানে বলতে চেষ্টা করবেন না, 22করতে ssh)। তারপরে আমরা কেবলমাত্র চতুর্থ কলামটিই চয়ন করি awk, এতে স্থানীয় ঠিকানা এবং পোর্ট থাকে। আমরা ডিলিমিটারের cutসাথে ঠিকানা এবং পোর্ট বিভক্ত করতে ব্যবহার করি :এবং কেবল পরে ( -f2) রাখি । ssএকটি শিরোনাম আউটপুট দেয়, যে আমরা grep5 টির চেয়ে বেশি নম্বরের খালি খালি অনুক্রমের জন্য পিং দিয়ে মুক্তি পেয়েছি then আমরা তারপরে সংখ্যায় ( ) ব্যবহার করে এবং ডুপ্লিকেটগুলি থেকে মুক্তি পেয়ে commপ্রয়োজনীয় প্রয়োজনীয়তা মেনে sortচলি ।-nuniq
এখন আমরা যে আমরা করতে পারেন খোলা পোর্ট একটি সাজানো তালিকা আছে, shufতারপর প্রথম দখল করতে fle "$HOWMANY"সঙ্গে বেশী head -n।
উদাহরণ
ব্যক্তিগত পরিসরে তিনটি এলোমেলো খোলা পোর্ট ধরুন (49152-65535)
comm -23 <(seq 49152 65535) <(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep "[0-9]\{1,5\}" | sort | uniq) | shuf | head -n 3
উদাহরণস্বরূপ ফিরে আসতে পারে
54930
57937
51399
মন্তব্য
- সুইচ
-tসঙ্গে -uএ ssপরিবর্তে বিনামূল্যে UDP পোর্ট জন্য।
shufআপনি যদি এলোমেলো বন্দর দখল করতে আগ্রহী না হন তবে ড্রপ করুন