Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Cách sử dụng tính năng tiêm gói với mac80211¶
mac80211 hiện cho phép các gói tùy ý được đưa vào bất kỳ Chế độ giám sát nào giao diện từ vùng người dùng. Gói bạn đưa vào cần phải được soạn trong định dạng sau:
[tiêu đề radiotap]
[tiêu đề ieee80211] [ tải trọng ]
Định dạng radiotap được thảo luận trong ./Documentation/networking/radiotap-headers.rst.
Mặc dù nhiều tham số radiotap hiện đang được xác định, nhưng hầu hết chỉ có ý nghĩa xuất hiện trên các gói nhận được. Thông tin sau đây được phân tích từ tiêu đề radiotap và được sử dụng để kiểm soát việc tiêm:
IEEE80211_RADIOTAP_FLAGS
- Khung IEEE80211_RADIOTAP_F_FRAG sẽ bị phân mảnh nếu dài hơn
ngưỡng phân mảnh hiện tại.
IEEE80211_RADIOTAP_TX_FLAGS
IEEE80211_RADIOTAP_RATE
tốc độ kế thừa cho việc truyền tải (chỉ dành cho các thiết bị không có kiểm soát tốc độ riêng)
IEEE80211_RADIOTAP_MCS
- Tốc độ HT để truyền (chỉ dành cho các thiết bị không có điều khiển tốc độ riêng).
Ngoài ra một số cờ được phân tích cú pháp
IEEE80211_RADIOTAP_DATA_RETRIES
- số lần thử lại khi IEEE80211_RADIOTAP_RATE hoặc
IEEE80211_RADIOTAP_MCS đã được sử dụng
IEEE80211_RADIOTAP_VHT
- MC VHT và số luồng được sử dụng trong quá trình truyền (chỉ dành cho thiết bị
không có sự kiểm soát tỷ giá riêng). Ngoài ra các trường khác cũng được phân tích cú pháp
- trường cờ
IEEE80211_RADIOTAP_VHT_FLAG_SGI: sử dụng khoảng bảo vệ ngắn
- trường băng thông
1: gửi sử dụng độ rộng kênh 40 MHz
4: gửi sử dụng độ rộng kênh 80 MHz
11: gửi sử dụng độ rộng kênh 160 MHz
Mã tiêm cũng có thể bỏ qua tất cả các trường radiotap hiện được xác định khác tạo điều kiện phát lại trực tiếp các tiêu đề radiotap đã chụp.
Dưới đây là một ví dụ về tiêu đề radiotap hợp lệ xác định một số tham số
- 0x00, 0x00, // <-- phiên bản radiotap
0x0b, 0x00, // <- độ dài tiêu đề radiotap 0x04, 0x0c, 0x00, 0x00, // <- bitmap 0x6c, // <- tỷ lệ 0x0c, //<-- nguồn điện 0x01 //<-- ăng-ten
Tiêu đề ieee80211 xuất hiện ngay sau đó, ví dụ như cái này:
- 0x08, 0x01, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x13, 0x22, 0x33, 0x44, 0x55, 0x66, 0x13, 0x22, 0x33, 0x44, 0x55, 0x66, 0x10, 0x86
Cuối cùng là tải trọng.
Sau khi soạn thảo nội dung gói, nó được gửi bằng lệnh send()-ing đến một logic
giao diện mac80211 ở chế độ Màn hình. Libpcap cũng có thể được sử dụng,
(việc này dễ hơn việc thực hiện công việc gắn ổ cắm vào bên phải
giao diện), dọc theo các dòng sau::
- ppcap = pcap_open_live(szInterfaceName, 800, 1, 20, szErrbuf);
...
r = pcap_inject(ppcap, u8aSendBuffer, nLength);
Bạn cũng có thể tìm thấy liên kết đến ứng dụng tiêm hoàn chỉnh tại đây:
ZZ0000ZZ
Andy Green <andy@warmcat.com>