العودة إلى المدونة

كيفية التحقق من الحجم الحقيقي لبركة البروكسي: اختبار 1000 طلب وعداد IP

غالبًا ما يبالغ المزودون في حجم مجموعة البروكسي المعلن عنها. نعرض طريقة فعالة للتحقق من ذلك من خلال 1000 طلب مع حساب عناوين IP الفريدة وسكربت جاهز.

📅٩ ربيع الآخر ١٤٤٨ هـ

يعد مزود الخدمة بـ "أكثر من 10 ملايين IP"، ولكن في الواقع تحصل على نفس العنوان كل بضع دقائق. هذه هي الحالة الكلاسيكية للأرقام المبالغ فيها في تسويق خدمات البروكسي. هناك طريقة بسيطة وموثوقة للتحقق من الحجم الحقيقي للمجموعة - إجراء سلسلة من الطلبات وحساب عدد IP الفريدة التي حصلت عليها. في هذه المقالة، سنستعرض كيفية القيام بذلك بشكل صحيح، دون الأخطاء التي تشوه النتائج.

لماذا يجب التحقق من حجم مجموعة البروكسي

يؤثر حجم المجموعة بشكل مباشر على مدى تكرار عناوين IP عند وجود عدد كبير من الطلبات. إذا كنت محترفًا في التسويق وتقوم بإدارة 50 حسابًا على فيسبوك للإعلانات، فإن تكرار IP على عدة ملفات تعريف هو طريق مباشر إلى حظر جميع الحسابات. إذا كنت متخصصًا في SMM وتدير 30 حسابًا لعملاء على إنستغرام عبر Dolphin Anty، فإن كل تكرار لـ IP يمثل خطرًا لربط حسابات عملاء مختلفين في نظر نظام مكافحة الاحتيال على المنصة.

بالنسبة للبائعين على Wildberries وOzon، فإن المجموعة الحقيقية الصغيرة تعني أن برنامج تسعير المنافسين سيقع بسرعة تحت قيود المعدل أو CAPTCHA - سيرى الموقع عشرات الطلبات من نفس العنوان ويقوم بحظره. من المهم للمسوقين الذين يختبرون استهداف الإعلانات الجغرافية أن يفهموا ما إذا كانت الطلبات تأتي من شبكات فرعية ومدن مختلفة، وليس من ثلاثة عناوين IP متكررة من مركز بيانات واحد.

يستغرق الاختبار من 10 إلى 15 دقيقة، بينما يوفر نتائجه أسابيع من العمل، والتي ستذهب بخلاف ذلك لفك حظر الحسابات ومعرفة لماذا كانت "IP الجديدة" معروفة سابقًا.

لماذا يبالغ مقدمو الخدمة في الأرقام

الحجم المعلن للمجموعة هو غالبًا العدد الإجمالي للعناوين المتاحة نظريًا في شبكة المزود على مر الزمن، بما في ذلك IP التي لم تعد تُصدر منذ فترة طويلة، أو تم حظرها من قبل المنصات المستهدفة، أو تنتمي إلى أجهزة غير نشطة في حالة البروكسي السكني والمحمول. قد تكون العينة المتاحة الحقيقية في وقت طلبك أقل بكثير.

هناك سبب ثانٍ: دوران IP لدى العديد من المزودين يعمل على مبدأ "جلسة - IP جديدة"، ولكن مجموعة الدوران قد تكون محدودة بجغرافيا معينة أو شبكة فرعية لمزود خدمة الإنترنت. إذا كنت تطلب IP من الولايات المتحدة فقط، بينما يتم حساب المجموعة العامة للمزود من جميع البلدان في وقت واحد، فإن العدد الحقيقي للعناوين المتاحة لك قد يختلف عن المعلن عنه بعشرات المرات.

لهذا السبب، فإن الاختبار على 1000 طلب ليس جنونًا، بل هو مرحلة ضرورية من العناية الواجبة قبل بناء عملية تجارية على مزود البروكسي مع عشرات الحسابات أو برنامج يقوم بالعمل على مدار الساعة.

