क्या Wireshark का उपयोग करके एक विशेष प्रक्रिया आईडी के आधार पर एक टीसीपी / एसएसएल स्ट्रीम को फ़िल्टर / अनुसरण करने का एक तरीका है ?
क्या Wireshark का उपयोग करके एक विशेष प्रक्रिया आईडी के आधार पर एक टीसीपी / एसएसएल स्ट्रीम को फ़िल्टर / अनुसरण करने का एक तरीका है ?
जवाबों:
मैं नहीं देखता कि कैसे। पीआईडी इसे तार (आम तौर पर बोलना) पर नहीं बनाता है, साथ ही वाइरसार्क आपको तार पर क्या देखने की अनुमति देता है - संभवतः सभी मशीनें जो तार पर संचार कर रही हैं। प्रक्रिया आईडी विभिन्न मशीनों में अद्वितीय नहीं हैं, वैसे भी।
बस अगर आप एक वैकल्पिक रास्ता तलाश रहे हैं और आपके द्वारा उपयोग किया जाने वाला वातावरण Windows है, तो Microsoft का नेटवर्क मॉनिटर 3.3 एक अच्छा विकल्प है। इसमें प्रक्रिया का नाम कॉलम है। आप आसानी से इसे संदर्भ मेनू का उपयोग करके फ़िल्टर में जोड़ते हैं और फ़िल्टर लागू करते हैं .. हमेशा की तरह GUI बहुत सहज है ...
आप तारों की संख्या से पोर्ट संख्या से पोर्ट संख्या से मेल कर सकते हैं, कहते हैं, netstat जो आपको उस पोर्ट पर सुनने वाली प्रक्रिया की पीआईडी बताएगा।
Microsoft संदेश विश्लेषक v1.4 का उपयोग करें
क्षेत्र चयनकर्ता से ProcessId पर नेविगेट करें।
Etw
-> EtwProviderMsg
--> EventRecord
---> Header
----> ProcessId
कॉलम के रूप में राइट क्लिक करें और जोड़ें
विंडोज पर एक प्रायोगिक बिल्ड है जो ऐसा करता है, जैसा कि मेलिंग सूची में वर्णित है, स्थानीय प्रक्रिया नाम से फ़िल्टर
यह निगरानी के लिए सक्षम होने के लिए एक महत्वपूर्ण चीज है जहां कुछ प्रक्रियाएं कनेक्ट करने का प्रयास करती हैं, और ऐसा लगता है कि लिनक्स पर ऐसा करने का कोई सुविधाजनक तरीका नहीं है। हालांकि, कई वर्कअराउंड संभव हैं, और इसलिए मुझे लगता है कि यह उनके उल्लेख के लायक है।
एक कार्यक्रम है जिसे नॉनट कहा जाता है जो बिना इंटरनेट के उपयोग के एक प्रोग्राम चलाने की अनुमति देता है (मेरे पास इसके सिस्टम के साथ सबसे अधिक प्रोग्राम लॉन्चर्स हैं )। यह समूह nonet में एक प्रक्रिया को चलाने के लिए setguid का उपयोग करता है और इस समूह से सभी कनेक्शनों को अस्वीकार करने के लिए एक iptables नियम सेट करता है ।
अद्यतन: अब तक मैं एक और भी सरल प्रणाली का उपयोग करता हूं, आप आसानी से फ़र्म के साथ एक पठनीय iptables कॉन्फ़िगरेशन कर सकते हैं, और केवल sg
एक विशिष्ट समूह के साथ प्रोग्राम चलाने के लिए प्रोग्राम का उपयोग कर सकते हैं । Iptables आपको ट्रैफ़िक को फिर से चलाने के लिए बदल देता है ताकि आप एक अलग इंटरफ़ेस या पोर्ट व्हिथ पर एक स्थानीय प्रॉक्सी को भी रूट कर सकें जो आपको वायरशर्क में फ़िल्टर करने की अनुमति देता है या यदि आप अपने सभी समय को अक्षम नहीं करना चाहते हैं तो पैकेट को सीधे iptables से लॉग इन करें। यातायात की जाँच कर रहे हैं।
समूह में एक कार्यक्रम चलाने और निष्पादन जीवनकाल के लिए iptables के साथ अन्य सभी ट्रैफ़िक को काटने के लिए इसे अनुकूलित करना बहुत जटिल नहीं है और फिर आप केवल इस प्रक्रिया से ट्रैफ़िक पर कब्जा कर सकते हैं।
अगर मैं कभी इसे लिखने के लिए चक्कर लगाता हूं, तो मैं यहां एक लिंक पोस्ट करूंगा।
एक अन्य नोट पर, आप हमेशा एक वर्चुअल मशीन में एक प्रक्रिया चला सकते हैं और इसके द्वारा किए गए कनेक्शन को अलग करने के लिए सही इंटरफ़ेस को सूँघ सकते हैं, लेकिन यह काफी घटिया समाधान होगा ...
यदि आप किसी ऐसे एप्लिकेशन का पालन करना चाहते हैं जिसे अभी भी शुरू करना है तो यह निश्चित रूप से संभव है:
docker run -t -i ubuntu /bin/bash
(अपने पसंदीदा डिस्ट्रो को "ubuntu" बदलें, यह आपके वास्तविक सिस्टम के समान नहीं है)any
, wlan0
, eth0
, ... चुनें नया आभासी इंटरफेसdocker0
बजाय।आपको कंटेनर में अपना सॉफ़्टवेयर चलाने के बारे में कुछ संदेह हो सकते हैं, इसलिए यहां उन प्रश्नों के उत्तर दिए गए हैं जो आप शायद पूछना चाहते हैं:
कुछ मामलों में आप प्रक्रिया आईडी द्वारा फ़िल्टर नहीं कर सकते हैं। उदाहरण के लिए, मेरे मामले में मुझे एक प्रक्रिया से ट्रैफ़िक सूँघने की ज़रूरत थी। लेकिन मुझे इसकी कॉन्फिग टार्गेट मशीन आईपी-एड्रेस, ip.dst==someip
ऐड फिल्टर और वॉयला मिला। यह किसी भी मामले में काम नहीं करेगा, लेकिन कुछ के लिए यह उपयोगी है।
पोर्ट नंबर का उपयोग कर प्राप्त करें netstat
:
netstat -b
और फिर Wireshark फ़िल्टर का उपयोग करें:
tcp.port == portnumber
strace
इस स्थिति के लिए उपयोग अधिक उपयुक्त है।
strace -f -e trace=network -s 10000 -p <PID>;
केवल नेटवर्क नेटवर्क-कॉल को फ़िल्टर करने और 10000 char तक की स्ट्रिंग लंबाई प्रदर्शित करने के लिए -f
सभी फ़ॉर्क्ड प्रक्रियाओं को ट्रेस करने के विकल्प ।-e trace=netwrok
-s
आप केवल कुछ कॉल जैसे ट्रेस, रिकर्व, रीड ऑपरेशन भी ट्रेस कर सकते हैं।
strace -f -e trace=send,recv,read -s 10000 -p <PID>;