我想知道如何iwlist命令掃描可用的無線網絡,在Linux中。我讀了它的源代碼,並且有一個使用SIOCSIWSCAN的ioctl調用來觸發掃描並且SIOCGIWSCAN獲得掃描結果。但是,這些系統調用如何捕獲和分析信標幀?iwlist()命令如何掃描無線網絡?
5
A
回答
10
iwlist(8)和其他無線工具爲支持Linux Wireless Extensions(WEXT)的不同無線設備驅動程序提供通用前端。每個驅動程序將向WEXT註冊處理程序,這些程序執行由該接口定義的設備特定操作。對於掃描,這兩個處理程序是觸發掃描(命令SIOCSIWSCAN)並獲得掃描結果(命令SIOCGIWSCAN)。設備完成掃描後,它通過netlink接口向WEXT發送SIOCGIWSCAN事件。然後,偵聽此套接字的應用程序可以發出SIOCGIWSCAN命令來獲取設備的掃描結果。請注意,該設備可自由執行掃描,無論它選擇何種方式。例如,它可以被動地偵聽信標或通過發送探測請求進行主動掃描。
以上是故意模糊的發送命令到設備的機制,因爲有傳統的方式(ioctl)和新的方式(netlink - cfg80211)。但要舉一個具體的例子,考慮傳統的方式。 ioctl調用在WEXT模塊中實現,但處理此命令的代碼在設備驅動程序中實現。當用戶空間應用程序創建一個ioctl時,WEXT查找設備驅動程序的處理程序並運行它。
相關問題
- 1. iwlist掃描輸出格式
- 2. Altbeacon掃描命令
- 3. Android網絡/無線掃描器 - 任何協助
- 4. 如何在該區域掃描網絡
- 5. Android掃描WiFi網絡
- 6. 掃描網絡Mac SDK
- 7. 掃描C類網絡Python
- 8. 掃描網絡鏈接
- 9. 柯達i1120網絡掃描
- 10. 安卓掃描WiFi網絡
- 11. 如何從命令行掃描短語?
- 12. 如何使用iwlist掃描隱藏的ssid?
- 13. 多久Android系統掃描無線網絡
- 14. Phonegap的連接API *會主動掃描無線網絡嗎?
- 15. ServiceStack.Redis.RedisResponseException:未知命令「掃描」
- 16. 無線上網的掃描碼
- 17. 如何檢測手機是否正在掃描或連接到無線網絡
- 18. 掃描無線電臺
- 19. 無線清單掃描
- 20. windows手機無線掃描
- 21. Python掃描網絡IP地址和mac
- 22. 以AP模式掃描網絡(hostapd)
- 23. 特定MAC地址掃描網絡 - Android
- 24. Java網絡服務掃描器
- 25. Raspberry Pi的Android和iOS掃描網絡?
- 26. Android:主動掃描WiFi網絡
- 27. Android:掃描Wifi網絡+可選列表
- 28. 網絡釣魚掃描程序幫助
- 29. 掃描YARA規則的整個網絡
- 30. WIA +網絡掃描儀,adf = 1頁
明白了.... ioctl調用是在驅動程序模塊中實現的,因此使用SIOCGIWSCAN調用ioctl的實際函數將調用驅動程序模塊中定義的函數。 – 2009-06-11 07:14:34