Network Inspector — यह क्या है, कार्य सिद्धांत और नेटवर्क अनुरोधों की निगरानी

लेखक: IT Sectr प्रकाशित: 2026-05-07 पढ़ने का समय: 8 मिनट

Android Studio में Network Inspector एक बिल्ट-इन प्रोफाइलिंग टूल है जो मोबाइल एप्लिकेशन के नेटवर्क ट्रैफिक की रियल टाइम में निगरानी और विश्लेषण करने के लिए डिजाइन किया गया है। आधिकारिक 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 Studio 3.0 से शुरू करके Android Profiler पैनल के माध्यम से उपलब्ध है।

उद्देश्य और आवेदन क्षेत्र

Network Inspector का मुख्य कार्य मोबाइल एप्लिकेशन और सर्वर के बीच नेटवर्क संवाद को डीबग करना है। इस टूल का उपयोग प्रेषित डेटा की शुद्धता की जाँच करने, प्रतिक्रिया समय का विश्लेषण करने, API त्रुटियों की खोज करने और गैर-इकष्तम नेटवर्क पैटर्न का पता लगाने के लिए किया जाता है — उदाहरण के लिए, एक स्क्रीन को लोड करते समय अनेक अनुरोध। Network Inspector API Level 14 वाले किसी भी डिवाइस पर काम करता है।

अनुकूलता और लाइब्रेरीज़

यह टूल सभी प्रमुख Android HTTP क्लाइंट का समर्थन करता है: 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 एप्लिकेशन की डीबग प्रक्रिया से जुड़ता है और OkHttp Client, UrlConnection या अन्य समर्थित लाइब्रेरीज़ से गुजरने वाली सभी HTTP कॉल्स को सुनता है। प्रत्येक अनुरोध को एक टाइमस्टैंप के साथ रिकॉर्ड किया जाता है, जो नेटवर्क गतिविधि की एक समय रेखा बनाने की अनुमति देता है। HTTPS के लिए, एक सिस्टम लेयर का उपयोग किया जाता है, जो ट्रांसमिशन के दौरान एन्क्रिप्शन को संरक्षित रखता है लेकिन Studio के अंदर डिकोड किए गए कंटेंट को देखने की अनुमति देता है।

डेटा संग्रह आर्किटेक्चर

डेटा संग्रह Android Studio की Profiler Service के माध्यम से होता है, जो एक अलग होस्ट प्रक्रिया में चलती है। डिवाइस पर एक हल्का एजेंट चलता है, जो ADB चैनल के माध्यम से अनुरोध मेटाडेटा को प्रेषित करता है। यह एप्लिकेशन प्रदर्शन पर प्रभाव को कम करता है — Google के अनुसार ओवरहेड 3% से कम है। अनुरोध डेटा (बॉडी, हेडर) केवल तभी प्रेषित होता है जब विस्तार दृश्य सक्रिय होता है।

kotlin
// Network Inspector के साथ एकीकरण के लिए OkHttp कनेक्ट करना
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
MethodHTTP अनुरोध विधिPOST
StatusHTTP प्रतिक्रिया कोड200 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 MB
)

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

Network Inspector की सीमाएँ और विकल्प

अपनी व्यापक क्षमताओं के बावजूद, Network Inspector में कई सीमाएँ हैं जिनपर विचार करना महत्वपूर्ण है। कुछ परिदृश्यों के लिए — जैसे स्व-हस्ताक्षरित प्रमाणपत्रों के साथ HTTPS का इंटरसेप्शन या तीसरे पक्ष की लाइब्रेरी ट्रैफिक विश्लेषण — विकल्पी टूल की आवश्यकता हो सकती है।

प्लेटफ़ॉर्म और लाइब्रेरी सीमाएँ

Network Inspector केवल Android एप्लिकेशनों के साथ काम करता है और iOS का समर्थन नहीं करता है। Kotlin Multiplatform (KMM) के लिए, कुछ अनुरोध प्रदर्शित नहीं हो सकते हैं यदि वे मूल भाग में निष्पादित होते हैं। कुछ लाइब्रेरीज़ — उदाहरण के लिए, gRPC, WebSocket (गैर-HTTP), Apollo के माध्यम से GraphQL (संस्करण 3.x से पहले) — अतिरिक्त इंटरसेप्टर कॉन्फ़िगर किए बिना आंशिक रूप से या बिल्कुल भी इंटरसेप्ट नहीं हो सकते हैं।

