TCPDump - Lọc theo địa chỉ MAC


25

Tôi muốn hiển thị tất cả lưu lượng truy cập cho hoặc từ một địa chỉ MAC cụ thể. Cho rằng tôi đã cố gắng

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

Nó không hoạt động và trả lại cho tôi một lỗi

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

Tôi không biết làm thế nào để giải thích thông báo lỗi này và tôi không biết làm thế nào để giải quyết vấn đề.

Có ai giúp đỡ không?


Bạn có chắc chắn đó là định dạng địa chỉ MAC chính xác? Địa chỉ MAC không có định dạng chuẩn. Tôi đã gặp vấn đề với các thiết bị khác nhau và mã yêu cầu các định dạng khác nhau. Một số cần dấu hai chấm, một số dấu gạch ngang, một số có 2 chữ số, một số có 3, một số có 4 và một lần, một cái cần nó cắt làm đôi.
Ron Maupin

Xin chào, có khá chắc chắn. Đây là định dạng được sử dụng để trả lời khi nó hoạt động. Ví dụ như lệnh này hoạt động:> sudo tcpdump -e -nni all ether src aa: bb: cc: 11: 22: 33 EDIT: Và về cơ bản nó trả về cho tôi những gì tôi muốn. (Tôi mới phát hiện ra điều đó)
phenetas 7/07/2015

Đó là một thông báo lỗi thực sự khủng khiếp và tcpdump trên OS X trước Mavericks hoặc khi không chụp trên thiết bị "bất kỳ" nào trên Mavericks và sau đó, hoặc trên bất kỳ HĐH nào khác sẽ báo cáo "tcpdump: địa chỉ ethernet được sử dụng trong biểu thức không phải ether" . Tôi đã nộp lỗi 21698116 trên trình báo cáo lỗi của Apple cho việc này.

Câu trả lời:


41

Bạn đã sử dụng như sau bộ lọc gói của bạn: host aa:bb:cc:11:22:33

Như hiện tại, đây là tìm kiếm một IP hoặc tên máy chủ nhưng bạn đang cho nó một địa chỉ MAC.

Để sử dụng địa chỉ MAC, bạn cần bao gồm etherbộ lọc gói nguyên thủy.

Trong trường hợp của bạn, những điều sau đây nên hoạt động:

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

Hoặc, nếu nó cần bạn chỉ định giao diện, thì nó sẽ giống như:

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

Cảm ơn bạn, điều này thực sự được giải thích rõ ràng, tôi hiểu rõ thông số "ether". Một câu hỏi bây giờ là tại sao tôi không thể thấy các tiêu đề gói HTTP khi tôi lướt web? (Tôi có một chiếc iPhone như một thiết bị kiểm tra và tôi đánh hơi cho Địa chỉ MAC của nó, nếu tôi ping nó tôi có thể thấy các trang tải, nếu tôi chỉ đánh thức nó hoặc làm cho nó ngủ tôi có thể thấy giao thông, nhưng không khi lướt Safari)
phenetas

Không ai có thể thực sự nói như chúng tôi không biết môi trường của bạn hoặc nơi bạn đang xem dữ liệu trong môi trường đó. Tôi sẽ cần phải biết nhiều hơn nữa trước khi có thể trả lời câu hỏi đó.
YLearn

Ok, tôi phát triển trên máy Mac chạy Os 10 Yosemite cuối cùng và thiết bị thử nghiệm của tôi là iPhone 5S với iOs 7. Mạng là cơ bản, một điểm truy cập wifi, một mac, một iPhone. Vấn đề là, nếu tôi làm sudo tcpdumptôi sẽ có tất cả các đề tài trên mạng và nếu tôi lướt web trên máy Mac của tôi, tôi sẽ thấy các dòng như thế 11:54:20.887984 IP 10.11.204.50.56049 > 886entdc11.enterprise.886ventures.com.domain: 46247+ A? programmers.stackexchange.com. (47), nhưng nếu tôi làm sudo tcpdump host IPOfIphonethì tôi sẽ không thấy bất cứ điều gì từ các trang web trên mạng nếu tôi lướt web điện thoại.
phenetas

Giả sử "điểm truy cập" của bạn thực sự là một loại thiết bị cổng và cung cấp quyền truy cập Internet của bạn và rằng bạn đang thực hiện tcpdump trên máy Mac: trừ khi bạn đã định cấu hình để làm như vậy theo một cách nào đó, lưu lượng truy cập internet của iPhone không đi qua máy Mac để máy Mac không nhìn thấy.
YLearn

Vâng, nó có ý nghĩa, có lẽ tôi đang thiếu cơ sở của mạng (nền điện). Vì vậy, nếu tôi hiểu bạn đang nói rằng tôi chỉ có thể thấy lưu lượng truy cập từ / đến mac của tôi hoặc được phát sóng. Nhưng trong trường hợp đó, tại sao tôi có thể thấy lưu lượng khi điện thoại đang kết nối với wifi? Trong trường hợp đó, tôi nhận 11:45:52.852928 IP 10.11.204.15.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/1 TXT "model=N51AP" (98)được một liên lạc giữa điện thoại (10.11.204.15) và 224.0.0.251, đây chắc chắn không phải là máy mac của tôi (tôi cho rằng đây là điểm truy cập).
phenetas 7/07/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.