Network Inspector — ما هو، مبدأ العمل ومراقبة طلبات الشبكة

المؤلف: IT Sectr نُشر: 2026-05-07 وقت القراءة: 8 دق

Network Inspector في Android Studio هي أداة تحليل مبنية مصممة لمراقبة وتحليل حركة الشبكة لتطبيق الجوال في الوقت الفعلي. وفقًا لـ الوثائق الرسمية لـ Android Developers (2025)، تسمح الأداة بتتبع وقت تنفيذ الطلبات، حجم البيانات المنقولة وحالة HTTP لكل استدعاء. الأداة لا تتطلب تغييرات في كود التطبيق وتعمل «جاهزة للاستخدام» مع أي مشروع على API Level 14 فما فوق.

النقاط الرئيسية

  • Network Inspector هو مكون من Android Profiler لمراقبة طلبات الشبكة مع إمكانية عرض الرؤوس ونص الاستجابة
  • اعتراض حركة المرور يحدث تلقائيًا لجميع استدعاءات HTTP التي يقوم بها التطبيق، بما في ذلك OkHttp، Retrofit، Ktor و WebView
  • الخط الزمني يعرض تسلسل الطلبات مع توضيح المدة، الحجم وحالة كل استدعاء
  • العرض المفصل لكل طلب يتضمن الرؤوس، نص الطلب والاستجابة، ملفات تعريف الارتباط ووقت التنفيذ حسب المراحل
  • تصدير البيانات بتنسيق HAR يسمح بمشاركة تفاعل الشبكة مع الزملاء أو حفظه للتحليل اللاحق

ما هو Network Inspector؟

Network Inspector هي أداة تحليل نشاط الشبكة مبنية في Android Studio. تسمح للمطورين بعرض جميع طلبات HTTP و HTTPS التي يرسلها التطبيق في الوقت الفعلي، بما في ذلك الرؤوس، نص الطلب والاستجابة، رموز الحالة ومدة التنفيذ. متاحة عبر لوحة Android Profiler ابتداءً من Android Studio 3.0.

الغرض ونطاق الاستخدام

المهمة الرئيسية لـ Network Inspector هي تصحيح التفاعل الشبكي بين تطبيق الجوال والخادم. تستخدم الأداة للتحقق من صحة البيانات المنقولة، تحليل وقت الاستجابة، البحث عن أخطاء API، واكتشاف أنماط الشبكة غير المثلى — على سبيل المثال، طلبات متعددة عند تحميل شاشة واحدة. يعمل Network Inspector على أي جهاز بـ API Level 14.

التوافق والمكتبات

تدعم الأداة جميع عملاء HTTP الرئيسيين لـ Android: OkHttp (ابتداءً من الإصدار 2.x)، Retrofit، Ktor (KMM)، UrlConnection، Apache HttpClient (القديم) و WebView. لتشغيل OkHttp و Retrofit، يلزم مكتبة OkHttp Profiler — تتصل تلقائيًا عند استخدام Android Studio 4.1+. بالنسبة لـ Ktor، يلزم إعداد معترض منفصل.

كيف يعمل Network Inspector

Network Inspector يعترض استدعاءات الشبكة على مستوى النظام باستخدام آلية Profiler Agent، التي تتم حقنها مع Android Profiler. يلزم بناء تصحيح للتطبيق للعمل بشكل صحيح. لا تغير الأداة كود التطبيق ولا تتطلب إضافة تبعيات للوظائف الأساسية.

آلية اعتراض حركة المرور

عند بدء التحليل، يتصل Network Inspector بـ عملية التصحيح للتطبيق ويستمع لجميع استدعاءات HTTP التي تمر عبر OkHttp Client، UrlConnection أو مكتبات أخرى مدعومة. يتم تسجيل كل طلب مع ختم زمني، مما يسمح ببناء خط زمني لنشاط الشبكة. بالنسبة لـ HTTPS، يتم استخدام طبقة نظام، مما يحافظ على التشفير أثناء النقل ولكن يسمح بعرض المحتوى المفكوك داخل Studio.

هندسة جمع البيانات

يتم جمع البيانات من خلال خدمة Profiler في Android Studio، التي تعمل في عملية مضيف منفصلة. يعمل عميل خفيف على الجهاز، ينقل بيانات الطلبات عبر قناة ADB. يقلل هذا من التأثير على أداء التطبيق — التكلفة الإضافية أقل من 3% وفقًا لبيانات Google. تنتقل بيانات الطلب (النص، الرؤوس) فقط عندما تكون عرض التفاصيل نشطة.

kotlin
// ربط OkHttp للتكامل مع Network Inspector
val client = OkHttpClient.Builder()
    .addInterceptor(HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BASIC
    })
    .build()

// يقوم Network Inspector باعتراض جميع الاستدعاءات تلقائيًا عبر العميل
client.newCall(Request.Builder()
    .url("https://api.example.com/data")
    .build()).execute()

الميزات الرئيسية لـ Network Inspector

