Làm cách nào để bắt tất cả các gói đến vào NIC ngay cả những gói đó không thuộc về tôi


13

AFAIK, NIC nhận tất cả các gói từ dây trong Mạng cục bộ nhưng từ chối các gói đó mà địa chỉ đích của chúng không bằng ip của nó.

Tôi muốn phát triển một ứng dụng theo dõi việc sử dụng internet của người dùng. Mỗi người dùng có một địa chỉ IP cố định.

Tôi và một số người khác được kết nối với Công tắc máy tính để bàn không quản lý Ethernet nhanh 8 cổng 8 cổng DES-108

Như đã nói trước đó, tôi muốn nắm bắt tất cả các giao dịch từ tất cả người dùng, không chỉ những gói thuộc về tôi.

Tôi nên buộc NIC hoặc các thành phần khác nhận tất cả các gói như thế nào?


1
Mua một công tắc giá rẻ và được quản lý với giá khoảng 30 € và cho phép phản chiếu cổng trên liên kết đến cổng.
Max Ried

Câu trả lời:


27

AFAIK, NIC nhận tất cả các gói từ dây trong Mạng cục bộ nhưng từ chối các gói đó mà địa chỉ đích của chúng không bằng ip của nó.

Sửa lỗi: nó từ chối các gói mà địa chỉ MAC đích của chúng không bằng địa chỉ MAC của nó (hoặc multicast hoặc bất kỳ địa chỉ bổ sung nào trong bộ lọc của nó.

Các tiện ích chụp gói có thể đặt thiết bị mạng một cách tầm thường vào chế độ bừa bãi, nghĩa là kiểm tra trên được bỏ qua và thiết bị chấp nhận mọi thứ mà nó nhận được. Trong thực tế, đây thường là mặc định: với tcpdump, bạn phải chỉ định-p tùy chọn để không làm điều đó.

Vấn đề quan trọng hơn là liệu các gói bạn quan tâm thậm chí có được đưa xuống dây đến cổng đánh hơi của bạn hay không. Vì bạn đang sử dụng một công tắc ethernet không được quản lý, nên chúng gần như chắc chắn là không. Công tắc đang quyết định cắt tỉa các gói không thuộc về bạn từ cổng của bạn trước khi thiết bị mạng của bạn có thể hy vọng nhìn thấy chúng.

Bạn cần kết nối với một cổng giám sát hoặc phản chiếu được cấu hình đặc biệt trên một công tắc ethernet được quản lý để thực hiện việc này.


1
Hoặc một trung tâm Ethernet ... nếu bạn có thể tìm thấy một rỉ sét trên gác mái :) Tôi nghi ngờ có bất kỳ thứ gì cho 1000Base-T, Wikipedia nói rằng các trung tâm gigabit chỉ hỗ trợ một nửa các liên kết song công và hiện tại chúng không được dùng nữa.
chx

1
@chx, tất cả các trung tâm thực sự chỉ hỗ trợ một nửa song công. Cá nhân, tôi chưa bao giờ thấy một 1000Base-T.
Celada

Tôi tin rằng điều này có liên quan đến sự hấp thu chậm của Gigabit Ethernet - mặc dù tiêu chuẩn 802.3ab ra đời vào năm 1999, sự hấp thụ rất chậm cho đến 2003/2004 khi Intel lần đầu tiên phát hành chipset 875P với bus CSA chuyên dụng cho Gigabit Ethernet và sau đó vào năm 2004, PCI Express đã tiếp quản với băng thông đủ cho Gigabit Ethernet. Và sau đó, thiết bị chuyển mạch đã đủ rẻ.
chx

Bộ chuyển mạch Ethernet sẽ không luôn phát các Khung. Nó có bảng chuyển đổi riêng (chứa bản đồ cổng chuyển đổi và địa chỉ MAC) để hiển thị Khung. Nếu bảng không có mục cho MAC trong Khung, thì nó sẽ phát / làm ngập khung. Máy tính để bàn của bạn sẽ không bao giờ nhận được các khung khác. Như trong câu trả lời, bạn phải sử dụng công tắc đặc biệt để chụp tất cả các khung hình đến công tắc của bạn.
Valarpirai

