Chụp gói: lọc trên RX vs TX


8

Tôi gặp vấn đề về mạng trong đó các khung có MAC nguồn khớp với một trong các MAC nguồn của máy chủ của tôi đang đến máy chủ - một MAC trùng lặp hoặc vòng lặp rõ ràng hoặc vấn đề L2 khác.

Tôi tin rằng đây là tình huống vì các bảng MAC (bảng CAM) của cầu linux của tôi đăng ký MAC cục bộ (đối với máy ảo được lưu trữ) như trên cổng ngược dòng và nhật ký kernel hiển thị lỗi:

bridgename: received packet on bond0.2222 with own address as source address

Tôi muốn biết thêm chi tiết về các gói / khung "lừa đảo" này, nhưng tôi không thể tìm ra làm thế nào để loại bỏ chúng. Với tcpdump, bạn có thể lọc trên một MAC nguồn cụ thể ('ether src MAC'), nhưng điều này dựa trên các byte trong khung - không phải là khung có được "gửi" so với "nhận trong" hay không. Chúng tôi thường giả định một khung với MAC nguồn của chúng tôi có nghĩa là chúng tôi sẽ gửi nó ra, nhưng nếu nhận được một khung trùng lặp, nội dung sẽ trông giống hệt với bộ lọc.

Làm thế nào người ta có thể quan sát xem một khung hình đã được nhận so với truyền trong một gói chụp?


1
Không tcpdump -i <interface> inbound(hoặc "hướng ngoại") không hoạt động?

Trang người đàn ông dường như chỉ ra rằng giới hạn trong SLIP. Khi tôi thử nó chống lại bất kỳ các giao diện của tôi (loopback, ETH / em, trái phiếu, vlan, vòi ...) tcpdump nói: "tcpdump: inbound / outbound không được hỗ trợ trên linkType 1"
Joshua Miller

2
Nó không trả lời câu hỏi của bạn, nhưng sử dụng iptables và ulogd, bạn sẽ có thể có được một pcap chỉ với các gói thú vị trong đó.
lsmooth

sử dụng tcpdump -Lđể xem các giao diện được hỗ trợ,
tiếng Ba Tư

sử dụngngrep -d dev
tiếng Ba Tư

Câu trả lời:


7

Sử dụng --directiontùy chọn để tcpdump:

-Q direction
--direction=direction
       Choose send/receive direction direction for which packets should be
       captured. Possible values are `in', `out' and `inout'. Not available on
       all platforms.

1
Tùy chọn này chỉ xuất hiện với bản phát hành ổn định gần đây nhất của tcpdump - 4.6.2. Nhưng sau khi xây dựng nó trên Ubuntu, nó dường như phân biệt thành công giữa các khung trong và ngoài. Huzzah!
Joshua Miller

1
@JoshuaMiller Tôi vừa kiểm tra tcpdumptrang man trên Ubuntu 14.04 và một tùy chọn có cùng mô tả chính xác tồn tại, nhưng nó được gọi -Pchứ không phải -Q(và dạng dài không được đề cập).
kasperd

@kasperd Bạn nói đúng! tcpdump 4.5.1 thực sự có -P. Có lẽ chức năng không mới như tôi nghĩ ban đầu.
Joshua Miller

0

Với iptables, bạn có các 'chuỗi' khác nhau cho các gói đến và đi. Từ trang người đàn ông iptables (8):

... the chains INPUT and OUTPUT are only traversed for packets coming into 
the local host and originating from the local host  respectively.   Hence 
every  packet  only  passes  through one of the three chains (except 
loopback traffic, which involves both INPUT and OUTPUT chains) ...

iptables có thể thực hiện một số ghi nhật ký (-l), có thể cho bạn thấy những gì bạn cần. Nó có lẽ cũng có thể chuyển tiếp các bản sao của gói đến một giao diện để ghi nhật ký bằng các công cụ khác, nhưng tôi không có lý do để làm điều đó.

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.