طريقة التحقق: 1000 طلب وعدد IP الفريدة

منطق الطريقة بسيط: تقوم بإجراء N طلبات إلى خدمة تعيد لك IP الخارجي الحالي (على سبيل المثال، httpbin.org/ip أو api.ipify.org)، يجب على البروكسي تغيير IP وفقًا لإعدادات الدوران الخاصة بك مع كل طلب. يتم تجميع جميع العناوين المستلمة في مجموعة (set)، والتي تقوم تلقائيًا بإزالة التكرارات. في النهاية، تقسم عدد IP الفريدة على العدد الإجمالي للطلبات - وهذا هو معامل الفريدة الحقيقي للمجموعة.

هناك ثلاثة شروط مهمة للاختبار الصحيح:

  • يجب أن تأتي الطلبات بفواصل زمنية تتناسب مع سيناريو الاستخدام الحقيقي - لا تحتاج إلى إجراء 1000 طلب في 3 ثوانٍ إذا كنت في العمل الحقيقي تغير IP كل 5 دقائق؛
  • يجب أن يبدأ كل طلب جلسة جديدة للبروكسي (بالنسبة للبروكسي السكني والمحمول، يعني هذا عادةً رمز جلسة ثابت جديد أو إعادة إنشاء الاتصال بالكامل)؛
  • يجب اختبار الجغرافيا ونوع البروكسي الذي تخطط لاستخدامه في الإنتاج - لن يظهر الاختبار على المجموعة العامة الوضع الحقيقي لدولة معينة.

تم اختيار الرقم 1000 ليس عن طريق الصدفة - هذه عينة كافية لأهمية إحصائية للنتيجة، وفي الوقت نفسه يتم تنفيذ الاختبار في وقت معقول ولا يخلق عبئًا زائدًا على المزود.

سكربت جاهز بلغة بايثون للاختبار

أدناه - سكربت يعمل يقوم بإجراء 1000 طلب عبر البروكسي ويحسب IP الفريدة. استبدل المتغيرات PROXY_HOST وPROXY_PORT وPROXY_USER وPROXY_PASS بالبيانات من لوحة التحكم الخاصة بمزود البروكسي الخاص بك.

import requests
import time
from collections import Counter

PROXY_HOST = "proxy.example.com"
PROXY_PORT = "8000"
PROXY_USER = "login"
PROXY_PASS = "password"

proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"
proxies = {"http": proxy_url, "https": proxy_url}

TOTAL_REQUESTS = 1000
DELAY_SECONDS = 0.5  # فترة الانتظار بين الطلبات

ip_counter = Counter()
errors = 0

for i in range(TOTAL_REQUESTS):
    try:
        response = requests.get(
            "https://api.ipify.org?format=json",
            proxies=proxies,
            timeout=10
        )
        ip = response.json().get("ip")
        ip_counter[ip] += 1
    except Exception as e:
        errors += 1
    time.sleep(DELAY_SECONDS)

unique_ips = len(ip_counter)
success_requests = TOTAL_REQUESTS - errors
uniqueness_ratio = unique_ips / success_requests if success_requests else 0

print(f"عدد الطلبات الناجحة: {success_requests}")
print(f"عدد الأخطاء: {errors}")
print(f"عدد IP الفريدة: {unique_ips}")
print(f"معامل الفريدة: {uniqueness_ratio:.2%}")
print("أفضل 5 IP الأكثر تكرارًا:")
for ip, count in ip_counter.most_common(5):
    print(f"  {ip}: {count} مرات")

يقوم السكربت أيضًا بعرض أفضل IP المتكررة - وهذا مفيد لفهم ما إذا كان هناك عنوان أو اثنان "علقوا" ويتم إصدارهم بشكل غير طبيعي بشكل متكرر من قبل المزود. إذا كانت هناك عناوين مثل هذه ونسبتها أكبر من 5-7% من جميع الطلبات، فهذا إشارة لمشاكل في الدوران من جانب المزود.

