آموزش لینوکس - پیدا کردن آدرس های IP ای که بیشترین کانکشن را به پورت ۸۰ شما دارند


اگر شما میزبانی وب سایت و یا یک سرور اشتراکی را بر عهده دارید یکی از مشکلات رایج این است که تعداد درخواست ها به پورت ۸۰ سرور شما زیاد است و می خواهید پیدا کنید که از چه آدرس های IP بیشترین تعداد کانکشن وجود دارد. برای این کار می توانید از دستور زیر استفاده کنید:

# netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -nr | head

خروجی دستور فوق می تواند به صورت زیر باشد:


97 114.198.236.xx
56 67.166.157.xx
44 170.248.43.xx
38 141.0.9.xx
37 49.248.xx
37 153.100.131.xx
31 223.62.169.xx
30 65.248.100.xx
29 203.112.82.xx
29 182.19.66.xx

تحلیل عملکرد دستور فوق:

1. netstat -tn 2>/dev/null
-n: فقط نمایش عددی
-t: فقط TCP
2>/dev/null: ارسال شود /dev/null به stderr

2. grep :80
فیلتر نمودن کانکشن ها به پورت ۸۰ (ممکن است در موارد محدودی رکوردهای ناخواسته ای را فیلتر کند اما در این دستور که صرفا تعداد بالای کانکشن مد نظر است خللی در کار ما ایجاد نمی کند).

3. awk ‘{print $5}’
برای اینکه صرفا فیلد پنجم فیلتر شود.

4. cut -d: -f1
همانگونه که مشخص است از جداکننده ":" بین آدرس IP و پورت استفاده شده است. می خواهیم آن را به همراه شماره پورت ۸۰ حذف کنیم تا فقط آدرس IP باقی بماند.

5. sort | uniq -c | sort -nr
برای اینکه خروجی مرحله قبل sort شود. آدرس به صورت uniq شمارش شده و سپس مجددا بر اساس اعداد و به صورت معکوس sort شود. در این مرحله اولین خروجی آدرس IP است که بیشترین کانکشن ها را به پورت ۸۰ دارد.

6. head
آدرسی IP با تکرار زیاد مد نظر هستند برای همین از head برای محدود کردن خروجی به ۱۰ خط اول استفاده می کنیم.

استفاده از مطلب، با ذکر منبع بلامانع است.

EN / FA

فناوران آنیسا - خانه لینوکس ایران

تهران، میدان آرژانتین، خ وزرا، کوچه هشتم، یحیوی، پلاک ۴

 اطلاعات تماس:

  • 021-88716168
  • 021-88712172
  • 0910-8555111

info @ anisa.co.ir

© فناوران آنیسا - خانه لینوکس ایران | تمامی حقوق این سایت برای فناوران آنیسا محفوظ است.
Design by www.digitaldesign.ir