يوفر Network Inspector مجموعة أدوات لتحليل شامل لحركة الشبكة. كل وظيفة موجهة لحل مهمة تصحيح محددة — من التحقق من الرؤوس إلى تحليل أداء API.

الخط الزمني للطلبات

تعرض الشاشة الرئيسية لـ Network Inspector تسلسلاً زمنياً لجميع الطلبات على شكل خط زمني. يتم تمثيل كل طلب بشريط ملون: أخضر — استجابة ناجحة (2xx)، أزرق — إعادة توجيه (3xx)، أصفر — خطأ عميل (4xx)، أحمر — خطأ خادم (5xx). يتوافق طول الشريط مع وقت تنفيذ الطلب من الاتصال حتى استلام الاستجابة الكاملة. يتيح ذلك تحديد الطلبات البطيءة أو الفاشلة فورياً.

المعلمةالوصفقيمة مثال
URLعنوان الطلب الكاملhttps://api.example.com/v2/users
Methodطريقة طلب HTTPPOST
Statusرمز استجابة HTTP200 OK
Sizeحجم الطلب + الاستجابة بالبايت12.4 KB
Timeإجمالي وقت التنفيذ342 ms

عرض تفاصيل الطلب

عند تحديد طلب معين، تنفتح لوحة تفاصيل مع: Headers (جميع رؤوس الطلب والاستجابة)، Request Body (نص الطلب بتنسيق نصي أو ثنائي)، Response Body (نص الاستجابة مع دعم تنسيق JSON)، Cookies (المرسلة والمستلمة)، Timing (تفصيل الوقت حسب المراحل: DNS، Connection، TLS Handshake، Request، Response).

التصفية والبحث

يدعم Network Inspector تصفية الطلبات حسب URL، طريقة HTTP، رمز الحالة ونوع المحتوى. يمكن استبعاد الطلبات إلى نطاقات محددة للتركيز فقط على API المطلوب. يعمل البحث عبر جميع حقول الطلب، بما في ذلك النص والرؤوس، وهو مفيد عند تصحيح وظيفة محددة للتطبيق. تسمح المصفيات المجمعة بإنشاء مجموعة قواعد تطبق تلقائيًا في كل مرة يبدأ فيها التحليل.

تجميع ومقارنة الطلبات

