Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
toxy — وكيل HTTP قابل للاختراق لاختبار المرونة ومحاكاة ظروف الشبكة | Kitploit
أدوات/GitHubGitHub/h2non/toxy
تحليل الثغرات الأمنيةبروكسيات الويب والاعتراضاختبار أمان APIأمن الشبكاتاختبار الاختراقهندسة الفوضىArchived
GitHubh2non/toxy

toxy

وكيل HTTP قابل للاختراق لاختبار المرونة ومحاكاة ظروف الشبكة

عرض المستودع
2.7k8028منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

toxy Build Status Code Climate NPM js-standard-style

لا تتم صيانته بنشاط، قد لا يعمل مع أحدث إصدارات node.js. إذا كنت مهتماً بصيانة toxy، يرجى فتح issue.

وكيل HTTP قابل للتخصيص لمحاكاة سيناريوهات فشل الخادم، اختبار مرونة الأنظمة وظروف شبكة غير متوقعة، مبني لـ node.js.

تم تصميمه بشكل أساسي لاختبار مقاومة الفشل، حيث يصبح toxy مفيدًا بشكل خاص لتغطية قدرات تحمل الأخطاء والمرونة للنظام، خاصة في الشبكات المتسامحة مع الانقطاع والهندسة الموجهة نحو الخدمة، حيث يمكن لـ toxy العمل كوكيل وسيط (MitM) بين الخدمات لحقن الفشل.

يسمح لك toxy بتوصيل poisons، والتي يتم تصفيتها اختياريًا بواسطة rules، والتي يمكنها بشكل أساسي اعتراض وتعديل تدفق HTTP حسب حاجتك، مع تنفيذ إجراءات ضارة متعددة في منتصف تلك العملية، مثل تحديد النطاق الترددي، تأخير حزم الشبكة، حقن زمن انتقال شبكة (jitter)، أو الرد برمز خطأ أو حالة مخصص.

يعمل بشكل أساسي على الطبقة السابعة (L7)، على الرغم من أنه يمكنه محاكاة ظروف الشبكة للطبقة الثالثة (L3).

يمكن استخدام toxy بسلاسة برمجيًا أو عبر HTTP API.

تم بناؤه فوق rocky، وهو وكيل HTTP كامل الميزات موجه للوسائط (middleware)، وهو أيضًا قابل للتوصيل في connect/express كوسيط (middleware) قياسي.

يتطلب node.js +4.

المحتويات

  • الميزات
  • المقدمة
    • لماذا toxy؟
    • المفاهيم
    • كيف يعمل
  • الاستخدام
    • التثبيت
    • أمثلة
  • قياس الأداء
  • السموم (Poisons)
    • نطاقات التسميم
    • مراحل التسميم
    • السموم المدمجة
      • Latency
      • Inject response
      • Bandwidth
      • Rate limit
      • Slow read
      • Slow open
      • Slow close
      • Throttle
      • Abort connection
      • Timeout
    • كيفية كتابة poisons
  • القواعد (Rules)
    • القواعد المدمجة
      • Probability
      • Time threshold
      • Method
      • Content Type
      • Headers
      • Response headers
      • Body
      • Response body
      • Response status
    • قواعد الطرف الثالث
    • كيفية كتابة rules
  • API برمجي
  • HTTP API
    • الاستخدام
    • التفويض
    • API
    • API برمجي
  • الترخيص

الميزات

  • وكيل HTTP/S كامل الميزات (مدعوم من rocky و http-proxy)
  • API برمجي قابل للتخصيص وأنيق (مستوحى من connect/express)
  • HTTP API للإدارة للإدارة الخارجية والتكوين الديناميكي
  • موجه مدمج مع تكوين متداخل
  • تسميم هرمي وقابل للتركيب مع تصفية قائمة على القواعد
  • طبقة وسيطة هرمية (على المستويين العام والمسار)
  • قابل للتوسيع بسهولة عبر الوسائط (بناءً على وسائط connect/express)
  • يدعم تسميم حركة المرور الواردة والصادرة
  • سموم مدمجة (bandwidth, error, abort, latency, slow read...)
  • تسميم قائم على القواعد (احتمالي، طريقة HTTP, headers, body...)
  • يدعم poisons و rules من طرف ثالث
  • موازن مدمج ومعترض حركة مرور عبر الوسائط
  • يرث API والميزات من rocky
  • متوافق مع connect/express (ومعظم وسائطهما)
  • قادر على العمل كوكيل HTTP مستقل

المقدمة

لماذا toxy؟

توجد بعض الحلول المشابهة لـ toxy في السوق، لكن معظمها لا يوفر تحكمًا برمجيًا مناسبًا وعادةً لا يكون سهلاً في التخصيص أو التكوين أو أنها مغلقة مباشرة أمام قابلية التوسع.

