Bắt gói tin mạng LAN không dây trong Monitor Mode với iw
Tôi trước đây cho thấy hai cách để nắm bắt các gói tin mạng LAN không dây trong Ubuntu Linux: bằng cách sử dụng công cụ dòng lệnh iwconfig và sử dụng Kismet. Cả hai liên quan đến việc đưa các card mạng LAN không dây vào "chế độ màn hình", cho phép bạn xem và ghi lại tất cả các gói dữ liệu được gửi bởi các thiết bị WiFi khác gần đó. Điều này bao gồm các gói dữ liệu gửi giữa các thiết bị khác, một cái gì đó là không thể, trừ khi điện thoại ở chế độ màn hình.
Ở đây tôi xin giới thiệu một lựa chọn thứ ba: một lần nữa bằng cách sử dụng dòng lệnh trong Ubuntu Linux, nhưng với iw lệnh. Các iw lệnh là có nghĩa là để thay thế iwconfig. Tôi vẫn thích và sử dụng giao diện cũ của iwconfig, nhưng iw có vẻ là mạnh hơn rất nhiều để xem / cấu hình thông tin không dây.
Bắt đầu với iw
Đầu tiên phải nhận thức rằng iw phân biệt giữa các thiết bị không dây phần cứng LAN (lớp vật lý, được gọi là phy) và giao diện mạng được cấu hình để sử dụng phần cứng (ví dụ wlan0, tương tự như một giao diện eth0 Ethernet). Để xem danh sách các thiết bị, và các giao diện cho mỗi thiết bị:
Trong trường hợp của tôi (và nhiều khả năng cho các máy tính tiêu biểu nhất) phần cứng là phy0 và giao diện mạng của tôi là wlan0. Bạn có thể xem thông tin chi tiết về phần cứng sử dụng:
Có tầm quan trọng cho bước tiếp theo là chế độ giao diện / phần mềm hỗ trợ nên bao gồm nhập cảnh cho "màn hình", có nghĩa là phần cứng của bạn hỗ trợ chế độ màn hình. Nếu không có "màn" nhập cảnh, sau đó bạn sẽ không thể nắm bắt các dân tộc dữ liệu khác bằng cách sử dụng các bước tiếp theo.
Chụp ở chế độ Màn hình
Nếu thiết bị phần cứng của bạn hỗ trợ chế độ màn hình sau đó bạn phải thêm một giao diện màn hình được gọi là mon0.
Bạn có thể kiểm tra xem nó được thêm vào:
Chúng tôi sẽ chụp với giao diện mon0, vì vậy bạn có thể xóa các giao diện wlan0 bình thường:
Bây giờ cho phép giao diện mon0 bằng ifconfig:
Trước khi chụp, xác định tần số mạng LAN không dây, bạn muốn chụp trên. Bạn nên chọn các tần số dựa trên các kênh được sử dụng bởi các điểm truy cập lân cận. Tần số này được đưa ra trong MHz, ví dụ \ kênh 6 là 2.437.
2.4 GHz Wi-Fi channels (802.11b,g WLAN), Michael Gauthier / Wikimedia Commons / CC-BY-SA-3.0 /
Để kiểm tra xem giao diện của bạn ở chế độ màn hình và sử dụng tần số chính xác bạn có thể sử dụng iwconfig:
Bây giờ bạn có thể nắm bắt được, ví dụ sử dụng tcpdump:
Ctrl-C để ngăn chặn việc chụp ảnh, sau đó xem bằng Wireshark. Để hiển thị chọn LAN không dây khung trong Wireshark sử dụng các bộ lọc wlan và wlan_mgt. (Tóm tắt ngắn gọn của tôi về Wireshark và WLAN bộ lọc)
Quay trở lại chế độ quản lý
Nếu sau khi theo dõi bạn muốn để không thay đổi và tiếp tục sử dụng giao diện wlan0 trong chế độ quản lý (ví dụ kết nối đến AP), sau đó xóa các giao diện mon0 và thêm giao diện wlan0:
Điều gì có thể đi sai?
Nếu bạn nhận được lỗi với một số lệnh iw trên, sau đó:
Kiểm tra xem các thiết bị không dây là không mềm / cứng bị chặn bởi rfkill và mở khóa nó nếu nó là:
Hãy chắc chắn rằng bạn đang sử dụng giao diện chính xác / thiết bị. Trong ví dụ của tôi, tôi sử dụng phy0, wlan0 và mon0. Trân có thể khác nhau.
Nếu các lệnh làm việc, nhưng trong Wireshark bạn chỉ có thể xem các gói tin, hoặc để máy tính của bạn hoặc broadcast / multicast (nghĩa là bạn không thể nhìn thấy bất kỳ gói dữ liệu từ máy này sang máy tính khác, chẳng hạn như HTTP hoặc SSH), sau đó:
Hãy chắc chắn rằng các tần số bạn chọn đang được sử dụng bởi những người khác.
Kiểm tra xem thiết bị của bạn hỗ trợ chế độ màn hình (xem trong đầu ra của iw phy thông tin phy0). Một số card không dây không hỗ trợ chế độ màn hình, và thậm chí nếu họ làm, một số trình điều khiển không hỗ trợ nó.
https://sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw
Ở đây tôi xin giới thiệu một lựa chọn thứ ba: một lần nữa bằng cách sử dụng dòng lệnh trong Ubuntu Linux, nhưng với iw lệnh. Các iw lệnh là có nghĩa là để thay thế iwconfig. Tôi vẫn thích và sử dụng giao diện cũ của iwconfig, nhưng iw có vẻ là mạnh hơn rất nhiều để xem / cấu hình thông tin không dây.
Bắt đầu với iw
Đầu tiên phải nhận thức rằng iw phân biệt giữa các thiết bị không dây phần cứng LAN (lớp vật lý, được gọi là phy) và giao diện mạng được cấu hình để sử dụng phần cứng (ví dụ wlan0, tương tự như một giao diện eth0 Ethernet). Để xem danh sách các thiết bị, và các giao diện cho mỗi thiết bị:
$ iw dev
phy#0
Interface wlan0
ifindex 3
type managed
Trong trường hợp của tôi (và nhiều khả năng cho các máy tính tiêu biểu nhất) phần cứng là phy0 và giao diện mạng của tôi là wlan0. Bạn có thể xem thông tin chi tiết về phần cứng sử dụng:
$ iw phy phy0 info
Wiphy phy0
Band 1:
Capabilities: 0x172
HT20/HT40
...
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
software interface modes (can always be added):
* AP/VLAN
* monitor
...
Có tầm quan trọng cho bước tiếp theo là chế độ giao diện / phần mềm hỗ trợ nên bao gồm nhập cảnh cho "màn hình", có nghĩa là phần cứng của bạn hỗ trợ chế độ màn hình. Nếu không có "màn" nhập cảnh, sau đó bạn sẽ không thể nắm bắt các dân tộc dữ liệu khác bằng cách sử dụng các bước tiếp theo.
Chụp ở chế độ Màn hình
Nếu thiết bị phần cứng của bạn hỗ trợ chế độ màn hình sau đó bạn phải thêm một giao diện màn hình được gọi là mon0.
$ sudo iw phy phy0 interface add mon0 type monitor
Bạn có thể kiểm tra xem nó được thêm vào:
$ iw dev
phy#0
Interface mon0
ifindex 4
type monitor
Interface wlan0
ifindex 3
type managed
Chúng tôi sẽ chụp với giao diện mon0, vì vậy bạn có thể xóa các giao diện wlan0 bình thường:
$ sudo iw dev wlan0 del
Bây giờ cho phép giao diện mon0 bằng ifconfig:
$ sudo ifconfig mon0 up
Trước khi chụp, xác định tần số mạng LAN không dây, bạn muốn chụp trên. Bạn nên chọn các tần số dựa trên các kênh được sử dụng bởi các điểm truy cập lân cận. Tần số này được đưa ra trong MHz, ví dụ \ kênh 6 là 2.437.
$ sudo iw dev mon0 set freq 2437
Để kiểm tra xem giao diện của bạn ở chế độ màn hình và sử dụng tần số chính xác bạn có thể sử dụng iwconfig:
$ iwconfig mon0
mon0 IEEE 802.11bgn Mode:Monitor Frequency:2.437 GHz Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
Bây giờ bạn có thể nắm bắt được, ví dụ sử dụng tcpdump:
$ sudo tcpdump -i mon0 -n -w wireless.cap
Ctrl-C để ngăn chặn việc chụp ảnh, sau đó xem bằng Wireshark. Để hiển thị chọn LAN không dây khung trong Wireshark sử dụng các bộ lọc wlan và wlan_mgt. (Tóm tắt ngắn gọn của tôi về Wireshark và WLAN bộ lọc)
Quay trở lại chế độ quản lý
Nếu sau khi theo dõi bạn muốn để không thay đổi và tiếp tục sử dụng giao diện wlan0 trong chế độ quản lý (ví dụ kết nối đến AP), sau đó xóa các giao diện mon0 và thêm giao diện wlan0:
$ sudo iw dev mon0 del
$ sudo iw phy phy0 interface add wlan0 type managed
$ iw dev
phy#0
Interface wlan0
ifindex 5
type managed
$ iwconfig wlan0
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
Điều gì có thể đi sai?
Nếu bạn nhận được lỗi với một số lệnh iw trên, sau đó:
Kiểm tra xem các thiết bị không dây là không mềm / cứng bị chặn bởi rfkill và mở khóa nó nếu nó là:
$ rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
$ rfkill unblock 0
Hãy chắc chắn rằng bạn đang sử dụng giao diện chính xác / thiết bị. Trong ví dụ của tôi, tôi sử dụng phy0, wlan0 và mon0. Trân có thể khác nhau.
Nếu các lệnh làm việc, nhưng trong Wireshark bạn chỉ có thể xem các gói tin, hoặc để máy tính của bạn hoặc broadcast / multicast (nghĩa là bạn không thể nhìn thấy bất kỳ gói dữ liệu từ máy này sang máy tính khác, chẳng hạn như HTTP hoặc SSH), sau đó:
Hãy chắc chắn rằng các tần số bạn chọn đang được sử dụng bởi những người khác.
Kiểm tra xem thiết bị của bạn hỗ trợ chế độ màn hình (xem trong đầu ra của iw phy thông tin phy0). Một số card không dây không hỗ trợ chế độ màn hình, và thậm chí nếu họ làm, một số trình điều khiển không hỗ trợ nó.
https://sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw
Comments
Post a Comment