يدعم الخط الزمني تجميع الطلبات حسب أنماط URL. على سبيل المثال، يمكن طي جميع الطلبات من نوع /api/v2/users/* في مجموعة واحدة. يبسط هذا التحليل عندما يقوم التطبيق بإرسال مئات الطلبات في فترة قصيرة. تساعد وظيفة مقارنة الطلبات المتجاورة في تحديد التغييرات في استجابات الخادم عند الاستدعاءات المتكررة.

تصحيح طلبات الشبكة مع Network Inspector

يغطي الاستخدام العملي لـ Network Inspector سيناريوهات تصحيح نموذجية: التحقق من تنسيق البيانات، تحديد نقاط النهاية البطيئة، اكتشاف تسرب الذاكرة بسبب اتصالات غير مغلقة وتحليل التخزين المؤقت.

التحقق من هيكل استجابة JSON

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

تحليل وقت التنفيذ

تقوم علامة التبويب Timing بتقسيم تنفيذ الطلب إلى مراحل: حل DNS، اتصال TCP، مصافحة TLS، إرسال الطلب، استلام الاستجابة. إذا تجاوز الوقت الإجمالي 1–2 ثانية، يساعد تفصيل المراحل في تحديد السبب. على سبيل المثال، يشير DNS البطيء إلى مشاكل في الحل، ويشير مصافحة TLS البطيءة إلى نسخة بروتوكول قديمة على الخادم، ويشير الاستجابة البطيئة إلى كود خادم بطيء أو استعلام غير فعال ببيانات زائدة. يساعد تحليل Timing في تحديد الاختناقات حتى قبل بدء تحسين الخادم.

البحث عن الطلبات المكررة

يساعد Network Inspector في تحديد الطلبات الزائدة — على سبيل المثال، عندما يؤدي كل تدوير للشاشة إلى إعادة تحميل Activity للبيانات. على الخط الزمني، تشير سلسلة من الطلبات المتطابقة المتتالية بوضوح إلى المشكلة. قد يشمل الحل التخزين المؤقت، استخدام ViewModel مع الحفاظ على الحالة أو SingleLiveEvent للتحميل لمرة واحدة.

kotlin
// تخزين الطلبات مؤقتًا باستخدام OkHttp للتخلص من التكرار
val cache = Cache(
    File(context.cacheDir, "http_cache"),
    cacheSize = 10L * 1024 * 1024 // 10 ميغابايت
)

val cachedClient = OkHttpClient.Builder()
    .cache(cache)
    .addNetworkInterceptor(CacheInterceptor())
    .build()

قيود Network Inspector والبدائل

على الرغم من قدراته الواسعة، لدى Network Inspector عدد من القيود من المهم مراعاتها. لبعض السيناريوهات — مثل اعتراض HTTPS بشهادات موقعة ذاتيًا أو تحليل حركة مرور مكتبات الطرف الثالث — قد تتطلب أدوات بديلة.

قيود المنصة والمكتبات

يعمل Network Inspector فقط مع تطبيقات Android ولا يدعم iOS. بالنسبة لـ Kotlin Multiplatform (KMM)، قد لا تظهر بعض الطلبات إذا تم تنفيذها في الجزء الأصلي. بعض المكتبات — على سبيل المثال، gRPC، WebSocket (غير HTTP)، GraphQL عبر Apollo (قبل الإصدار 3.x) — قد تتم اعتراضها جزئيًا أو لا تتم اعتراضها على الإطلاق دون تكوين معترضات إضافية.

الأدوات البديلة

لتحليل أعمق لحركة الشبكة، توجد حلول ثالثة: Charles Proxy (خادم وكيل كامل مع اعتراض HTTPS)، Proxyman (بديل لـ macOS)، Wireshark (تحليل على مستوى الحزم)، Stetho من Facebook (التكامل مع Chrome DevTools)، Chucker (مكتبة لفحص الطلبات داخل التطبيق). لكل أداة مجالها: Charles و Proxyman لا غنى عنهما عند تصحيح التفاعل مع الخادم في المراحل المبكرة من التطوير، بينما Chucker مفيد لجمع المعلومات في الإصدارات الاختبارية.

الأداةالنوعالمنصةHTTPSHAR
Network Inspectorمضمن في Android StudioAndroidنعمنعم
Charles Proxyخادم وكيلمتعدد المنصاتنعمنعم
Proxymanخادم وكيلmacOS، iOSنعمنعم
Chuckerمفتش داخل التطبيقAndroidنعملا
Wiresharkمحلل حزممتعدد المنصاتلالا

الأسئلة الشائعة

لماذا لا يظهر Network Inspector الطلبات؟

تأكد من أن التطبيق مبني بـ تكوين التصحيح ومشغل مع Android Profiler متصل. إذا كنت تستخدم OkHttp 4.x، قد يحتاج أمرك إلى تحديث المكتبة إلى أحدث إصدار. بالنسبة لـ Ktor، تظهر الطلبات فقط عند استخدام عميل Ktor مع محرك يدعم الاعتراض.

هل يمكن عرض حركة HTTPS؟

نعم، يدعم Network Inspector حركة HTTPS دون تكوين إضافي. بخلاف Charles Proxy، لا يلزم تثبيت شهادة جذر. تستخدم الأداة آلية نظام Android Profiler لفك تشفير حركة المرور داخل جلسة التصحيح.

كيف تصدير البيانات من Network Inspector؟

يسمح Network Inspector بتصدير البيانات بتنسيق HAR (HTTP Archive). اضغط على زر التصدير في الزاوية العليا اليمنى من اللوحة. يمكن فتح ملف HAR في أي عارض HAR أو استيراده في Charles Proxy و Proxyman للتحليل اللاحق.

هل يؤثر Network Inspector على أداء التطبيق؟

وفقًا لبيانات Google، التكلفة الإضافية لا تتجاوز 3% أثناء التحليل النشط. عند إيقاف Network Inspector، لا توجد أي تكلفة إضافية. لا يوصى باستخدام الأداة في إصدارات الإصدار، ولكن لجلسات التصحيح، التأثير طفيف على الأجهزة الحديثة.

ماذا تفعل إذا كانت الاستجابة تظهر كبيانات خام؟

إذا كان نص الاستجابة يظهر كـ بيانات خام غير قابلة للقراءة، فقد يكون ذلك ناجمًا عن ضغط gzip أو تنسيق ثنائي (Protocol Buffers، MessagePack). يقوم Network Inspector بفك ضغط gzip تلقائيًا. للتنسيقات المخصصة، استخدم توجيه Content-Type في رؤوس الاستجابة.

الملخص

  • Network Inspector هي أداة مضمنة في Android Studio لمراقبة وتصحيح طلبات الشبكة في الوقت الفعلي دون تغيير كود التطبيق
  • الاعتراض التلقائي لجميع استدعاءات HTTP عبر OkHttp، Retrofit، Ktor و UrlConnection — تعمل الأداة «جاهزة للاستخدام» في تكوين التصحيح
  • الخط الزمني مع رموز الحالة المشفرة بالألوان يسمح بتحديد الطلبات البطيئة والفاشلة والمتكررة فوريًا
  • العرض المفصل لكل طلب يتضمن الرؤوس، النص (مع تنسيق JSON)، ملفات تعريف الارتباط وتفصيل وقت التنفيذ حسب المراحل
  • تفصيل مراحل Timing (DNS، TCP، TLS، Request، Response) يساعد في تحديد سبب الطلبات البطيئة بدقة
  • التصدير إلى HAR يسمح بحفظ الجلسات لمشاركتها مع الزملاء أو تحليلها في أدوات خارجية مثل Charles Proxy
  • للسيناريوهات الأكثر تعقيدًا، استخدم Charles Proxy أو Proxyman — يدعمان اعتراض حركة المرور على مستوى نظام التشغيل والتوافق مع iOS

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا