無線網路 hostapd分析

2021-07-26 17:03:39 字數 1875 閱讀 6021

網上發現乙個哥們對hostapd,已經進行了一些大**已經進行了分析,可以去看看,寫的很不錯

hostapd作用介紹:

hostapd主要負責管理工作站(station)認證和接入。因此,它只處理管理幀(management frame),並不處理資料幀。即業務資料流量什麼的並不接受。

主要的核心函式為:

hostapd_driver_init(inte***ces

.iface

[i])

hostapd_setup_inte***ce(inte***ces

.iface

[i])

hostapd_driver_init //hostapd配置初始化

hostapd_setup_inte***ce // 初始化網絡卡,啟動

無線資料接收部分:

建立monitor(類似有線的混雜模式)監聽無線資料接收:

capwap_create_iface(drv, buf, nl80211_iftype_monitor, null,0);

eloop_register_read_sock(drv->monitor_sock,

handle_monitor_read,drv, null);

handle_monitor_read主要進行管理幀的處理,

802.11的管理幀主要有信標幀(beacon)、探測請求幀(probe request)、探測回應幀(probe response)、請求認證幀(authentication request)、認證回應幀(authentication response)、請求關聯幀(association request)和關聯回應幀(association response)等

handle_monitor_read: 處理接收的管理幀,分為local_mac 和 split_mac 兩種處理管理幀模式,但是協議並沒有明確規定處理端,因此各廠商對這部分功能的實現也是各有不同。

接收到的資料會帶有radiotap頭

radiotap頭部分析:

處理具體管理幀

wpa_supplicant_event –> 這裡是鏈結到 hostapd_wpa_event函式

管理幀處理

case event_rx_mgmt:

if (!

data

->rx_mgmt.frame)

break;

#ifdef need_ap_mlme

if (hostapd_mgmt_rx(hapd, &

data

->rx_mgmt) >

0) break;

#endif

/* need_ap_mlme */

hostapd_action_rx(hapd, &

data

->rx_mgmt);

break;

–> ieee802_11_mgmt 處理各個種類幀

在ieee802_11_mgmt裡可以看到相關路由器中的黑白名單之類的配置,具體操作時候可以呼叫到這裡。

ap的接入過程分析:

裡面還寫了一些相關ap的一些基礎知識。

ps : ap的作用就相當於交換機的功能,可以說它是無線交換機,實現無線資料的**功能。

怎麼將sta加入到ap中使用時庫libnl提供的相關介面,具體實施過程,我也沒去了解,具體可以看文件:

官方文件:

中文文件:

官方提供的文件裡,庫函式的函式說明查詢十分麻煩,建議直接去官網下個libnl的原始碼看,這樣會比較直觀比較快。

最後說下幾個可能會使用到名字,例如ssid,bssid,bss,ess等等

A 無線網路

accept 29 submit 107 time limit 1000ms memory limit 65536kb description 現在無線網路愈來愈普及,人們對網路質量的要求也愈來愈高。我們假設要在一條筆直的公路上安置無線網路接入點,以方便兩旁的居民上網。設公路的乙個終點為起點,那麼居...

Debian 無線網路

1.檢視網絡卡型號 lsmod grep ipw 2.安裝驅動 aptitude install firmware iwlwifi wireless tools modprobe ipw2200 重啟,網絡卡應該可以被探測到。3.使用方法如下 檢視網絡卡資訊 iwconfig 檢視附近可用的無線網路...

WIFI 無線網路

一般架設無線網路的基本配備就是無線網絡卡及一台ap,如此便能以無線的模式,配合既有的有線架構來分享網路資源,架設費用和複雜程度遠遠低於傳統的有線網路。如果只是幾台電腦的對等網,也可不要ap,只需要每台電腦配備無線網絡卡。ap為accesspoint簡稱,一般翻譯為 無線訪問節點 或 橋接器 它主要在...