किसी को भी "Google क्रोम से/प्रत्येक इंटरनेट पैकेट को प्रदर्शित करने" या "पीआईडी 10275 के साथ टेलनेट प्रक्रिया से प्रत्येक इंटरनेट पैकेट को प्रदर्शित करने" के लिए लिनक्स से पूछने का एक आसान तरीका पता है?मैं प्रति पीआईडी नेटवर्क पैकेट कैप्चर कैसे कर सकता हूं?
टेलनेट उदाहरण बहुत उपयोगी नहीं है, क्योंकि मैं पोर्ट 23 से जुड़े सभी टीसीपी वार्तालापों को देखने के लिए केवल वायरशर्क या टीसीपीडम्प का उपयोग कर सकता हूं। वह और कोई भी टेलनेट का उपयोग नहीं करता है। लेकिन जटिल पैकेजों से सभी पैकेटों को सूँघना जो कई बंदरगाहों का उपयोग करते हैं, उपयोगी चीज की तरह दिखते हैं।
मैं बंदरगाहों और PIDs (या प्रोग्राम नाम) की पुष्टि के लिए और इस तरह के अलग अलग तरीकों की खोज के कुछ संबंधित जवाब है, लेकिन पैकेट
- How to tie a network connection to a PID without using lsof or netstat?
- How I can get ports associated to the application that opened them?
- How to do like "netstat -p", but faster?
के बारे में कुछ भी नहीं मिला ऐसा लगता है कि कोई इस जवाब के लिए थोड़ी देर पहले भुगतान करने को तैयार हो सकता है:
NetHogs जल्दी देखकर कार्यक्रमों एक अंतरफलक से अधिक यातायात पैदा कर रहे के लिए उपयोगी है, लेकिन यह पैकेट कैप्चर करने का तरीका नहीं है।
एचआरएम, क्या मुझे इसके बजाय सर्वरफॉल्ट पर पूछना चाहिए? –
यह वास्तव में सुपरयूसर पर है, वास्तव में। एक दिलचस्प सवाल है। आप HTTP अनुरोधों को फ़िल्टर करने के लिए वायरशर्क का उपयोग कर सकते हैं, लेकिन आपको पीआईडी – Bojangles
के आधार पर पैकेट फ़िल्टर करने के लिए कर्नेल ड्राइवरों में हुक करना होगा। यह एक जटिल समस्या है - सॉकेट पीआईडी के स्वामित्व में नहीं हैं; आप उन्हें एक प्रक्रिया से दूसरे प्रक्रिया में पारित कर सकते हैं। यदि प्रक्रिया ए एक सॉकेट खोलता है, तो यह बी को संसाधित करने के लिए इसे पार कर सकता है - अगर आप प्रक्रिया ए के पीआईडी पर फ़िल्टर कर रहे हैं, तो अब क्या होता है? – bdonlan