TCPDump - फ़िल्टर द्वारा MAC एड्रेस


25

मैं एक विशिष्ट मैक पते के लिए या सभी ट्रैफ़िक प्रदर्शित करना चाहूंगा। उसके लिए मैंने कोशिश की

sudo tcpdump host aa:bb:cc:11:22:33

यह काम नहीं करता है और मुझे एक त्रुटि देता है

tcpdump: pktap_filter_packet: pcap_add_if_info(en0, 1) failed: pcap_add_if_info: pcap_compile_nopcap() failed

मुझे नहीं पता कि इस त्रुटि संदेश की व्याख्या कैसे करें और मुझे नहीं पता कि समस्या को कैसे हल किया जाए।

कोई मदद ?


क्या आप सुनिश्चित हैं कि यह सही मैक पता प्रारूप है? मैक पते में एक मानक प्रारूप नहीं है। मैंने विभिन्न उपकरणों और कोड के साथ समस्याओं में भाग लिया है जो विभिन्न स्वरूपों की आवश्यकता है। कुछ को कॉलन, कुछ डैश, 2 अंक के साथ कुछ, 3 के साथ कुछ, 4 के साथ कुछ और, एक बार, एक की जरूरत है कि यह आधे में कटौती की जरूरत है।
रॉन मौपिन

हाय, हाँ बहुत यकीन है। यह जब यह काम करता है तो प्रतिक्रियाओं के लिए उपयोग किया जाने वाला प्रारूप है। उदाहरण के लिए यह कमांड काम करता है:> sudo tcpdump -e -nni all ईथर src aa: bb: cc: 11: 22: 33 EDIT: और यह मुझे लगभग वही देता है जो मैं मूल रूप से चाहता हूं। (मुझे अभी पता चला है कि)
फेनेटस

यह वास्तव में एक भयानक त्रुटि संदेश है, और Mavericks से पहले ओएस एक्स पर tcpdump, या जब Mavericks पर "किसी भी" डिवाइस पर कब्जा नहीं कर रहा है और बाद में, या किसी अन्य ओएस पर "tcpdump: e ईथरनेट गैर-ईथर अभिव्यक्ति में उपयोग किया जाता" रिपोर्ट करेगा । मैंने इसके लिए Apple बग रिपोर्टर पर बग 21698116 दर्ज किया है।

जवाबों:


41

आपने अपने पैकेट फ़िल्टर के रूप में निम्नलिखित का उपयोग किया है: host aa:bb:cc:11:22:33

जैसा कि यह खड़ा है, यह एक आईपी या होस्टनाम की तलाश में है लेकिन आप इसे मैक एड्रेस दे रहे हैं।

मैक पते का उपयोग करने के लिए, आपको etherपैकेट फ़िल्टर आदिम को शामिल करना होगा ।

आपके मामले में, निम्नलिखित को काम करना चाहिए:

sudo tcpdump ether host aa:bb:cc:11:22:33

या, यदि आपको इंटरफ़ेस निर्दिष्ट करने की आवश्यकता है, तो यह कुछ इस तरह होगा:

sudo tcpdump -i eth0 ether host aa:bb:cc:11:22:33

धन्यवाद, यह वास्तव में अच्छी तरह से समझाया गया है, मैं अब "ईथर" पैरामीटर को स्पष्ट रूप से समझता हूं। अब एक सवाल यह है कि जब मैं वेब सर्फ करता हूं तो मैं HTTP पैकेट हेडर क्यों नहीं देख सकता हूं? (मेरे पास परीक्षण उपकरण के रूप में एक आईफोन है और मैं इसके मैक पते के लिए सूँघ रहा हूं, अगर मैं इसे पिंग करूं तो मैं ट्रैफ़िक देख सकता हूं, अगर मैं इसे जगाता हूं या इसे सोता हूं तो मैं ट्रैफ़िक देख सकता हूं, लेकिन सफारी सर्फिंग के दौरान कुछ भी नहीं)
फिनेटास

कोई भी वास्तव में यह नहीं कह सकता है कि हम आपके पर्यावरण को नहीं जानते हैं या आप उस वातावरण के डेटा को कहाँ देख रहे हैं। मुझे उस प्रश्न का उत्तर देने में सक्षम होने से पहले बहुत कुछ जानना होगा।
YLearn

ठीक है, मैं एक मैक पर पिछले ओएस 10 योसेमाइट का विकास कर रहा हूं, और मेरा परीक्षण उपकरण आईओएस 7 के साथ एक iPhone 5S है। नेटवर्क बुनियादी है, एक वाईफाई एक्सेस प्वाइंट, एक मैक, एक iPhone। बात यह है, अगर मैं करूँगा तो मैं sudo tcpdumpनेटवर्क पर सभी ट्रैफ़िक को जब्त कर लूंगा और अगर मैं अपने मैक पर वेब सर्फ करता हूं तो मुझे लाइनें दिखाई देंगी 11:54:20.887984 IP 10.11.204.50.56049 > 886entdc11.enterprise.886ventures.com.domain: 46247+ A? programmers.stackexchange.com. (47), लेकिन अगर मैं ऐसा करता sudo tcpdump host IPOfIphoneहूं तो मैं इंटरनेट ट्रैफिक से कुछ भी नहीं देखूंगा अगर मैं इसके साथ सर्फ करता हूं फोन।
फेनेटस

अपने "एक्सेस पॉइंट" को मान लेना वास्तव में गेटवे डिवाइस का कुछ प्रकार है और इंटरनेट तक आपकी पहुंच प्रदान करता है और आप मैक पर tcpdump कर रहे हैं: जब तक कि आपने इसे किसी तरह से कॉन्फ़िगर नहीं किया है, तो आईफोन का इंटरनेट ट्रैफ़िक नहीं करता है मैक के माध्यम से जाओ ताकि मैक इसे नहीं देखेगा।
YLearn

हां यह समझ में आता है, शायद मैं नेटवर्किंग (विद्युत पृष्ठभूमि) के आधार को याद कर रहा हूं। इसलिए अगर मैं समझता हूं कि आप कह रहे हैं कि मैं केवल अपने मैक से या प्रसारण से यातायात देख सकता हूं। लेकिन उस स्थिति में, जब वाईफाई वाईफाई से कनेक्ट हो रहा हो तो मैं ट्रैफिक क्यों देख सकता हूं? उस स्थिति में मुझे 11:45:52.852928 IP 10.11.204.15.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/1 TXT "model=N51AP" (98)फोन (10.11.204.15) और 224.0.0.251 के बीच एक संचार मिलता है जो निश्चित रूप से मेरा मैक नहीं है (मुझे लगता है कि यह एक्सेस प्वाइंट है)।
फिनेटास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.