TCPDump - MAC Adresine Göre Filtrele


25

Belirli bir MAC adresinden gelen veya giden tüm trafiği görüntülemek istiyorum. Bunun için denedim

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

Çalışmıyor ve bana bir hata veriyor

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

Bu hata mesajını nasıl yorumlayacağımı ve sorunu nasıl çözeceğimi bilmiyorum.

Herhangi bir yardım ?


Doğru MAC adres formatı olduğundan emin misiniz? MAC adresleri standart bir biçime sahip değildir. Farklı formatlar gerektiren farklı cihaz ve kodlarla ilgili problemler yaşadım. Bazılarının iki noktaya, bazı noktalara, bazılarının 2 rakamlı, bazılarının 3'lü, bazılarının 4'lü, ve bir kere de yarısının kesilmesi gerektiğine ihtiyacı var.
Ron Maupin

Merhaba, kesinlikle eminim. Bu, çalıştığı zaman cevaplar için kullanılan formattır. Örneğin bu komut şöyle çalışır:> sudo tcpdump - e - nni tüm eter src aa: bb: cc: 11: 22: 33 EDIT: Temelde istediklerimi geri verir. (Sadece bunu keşfettim)
phenetas

Böylece Mavericks'le öncesinde OS X üzerinde gerçekten korkunç bir hata iletisi ve tcpdump, ya Mavericks "herhangi bir" aygıt üzerinde yakalayan değilken ve üstü ya da herhangi başka ": ethernet adresi olmayan eter ifadede kullanılan tcpdump" OS rapor verecek . Bunun için Apple böcek muhabirine 21698116 no'lu böceği dosyaladım.

Yanıtlar:


41

Aşağıdakileri paket filtreniz olarak kullandınız: host aa:bb:cc:11:22:33

Bu haliyle, bu bir IP veya ana bilgisayar adı arıyor ancak ona bir MAC adresi veriyorsunuz.

Bir MAC adresi kullanmak için, etherilkel paket filtresini eklemeniz gerekir .

Senin durumunda, aşağıdakiler çalışmalıdır:

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

Veya arayüzü belirlemeniz gerekiyorsa, şöyle bir şey olur:

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

Teşekkürler, bu gerçekten iyi açıklanmış, "eter" parametresini şimdi açıkça anlıyorum. Şimdi bir soru, internette gezinirken neden HTTP paket başlıklarını göremiyorum? (Test cihazı olarak bir iPhone'um var ve MAC Adresi için burnumu çektim, eğer ping attığımda trafiği görebiliyorum, eğer sadece uyanırsam veya uyutursam trafiği görebiliyorum ama Safari'de sörf yaparken hiçbir şey yok)
phenetas

Hiç kimse gerçekten ortamınızı bilmediğimizden ya da o ortamdaki verilere nerede baktığınızı söyleyemedi. Bu soruya cevap vermeden önce daha fazla şey bilmem gerekiyor.
YLearn

Tamam, son Os 10 Yosemite çalıştıran bir Mac üzerinde geliştiriyorum ve test cihazım iOs 7'li bir iPhone 5S. Ağ basit, bir wifi erişim noktası, bir mac, bir iPhone. Mesele şu ki, eğer bir sudo tcpdumpağ yapsam ağ üzerindeki tüm trafiği göreceğim ve Mac'imde internette dolaşıyorsam çizgileri göreceğim 11:54:20.887984 IP 10.11.204.50.56049 > 886entdc11.enterprise.886ventures.com.domain: 46247+ A? programmers.stackexchange.com. (47), fakat bir yaparsam sudo tcpdump host IPOfIphoneo zaman internette dolaşıyorsam internette hiçbir şey görmeyeceğim telefon.
phenetas

"Erişim noktanızın" aslında bir çeşit ağ geçidi cihazı olduğunu ve Internet’e erişiminizi sağladığını ve Mac’te tcpdump’ı yaptığınızı farz edersiniz: iPhone’un internet trafiği, Mac'in içinden geçerek Mac'in görmemesini sağlayın.
YLearn

Evet, mantıklı geliyor, belki ağın temelini (elektrik altyapısını) özlüyorum. Yani eğer anlarsam, yalnızca mac / dan gelen trafiği görebildiğimi veya yayınladığımı söylüyorsunuz. Ancak bu durumda, telefon wifi bağlanırken neden trafik görebiliyorum? Bu durumda 11:45:52.852928 IP 10.11.204.15.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/1 TXT "model=N51AP" (98)telefonla (10.11.204.15) ve 224.0.0.251 arasında kesinlikle mac olmayan bir iletişim kurarım (bunun erişim noktası olduğunu varsayıyorum).
phenetas 19
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.