TCPDump - Filtern nach MAC-Adresse

25

Ich möchte den gesamten Datenverkehr für oder von einer bestimmten MAC-Adresse anzeigen. Dafür habe ich es versucht

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

Es funktioniert nicht und gibt mir einen Fehler zurück

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

Ich weiß nicht, wie ich diese Fehlermeldung interpretieren soll, und ich weiß nicht, wie ich das Problem lösen soll.

Irgendeine Hilfe ?

phenetas
quelle
Sind Sie sicher, dass es sich um das richtige MAC-Adressformat handelt? MAC-Adressen haben kein Standardformat. Ich habe Probleme mit verschiedenen Geräten und Code, die unterschiedliche Formate erfordern. Manche brauchen Doppelpunkte, manche Bindestriche, manche 2-stellig, manche 3-stellig, manche 4-stellig, und einmal brauchte man es, um es in zwei Hälften zu schneiden.
Ron Maupin
Hi, ja ziemlich sicher. Dies ist das Format, das für Antworten verwendet wird, wenn es funktioniert. Wie zum Beispiel funktioniert dieser Befehl:> sudo tcpdump -e -nni all ether src aa: bb: cc: 11: 22: 33 EDIT: Und es gibt mir ungefähr das zurück, was ich im Grunde will. (Ich habe das gerade entdeckt)
Phänetas
Das ist eine wirklich schreckliche Fehlermeldung, und tcpdump unter OS X vor Mavericks oder wenn Sie nicht auf dem "any" -Gerät von Mavericks und höher erfassen oder auf einem anderen Betriebssystem "tcpdump: ethernet address used in non-ether expression" melden. . Ich habe den Fehler 21698116 auf dem Apple Bug Reporter dafür abgelegt.

Antworten:

41

Sie haben Folgendes als Paketfilter verwendet: host aa:bb:cc:11:22:33

Derzeit wird nach einer IP-Adresse oder einem Hostnamen gesucht, aber Sie geben ihr eine MAC-Adresse.

Um eine MAC-Adresse zu verwenden, müssen Sie das etherPaketfilter-Grundelement einschließen .

In Ihrem Fall sollte Folgendes funktionieren:

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

Oder, wenn Sie die Schnittstelle angeben müssen, wäre es so etwas wie:

sudo tcpdump -i eth0 ether host aa:bb:cc:11:22:33
YLearn
quelle
Danke, das ist wirklich gut erklärt, ich verstehe den "Äther" -Parameter jetzt klar. Eine Frage ist jetzt, warum ich keine HTTP-Paket-Header sehen kann, wenn ich im Internet surfe. (Ich habe ein iPhone als Testgerät , und ich bin Schnüffeln für seine MAC - Adresse, wenn ich es ping ich die trafic sehen kann, wenn ich wache es nur oder mache es schläft ich den Verkehr sehen kann, aber nichts , wenn das Surfen Safari)
Phänetas
Niemand kann es wirklich sagen, da wir Ihre Umgebung nicht kennen oder nicht wissen, wo Sie die Daten in dieser Umgebung betrachten. Ich müsste viel mehr wissen, bevor ich diese Frage beantworten kann.
YLearn
Ok, ich entwickle auf einem Mac, auf dem das letzte Os 10 Yosemite läuft, und mein Testgerät ist ein iPhone 5S mit iOS 7. Das Netzwerk ist einfach, ein WLAN-Zugangspunkt, ein Mac, ein iPhone. Die Sache ist, wenn ich a tue, sudo tcpdumpsehe ich den gesamten Verkehr im Netzwerk und wenn ich auf meinem Mac im Internet surfe, sehe ich Linien wie 11:54:20.887984 IP 10.11.204.50.56049 > 886entdc11.enterprise.886ventures.com.domain: 46247+ A? programmers.stackexchange.com. (47), aber wenn ich a tue, sudo tcpdump host IPOfIphonesehe ich nichts vom Internetverkehr, wenn ich mit surfe das Telefon.
Phänetas
Angenommen, Ihr "Zugangspunkt" ist tatsächlich eine Art Gateway-Gerät, das Ihnen den Zugang zum Internet ermöglicht und das Sie den tcpdump auf dem Mac ausführen: Wenn Sie dies nicht in irgendeiner Weise konfiguriert haben, funktioniert der Internetverkehr des iPhones nicht Gehen Sie durch den Mac, damit der Mac es nicht sieht.
YLearn
Ja, es macht Sinn, vielleicht fehlt mir die Basis der Vernetzung (elektrischer Hintergrund). Wenn ich also verstehe, dass Sie sagen, dass ich nur Verkehr von / zu meinem Mac oder Rundfunk sehen kann. Aber warum kann ich dann den Datenverkehr sehen, wenn das Telefon eine Verbindung zum WLAN herstellt? In diesem Fall erhalte ich ein, bei 11:45:52.852928 IP 10.11.204.15.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/1 TXT "model=N51AP" (98)dem es sich um eine Kommunikation zwischen dem Telefon (10.11.204.15) und 224.0.0.251 handelt, bei der es sich definitiv nicht um meinen Mac handelt (ich nehme an, dies ist der Zugriffspunkt).
Phänetas