8

Đầu tiên nói về các trung tâm ethernet (không phải các thiết bị chuyển mạch), các gói đã gửi có sẵn cho tất cả các máy chủ trên mạng con, nhưng các máy chủ không phải là người nhận dự định sẽ bị bỏ qua.

Rõ ràng, không mất nhiều thời gian để các mạng con bão hòa, vì vậy công nghệ chuyển đổi được sinh ra để giải quyết các vấn đề và một trong những điều họ đã làm là chuyển đổi mạng chỉ các gói được định tuyến cho máy chủ đó tới cổng đó (cộng với lưu lượng phát sóng andy ).

Điều này làm phức tạp việc giám sát / đánh hơi mạng vì bạn chỉ có thể đánh hơi các gói dành cho máy chủ của mình. Đây được coi là một điều tốt từ quan điểm bảo mật, nhưng từ quan điểm giám sát mạng không tốt lắm. Để làm cho việc giám sát mạng hoạt động, các nhà cung cấp thực hiện một tính năng gọi là phản chiếu cổng. Điều này phải được cấu hình trên bộ chuyển đổi mạng và liên kết bên dưới sẽ chỉ cho bạn đi đúng hướng cho các sản phẩm D-link. Bạn sẽ tìm thấy nó ở đâu đó trong phần mềm quản lý thiết bị chuyển mạch hoặc giao diện quản trị web. Nếu bạn không tìm thấy các tính năng này, thì chức năng có thể không được cung cấp trong thiết bị cụ thể đó.

http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring


2

Trước tiên, bạn cần chuyển NIC của mình sang chế độ lăng nhăng. Giả sử rằng giao diện NIC của bạn là eth0.

root@linux#ifconfig eth0 promesc

Nếu bạn đang sử dụng mạng chuyển mạch, việc đánh hơi của bạn sẽ giảm xuống miền va chạm kết nối với cổng chuyển đổi của bạn. Bạn có thể chạy macofđể áp đảo bảng chuyển tiếp của công tắc.

root@linux#macof -i eth0

Sau đó, bạn có thể sử dụng wiresharkhoặc tcpdumpđể nắm bắt tất cả lưu lượng truy cập.

root@linux#tcpdump -i eth0 -w outputfile

Nếu bạn không sử dụng mạng chuyển mạch, chỉ cần bật chế độ lăng nhăng và sử dụng tcpdump.


1
tcpdumpsẽ kích hoạt chế độ lăng nhăng cho bạn. Bạn không cần phải làm điều đó (và nhớ hoàn tác nó khi bạn hoàn thành) một cách thủ công.
Celada

0

Bạn đang phát minh lại bánh xe.

Giả sử bạn có một mạng đơn giản với các máy khách kết nối với các thiết bị chuyển mạch, với một cổng mặc định vào internet, thì bạn chỉ cần theo dõi trên thiết bị cổng mặc định đó. Đây sẽ là một điểm nghẹt thở để hiển thị tất cả lưu lượng giữa máy khách LAN và internet.

Tôi cho rằng lưu lượng khách LAN đến lưu lượng khách LAN không đáng quan tâm, vì với tất cả các địa chỉ IP bên trong cùng một mạng con IP thì lưu lượng cục bộ không chạm vào cổng mặc định.

Nếu bạn thực sự muốn xem tất cả lưu lượng truy cập, mỗi người dùng cần phải ở trong mạng IP của riêng họ và lưu lượng truy cập đến các mạng khác là thông qua cổng mặc định. Bạn có thể phân bổ a / 28 cho mỗi người và họ có thể có 14 IP cho chính họ.

Bộ định tuyến cấp nhà trung bình của bạn sẽ không xử lý phần lớn việc này, bạn sẽ cần khám phá bản phân phối tường lửa chuyên dụng. Cá nhân pfsense sẽ là mục tiêu của tôi, nhưng có nhiều lựa chọn.

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.