علاوة على ذلك، تعمل غالبية هذه الحلول فقط على مستوى TCP L3 بدلاً من توفير تجريدات عالية المستوى لتغطية المتطلبات الشائعة في المجال المحدد وطبيعة بروتوكول HTTP L7، كما يحاول toxy توفيره.

يجلب toxy حلاً قويًا وقابلًا للتخصيص والتوسع مع تجريد مريح، ولكن دون فقدان قدرات الواجهة ذات المستوى المنخفض المناسبة للتعامل مع بدائيات بروتوكول HTTP بسهولة.

تم تصميم toxy بناءً على مبادئ التركيب والبساطة وقابلية التوسع. من خلال طبقة الوسائط الهرمية الخاصة بالمجال المدمجة، يمكنك بسهولة توسيع ميزات toxy لتناسب احتياجاتك الخاصة.

المفاهيم

يقدم toxy توجيهين: poisons و rules.

Poisons هي المنطق المحدد الذي يصيب معاملة HTTP واردة أو صادرة (مثل: حقن زمن انتقال (latency)، الرد بخطأ). يمكن تسميم معاملة HTTP واحدة بواسطة poison واحد أو أكثر، ويمكن تكوين هذه poisons أيضًا لإصابة حركة المرور على المستوى العام أو مستوى المسار.

Rules هي نوع من مرشحات التحقق من المطابقة التي تفحص طلب/استجابة HTTP لتحديد، وفقًا لقواعد معينة، ما إذا كان يجب تسميم معاملة HTTP أم لا (على سبيل المثال: إذا تطابقت الرؤوس (headers)، معاملات الاستعلام (query params)، الطريقة (method)، النص (body)...). يمكن إعادة استخدام rules وتطبيقها على كل من تدفقات حركة المرور الواردة والصادرة، بما في ذلك نطاقات مختلفة: المستوى العام، مستوى المسار، أو مستوى poison.

كيف يعمل```

↓ ( Incoming request ) ↓ ↓ ||| ↓ ↓ +-------------+ ↓ ↓ | Toxy Router | ↓ -> Match the incoming request ↓ +-------------+ ↓ ↓ ||| ↓ ↓ +--------------------+ ↓ ↓ | Incoming phase | ↓ -> The proxy receives the request from the client ↓ |~~~~~~~~~~~~~~~~~~~~| ↓ ↓ | ---------------- | ↓ ↓ | | Exec Rules | | ↓ -> Apply configured rules for the incoming request ↓ | ---------------- | ↓ ↓ | ||| | ↓ ↓ | ---------------- | ↓ ↓ | | Exec Poisons | | ↓ -> If all rules passed, then poison the HTTP flow ↓ | ---------------- | ↓ ↓ +~~~~~~~~~~~~~~~~~~~~+ ↓ ↓ / \ ↓ ↓ \ / ↓ ↓ +--------------------+ ↓ ↓ | HTTP dispatcher | ↓ -> Forward the HTTP traffic to the target server, either poisoned or not ↓ +--------------------+ ↓ ↓ / \ ↓ ↓ \ / ↓ ↓ +--------------------+ ↓ ↓ | Outgoing phase | ↓ -> Receives response from target server ↓ |~~~~~~~~~~~~~~~~~~~~| ↓ ↓ | ---------------- | ↓ ↓ | | Exec Rules | | ↓ -> Apply configured rules for the outgoing request ↓ | ---------------- | ↓ ↓ | ||| | ↓ ↓ | ---------------- | ↓ ↓ | | Exec Poisons | | ↓ -> If all rules passed, then poison the HTTP flow before send it to the client ↓ | ---------------- | ↓ ↓ +~~~~~~~~~~~~~~~~~~~~+ ↓ ↓ ||| ↓ ↓ ( Send to the client ) ↓ -> Finally, send the request to the client, either poisoned or not

## الاستخدام

### التثبيت```
npm install toxy

أمثلة

انظر إلى دليل أمثلة لمزيد من حالات الاستخدام.```js var toxy = require('toxy') var poisons = toxy.poisons var rules = toxy.rules

// Create a new toxy proxy var proxy = toxy()

// Default server to forward incoming traffic proxy .forward('http://httpbin.org')

// Register global poisons and rules proxy .poison(poisons.latency({ jitter: 500 })) .rule(rules.probability(25))

// Register multiple routes proxy .get('/download/') .forward('http://files.myserver.net') .poison(poisons.bandwidth({ bps: 1024 })) .withRule(rules.headers({'Authorization': /^Bearer (.)$/i }))

تنزيل الأداة