2012-01-18 30 views
5

Tôi sẽ tạo thiết bị dò tìm thiết bị di động bằng máy tính bảng đơn (SBC) chạy hệ điều hành Linux. SBC sẽ có bộ điều hợp không dây USB/802.11. SBC sẽ là một máy chủ DHCP. Thiết bị di động sẽ tham gia vào mạng không dây (adhoc hoặc cơ sở hạ tầng, nó không quan trọng) của SBC. Khi thiết bị di động tham gia mạng, SBC sẽ phát hiện nó. Nó sẽ kiểm tra địa chỉ MAC của thiết bị di động đến với một tập hợp các địa chỉ được chấp nhận. Nếu có một trận đấu, SBC sẽ thực hiện một lệnh.Cách phát hiện khi nào các thiết bị không dây đã biết kết nối mạng LAN không dây của tôi trên Linux

Tôi có kiến ​​thức cơ bản về Linux. Tôi không thể viết kịch bản shell nhưng tôi biết C++/Qt. Tôi không biết bắt đầu từ đâu. Bạn có biết các tiện ích dòng lệnh hoặc thư viện có liên quan để sử dụng trong dự án này không?

P.S: Có lẽ tôi chỉ cần một cách để phát hiện khi danh sách khách hàng dhcp thay đổi. Cùng với lọc địa chỉ mac, điều này có thể hoạt động.

+0

Bạn phải tìm hiểu một chút về tập lệnh shell. Nếu bạn viết một deamon, bạn phải viết một kịch bản lệnh start và kill cho init.d. Vâng nó không khó nhưng bạn cần phải biết những điều cơ bản :-) – rekire

+0

Tôi có thể tạo một từ kịch bản bắt đầu/giết hiện có. Đó không phải là một vấn đề. – niw3

+0

Bạn nên cung cấp thêm một số chi tiết, ví dụ, loại phần mềm nào sẽ chạy trên SBC đó? Làm một cái gì đó như một phần mềm AP sẽ yêu cầu hostapd, mà tôi tin rằng có khả năng lọc MAC tích hợp. –

Trả lời

0

Bạn có thể sử dụng nmap để khám phá mạng của mình. Here bạn có thể tìm thấy một số ví dụ.

Sau đó, bạn nên phân tích cú pháp đầu ra của nó. Ví dụ:

while true; do 
    nmap -v -sT 192.168.0.0/24 | fgrep "YOUR_SEARCHED_IP" && \ 
    echo BINGO "YOUR_SEARCHED_IP" IS IN THE 192.168.0.0/24 NETWORK 
done 

nmap có tùy chọn -sn để bỏ qua kiểm tra cổng.

Thậm chí tốt hơn bạn có thể sử dụng ip neighbor show để xem địa chỉ IP mạng lân cận của bạn.

Hoặc bạn có thể sử dụng một ping kiểm tra đơn giản, như:

for ip in $(seq 1 254); do 
    ping -c 1 192.168.1.$ip>/dev/null && \ 
    echo “192.168.1.$ip is UP" 
done 

Và bạn có thể kết hợp nó với nslookup để xem tên máy chủ.

+0

Cảm ơn. Tuy nhiên, tìm kiếm nmap cho các cổng mở, do đó thiết bị di động phải có các cổng mở nếu không nó sẽ không được phát hiện. – niw3

+0

Vâng, nếu bạn làm một 'nmap -o $ IP_RANGE' nó báo cáo một cái gì đó giống như' Nmap quét báo cáo trên $ IP' sau đó trên dòng tiếp theo 'máy chủ là lên'. Nhưng hãy xem câu trả lời cập nhật của tôi. –

0

nmap kiểm tra lớp IP, nhưng không bắt buộc phải sử dụng thiết bị không dây để sử dụng.

Bạn cũng có thể sử dụng chế độ "Màn hình" trên giao diện không dây và/hoặc kết hợp với một chương trình nghe thích hợp, ví dụ: airodump-ng. Lưu ý rằng nếu mạng không dây sử dụng sự cô lập của máy khách, bạn có thể thấy ít khách hàng hơn là tham gia vào thực tế, và cũng lưu ý rằng, giống như Ethernet được chuyển mạch đúng cách, bạn sẽ không nhất thiết phải nhìn thấy các máy khách ở xa trong phân đoạn khác.