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