अलग-थलग आवेदन और जांचें कि यह इंटरनेट पर कौन से पैकेट भेज रहा है


18

मुझे यकीन नहीं है कि इस तरह का सवाल यहाँ उपयुक्त है, इसलिए अगर मैं गलत हूँ तो मुझे माफ़ करें।

यहां एक समस्या है: मैं यह देखना चाहता हूं कि इंटरनेट पर एक विशिष्ट कार्यक्रम क्या भेज रहा है, लेकिन बात यह है कि कंप्यूटर पर बहुत सारे एप्लिकेशन और सेवाएं हैं जो इंटरनेट का उपयोग कर रहे हैं। इसलिए यह पता लगाना असंभव है कि मैं किसी ऐप द्वारा भेजे गए पैकेट्स में क्या दिलचस्पी रखता हूं।

एक तरीका अन्य सभी अनुप्रयोगों को बंद करने का प्रयास करना है, लेकिन यह असंभव है।

तो क्या एक विशिष्ट अनुप्रयोग को अलग करने का एक तरीका है? मैं windows7 पर काम कर रहा हूं और तारों के साथ पैकेट कैप्चर कर रहा हूं

जवाबों:


13

यह देखते हुए कि आप Wireshark का उपयोग कर रहे हैं, आपके पोर्ट नंबर स्वचालित रूप से एक एप्लिकेशन के नाम पर हल नहीं होते हैं, इसलिए आपको उन सूचनाओं को परिष्कृत करने के लिए कुछ और करने की आवश्यकता होगी जिन्हें आप खोज रहे हैं। किसी नेटवर्क पर संचार करने के लिए टीसीपी / आईपी का उपयोग करने वाला प्रत्येक एप्लिकेशन पोर्ट का उपयोग कर रहा होगा, ताकि नेटवर्क स्टैक जानता हो कि कहां सेगमेंट डिलीवर करना है (मैं इसे एक एप्लीकेशन एड्रेस कहना पसंद करता हूं)।

किसी विशिष्ट पोर्ट पर सर्वर एप्लिकेशन से कनेक्ट होने वाले ग्राहकों को गतिशील रेंज से पोर्ट नंबर आवंटित किया जाएगा। तो आपको सबसे पहले यह पता लगाना होगा कि आपके आवेदन में टीसीपी / यूडीपी कनेक्शन क्या हैं?

netstat -b

कमांड लाइन पर आपको कनेक्शन बनाने वाले निष्पादन योग्य के नाम के साथ कनेक्शन की एक सूची देगा। प्रत्येक निष्पादन योग्य में 127.0.0.1:xxxxx के रूप में सूचीबद्ध एक या अधिक कनेक्शन हैं, जहां एक्स कनेक्शन के लिए स्थानीय पोर्ट नंबर है।

अब वायरशर्क में, आपको इसे उन पैकेटों को प्रदर्शित करने की आवश्यकता है जो इन पोर्टों में से एक या एक से अधिक फिल्टर का उपयोग करके उत्पन्न होते हैं या उस बंदरगाह को दिए जाते हैं:

tcp.port == xxxxx या udp.port == xxxxx

or tcp.port == xxxxxप्रत्येक कनेक्शन के लिए एक अतिरिक्त जोड़ें जिसे आप दिखाना चाहते हैं।

यह आपको उन कनेक्शनों के लिए सभी ट्रैफ़िक देखने की अनुमति देगा, जो आपके आवेदन में खुले हैं और विरेस्कार्क में केवल कच्चे टीसीपी / यूडीपी खंड शामिल नहीं होंगे, लेकिन इसमें विभिन्न एप्लिकेशन लेयर प्रोटोकॉल (जैसे। HTTP) शामिल होंगे जो उन पोर्ट नंबरों का भी उपयोग करते थे।

यदि आपका एप्लिकेशन सिर्फ एक सर्वर के साथ संचार करता हुआ प्रतीत होता है, तो आप उस सर्वर के आईपी पते का उपयोग करके फ़िल्टर कर सकते हैं:

ip.addr == x.x.x.x

सॉकेट्स (अनारक्षित बंदरगाहों का उपयोग) के साथ सबसे बड़ी समस्या यह है कि एक सॉकेट को एक अनुप्रयोग द्वारा खोला और बंद किया जा रहा है, यह प्रकृति में बहुत गतिशील है। जब आप netstat -b कमांड चलाते हैं, तो यह आपको प्रत्येक सूचीबद्ध एप्लिकेशन के लिए अलग-अलग परिणाम देगा, भले ही आप इसे 5 सेकंड के अंतराल में चलाते हों। इसलिए उन सभी पोर्ट नंबरों को नोटिस करना बहुत मुश्किल है जो मेरे आवेदन को आवंटित किए जा रहे हैं। मैं "TCPView" टूल (sysInternals suite) में अपने एप्लिकेशन के लिए समान देख रहा था। मैंने देखा कि 10 सेकंड के अंतराल में मेरे आवेदन से 15 टीसीपी सॉकेट कनेक्शन खोले गए थे और उनमें से कई भी मारे गए थे
आरबीटी

1
यह वह जगह है जहाँ Microsoft नेटवर्क मॉनिटर काम आता है, क्योंकि यह उस प्रक्रिया का पता लगा सकता है जो नेटवर्क संचार से उत्पन्न होती है और उस प्रक्रिया के तहत इसे समूह बनाती है। हालाँकि, जब से यह लिखा गया था कि विंडसरक का एक नया प्रमुख संस्करण जारी किया गया है। यह मामला हो सकता है कि विंडसरक का उपयोग करके इस तरह का एक समूह भी संभव है, लेकिन मैंने थोड़ी देर में इसका इस्तेमाल नहीं किया है।
जॉन

7

यदि आप Microsoft से प्रक्रिया मॉनिटर का उपयोग करते हैं , तो आप विशिष्ट प्रक्रियाओं से केवल नेटवर्क संचार दिखाने के लिए फ़िल्टर बदल सकते हैं। यह आपको पैकेट की सामग्री नहीं देता है, लेकिन यह दिखाता है कि ऐप किस होस्ट से बात कर रहा है।


1
? वह पैकेट देखना चाहता था।
पचेरियर

1

Microsoft नेटवर्क मॉनिटर आपको ट्रैफ़िक प्रवाह के लिए जिम्मेदार प्रक्रिया दिखाएगा।


1

मुझे Microsoft मैसेज एनालाइज़र ठीक उसी उद्देश्य के लिए बहुत उपयोगी लगा। यह नेटवर्क ट्रैफ़िक को कैप्चर करने और इसे प्रोसेस ट्री द्वारा एग्रीगेट करने की अनुमति देता है।


0

एप्लिकेशन प्रक्रिया नंबर प्राप्त करने और अन्य सिस्टम आंतरिक उपकरणों की जांच करने के लिए सिस्टम इंटर्नल प्रोसेस मॉनिटर का उपयोग करें:

https://docs.microsoft.com/en-us/sysinternals/

Cmd.exe खोलें और चलाएं, netstat कमांड लाइन विकल्प, netstat / दिखाएं? ।

अब netstat -bo 1 >> c: /test.log आज़माएं। यह आपको एक निरंतर अद्यतन फ़ाइल में अपने विशिष्ट एप्लिकेशन नेटवर्क कनेक्शन डेटा को खोजने की अनुमति देगा।

याद रखें, आपको netstat -bo >> c: /test.log को लेखन से लॉग में ctl-C दर्ज करके cmd विंडो में बंद करना होगा।


-2

बस My_Applicationअपने आवेदन के साथ बदलें PNAMEयाPID

netstat --programs | grep "My_Application"

मैं इसे विंडोज 7 पर टेस्ट नहीं करता। लेकिन यह लिनक्स पर काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.