تحقق سريع عبر cURL بدون كود

إذا كنت لا ترغب في كتابة سكربت، يمكنك إجراء تحقق مبسط عبر الطرفية. ستقوم الأمر التالي في bash بإجراء 50 طلبًا وحفظ جميع IP المستلمة في ملف، مما يوفر تقييمًا سريعًا بدون تثبيت بايثون:

for i in {1..50}; do
  curl -s -x "http://login:[email protected]:8000" \
    https://api.ipify.org >> ip_list.txt
  echo "" >> ip_list.txt
  sleep 0.5
done

sort ip_list.txt | uniq -c | sort -nr

ستظهر الأمر sort | uniq -c قائمة IP الفريدة مع عدد تكرارات كل منها - هذه نفس الفكرة كما في سكربت بايثون، ولكن بدون كتابة برنامج. للتحقق السريع، يكفي 50-100 طلبًا لرؤية مشاكل واضحة في الدوران.

كيفية تفسير نتائج الاختبار

يعتمد معامل الفريدة على نوع البروكسي. لا تتوقع 100% فريدة من البروكسيات الرخيصة من مراكز البيانات ولا تخف إذا كانت البروكسيات السكنية تظهر أقل من 95% - بعض المزودين يستخدمون مجموعات ذات جغرافيا محدودة، حيث لا يمكن أن يكون هناك عدد غير محدود من IP المنزلية.

نوع البروكسي الفريدة المتوقعة على 1000 طلب التقييم
بروكسي سكنية 90-99% معدل طبيعي
بروكسيات محمولة 70-95% معدل طبيعي (يعتمد على كثافة المشغلين في الجغرافيا)
بروكسي مراكز البيانات 50-90% معدل طبيعي، ولكنه يعتمد على المجموعة المعلنة من الشبكة الفرعية المحددة
أي نوع أقل من 30% مشكلة - المجموعة مبالغ فيها في الإعلان أو الدوران معطل

بالإضافة إلى معامل الفريدة العام، انظر إلى التوزيع: إذا أعطى 900 من 1000 طلب عناوين IP مختلفة، بينما جاءت 100 طلبات من نفس العنوان - فهذا أسوأ من توزيع متساوي بنفس المتوسط. التوزيع المتساوي أهم من النسبة العامة للفريدة، خاصة لمهام تعدد الحسابات، حيث تكون كل إعادة ربط IP بالبروفايل حرجة.

التحقق من المجموعة في Dolphin Anty وAdsPower بدون كود

إذا كنت لا ترغب في العمل مع السكربتات، توفر المتصفحات المضادة للكشف أدوات مدمجة للتحقق المماثل، على الرغم من أنها على نطاق أصغر. في Dolphin Anty، افتح قسم "البروكسي" → اختر البروكسي المطلوب → اضغط على زر التحقق من IP عدة مرات بفاصل زمني من بضع دقائق وسجل النتائج يدويًا في جدول. في AdsPower، بالمثل: في قسم إدارة البروكسي، هناك زر "Check" الذي يظهر IP الحالي، البلد ومزود الشبكة - ستظهر عمليات التحقق المتكررة بفاصل زمني ما إذا كان العنوان يتغير.

هذه الطريقة اليدوية مناسبة للتحقق السريع الانتقائي قبل شراء كمية كبيرة من البروكسي، لكنها لا تحل محل اختبار كامل على 1000 طلب إذا كنت تخطط لتوسيع العملية على عشرات أو مئات الحسابات. للتحقق الجاد قبل الاستخدام طويل الأمد، من الأفضل تشغيل السكربت من القسم أعلاه والحصول على بيانات ذات دلالة إحصائية.

الأخطاء الشائعة عند اختبار المجموعة

الخطأ الأول هو إجراء الطلبات بسرعة كبيرة، بدون فترات راحة. بعض المزودين يعيدون نفس IP ضمن نافذة زمنية قصيرة عمدًا (جلسة ثابتة)، والاختبار السريع بدون فترات راحة سيظهر فريدة منخفضة بشكل مشوه، على الرغم من أن كل شيء على ما يرام في الفواصل الزمنية الحقيقية للاستخدام.

الخطأ الثاني هو اختبار عبر خدمة تحقق IP، تقوم بتخزين الردود أو تعيد الموقع الجغرافي بدلاً من العنوان الحقيقي. استخدم خدمات موثوقة مثل ipify.org أو httpbin.org/ip، التي تعطي JSON نظيف بدون تخزين على جانبها.

الخطأ الثالث هو عدم احتساب المهلات والأخطاء في الاتصال في الإحصائيات العامة. إذا انتهى 200 من 1000 طلب بخطأ، وأنت تحسب الفريدة من 1000، وليس من 800 الناجحة، فإن المعامل سيكون مشوهًا في الاتجاه الأسوأ.

الخطأ الرابع هو اختبار جغرافيا ليست ضرورية حقًا في العمل. قد تكون المجموعة ضخمة عالميًا، ولكن صغيرة جدًا لمدينة أو ولاية معينة - حيث أن الجغرافيا المحلية غالبًا ما تكون حرجة للإعلانات المستهدفة جغرافيًا أو SMM المحلي.

ماذا تفعل إذا كانت المجموعة صغيرة

إذا أظهر الاختبار معامل فريدة منخفض، فإن الخطوة الأولى هي الكتابة إلى دعم المزود مع الأرقام المحددة للاختبار وطلب تفسير السبب. عادةً ما يوضح مقدمو الخدمة الجادون هيكل المجموعة حسب الجغرافيا ونوع البروكسي ويمكنهم تقديم عينة أكثر دقة ولكن فعالة حقًا.

الخيار الثاني هو إعادة النظر في نوع البروكسي وفقًا للمهمة. بالنسبة لإدارة الحسابات والعمل مع منصات الإعلانات، غالبًا ما يكون من الأكثر فعالية عدم زيادة كثافة دوران IP مراكز البيانات، بل الانتقال إلى البروكسيات السكنية أو المحمولة، حيث تضمن طبيعة الشبكة توزيعًا أكثر طبيعية للعناوين وأقل وضوحًا لنظم مكافحة الاحتيال.

الخيار الثالث هو تقليل الحمل على المجموعة: زيادة الفاصل الزمني بين تغييرات IP، توزيع المهام بين عدة شبكات فرعية أو جغرافيا، إذا كانت المنصة تسمح بالعمل من دول مختلفة. أحيانًا لا تكون الحلول في زيادة المجموعة، بل في تغيير نمط الطلبات لتناسب الحجم الفعلي المتاح من العناوين الفريدة.

الخاتمة

اختبار 1000 طلب مع حساب IP الفريدة هو طريقة سريعة وموضوعية للتحقق مما إذا كانت المجموعة الحقيقية للبروكسي تتوافق مع الأرقام المعلنة من المزود. يستغرق السكربت الجاهز بلغة بايثون أو التحقق المبسط عبر cURL الحد الأدنى من الوقت، بينما تساعد النتائج في تجنب حظر الحسابات، والحظر أثناء جمع البيانات من الأسواق، والنفقات الزائدة على البروكسيات التي لا تناسب المهمة.

إذا كنت تخطط لإدارة حسابات إعلانات فيسبوك أو إعلانات تيك توك، أو إدارة عشرات ملفات تعريف إنستغرام عبر Dolphin Anty أو AdsPower، فانتبه إلى البروكسيات المحمولة - فهي عادةً ما تظهر توزيعًا أكثر طبيعية لـ IP وأقل عرضة لنظم مكافحة الاحتيال على المنصات. لجمع أسعار على Wildberries وOzon أو المهام التي تتطلب السرعة والثبات، من الأفضل اختبار البروكسيات السكنية وفقًا للطريقة المذكورة في هذه المقالة قبل بناء عملية عمل دائمة عليها.