विकल्पी टूल

गहरे नेटवर्क ट्रैफिक विश्लेषण के लिए, तीसरे पक्ष के समाधान मौजूद हैं: Charles Proxy (HTTPS इंटरसेप्शन के साथ पूर्ण प्रॉक्सी सर्वर), Proxyman (macOS का विकल्प), Wireshark (पैकेट-स्तर विश्लेषण), Facebook का Stetho (Chrome DevTools के साथ एकीकरण), Chucker (एप्लिकेशन के अंदर अनुरोध निरीक्षण लाइब्रेरी)। प्रत्येक टूल का अपना क्षेत्र है: Charles और Proxyman विकास के शुरुआती चरणों में सर्वर के साथ इंटरैक्शन को डीबग करने के लिए अपरिहार्य हैं, जबकि Chucker परीक्षण बिल्ड में जानकारी एकत्रा करने के लिए उपयोगी है।

टूलप्रकारप्लेटफ़ॉर्मHTTPSHAR
Network InspectorAndroid Studio में निर्मितAndroidहाँहाँ
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) प्रारूप में डेटा निर्यात करने की अनुमति देता है। पैनल के ऊपर दाएं कोने में Export बटन पर क्लिक करें। HAR फ़ाइल को किसी भी HAR व्यूर में खोला जा सकता है या आगे के विश्लेषण के लिए Charles Proxy और Proxyman में आयात किया जा सकता है।

क्या Network Inspector एप्लिकेशन प्रदर्शन को प्रभावित करता है?

Google के अनुसार, सक्रिय प्रोफाइलिंग के दौरान ओवरहेड 3% से अधिक नहीं होता है। Network Inspector बंद होने पर कोई ओवरहेड नहीं होता है। रिलीज़ बिल्ड पर टूल का उपयोग करने की अनुशंसा नहीं दी जाती है, लेकिन डीबग सेशन के लिए आधुनिक उपकरणों पर प्रभाव नगण्य है।

यदि प्रतिक्रिया रॉ डेटा के रूप में दिखाई दे तो क्या करें?

यदि प्रतिक्रिया बॉडी अपठनीय रॉ डेटा के रूप में दिखाई देती है, तो यह gzip संपीडन या बाइनरी फ़ॉरमेट (Protocol Buffers, MessagePack) के कारण हो सकता है। Network Inspector स्वचालित रूप से gzip को डिकोड करता है। कस्टम फ़ॉरमेट के लिए, प्रतिक्रिया हेडर में Content-Type हिंट का उपयोग करें।

सारांश

  • Network Inspector Android Studio में निर्मित एक टूल है जो एप्लिकेशन कोड को बदले बिना रियल टाइम में नेटवर्क अनुरोधों की निगरानी और डीबगिंग करता है
  • स्वचालित इंटरसेप्शन OkHttp, Retrofit, Ktor और UrlConnection के माध्यम से सभी HTTP कॉल्स का — यह टूल डीबग बिल्ड में “बॉक्स से बाहर” काम करता है
  • समय रेखा रंग-कोडित स्थिति कोड के साथ धीमे, विफल और दोहराये गए अनुरोधों की तुरंत पहचान करने की अनुमति देती है
  • विस्तृत दृश्य में प्रत्येक अनुरोध के लिए हेडर, बॉडी (JSON फ़ॉरमेटिंग के साथ), कुकीज़ और चरण-स्तर का निष्पादन समय विभाजन शामिल है
  • Timing चरण विभाजन (DNS, TCP, TLS, Request, Response) धीमे अनुरोधों का कारण सटीक रूप से निर्धारित करने में मदद करता है
  • HAR निर्यात सहकर्मियों के साथ साझा करने या Charles Proxy जैसे तीसरे पक्ष के टूल में विश्लेषण के लिए सेशन सहलेज करने की अनुमति देता है
  • अधिक जटिल परिदृश्यों के लिए Charles Proxy या Proxyman का उपयोग करें — वे OS-स्तर ट्रैफिक इंटरसेप्शन और iOS अनुकूलता का समर्थन करते हैं

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें