無線局域網安全分析終端的設計與實現
2.1 處理器模塊
MPC8270基于PowerQUICC II結構,主要由高速PowerPC內核、系統接口單元SIU、通信處理單元CPM構成。它支持60 x總線和PCI/LOCAL總線,內核工作時鐘最高為450 MHz。MPC8270采用雙處理器結構,內部集成PowerPC處理器和CPM處理器。PowerPC完成對外設的配置;CPM用來完成通信處理,兩個處理器通過內部的雙端口RAM相互配合工作。由于CPM分擔了PowerPC的外圍工作任務,減少了PowerPC對底層通信任務的干預,因而提高了PowerPC的工作效率。MPC8270內部集成了微處理器和通信領域的常用外設控制組件,并且通信處理模塊中各通信控制器支持多種協議。
2.2 存儲模塊
選用了1片8 M×16 bit共16 MB數據寬度的Flash,Flash芯片型號為Intel 28F128J3D75,速度為150 ns。Flash固定為16 bit數據讀寫訪問模式,它只接MPC8270的低16 bit數據總線,用片選信號/CS0選中。SDRAM用于存放用戶的數據和代碼,為程序的運行和保存臨時文件提供空間。采用商用的144引腳的128 MB內存條,以MPC8270與60 x總線相連。數據寬度為64 bit。MPC8270提供了SDRAM控制器,故只需進行寄存器的設置即可。
2.3 數據通信模塊
數據通信接口包括1個兩線RS-232接口、2個以太網接口和2個PCI插槽。
RS-232接口是用來調試的控制口,只有收發兩根線;使用MPC8270的SMC模塊作為串口通信,配合MAX3222收發器實現硬件功能。
兩個10 M/100 Mb/s網口中,一個用于調試,另一個被應用程序用于發送和接收有線口數據包。使用MPC8270的FCC1和FCC2模塊作為網口通信,配合LXT972收發器實現硬件功能。
MPC8270處理器集成了PCI總線,如果選擇PCI接口的無線網卡,就不需要附加額外的芯片,網卡可以直接通過PCI插槽接入,非常方便。無線網卡是這個終端的重要設備,根據無線網卡采用的芯片組類型的不同,無線網卡可分為多種類型。而Linux并未針對每一種無線網卡都提供專屬的驅動程序,而是針對無線芯片組來提供驅動程序,所以不同類型的無線網卡所使用的驅動程序也是大不相同的,如Prism類型的無線網卡使用的驅動程序是Wlan-ng系列,而針對Atheros生產的AR系列則使用Madwifi-ng[4]。本設計則以芯片組型號為AR5212的PCI接口的無線網卡(TL-WN651G)為例。
3 終端的軟件設計
基于嵌入式Linux操作系統的軟件設計包括BootLoader引導程序的移植、Linux操作系統的移植和用戶程序的編寫。Boot-Loader引導程序完成硬件的初始化并將操作系統引導裝入SDRAM;Linux操作系統是整個軟件的支撐,包含有內存管理、設備驅動及TCP/IP通信協議等模塊;用戶程序完成無線數據包的捕獲和定制發送,實現支持安全分析系統中的被動分析和主動分析的接口模塊。下面重點介紹用戶程序的設計。
3.1 軟件設計的層次結構
終端的軟件設計思想:用Tcl的C/C++接口將編寫的低層網絡通信函數擴展成命令;基于這些擴展命令,用Tcl腳本語言編寫頂層接口模塊;主控節點也可以利用這些擴展命令編寫安全分析腳本。這樣的層次結構模型具有良好的擴展性與靈活性,而且修改接口模塊程序時,不需要重新編譯,直接就可以運行。圖3為軟件設計的層次結構模型。
驅動程序是整個模型的要點,它向上層提供訪問硬件層的接口。本文選擇針對AR5212無線芯片組的開源驅動程序Madwifi-ng[4](版本號為0.9.4),通過模塊的形式加載驅動程序。
網絡操作命令支撐庫為上層提供擴展命令的支持。Tcl的C/C++函數庫有清晰的接口,本文通過接口自定義新的Tcl命令,這些命令與網絡操作程序提供的C函數相關聯,從而實現對Tcl的擴展,成為一個以最大程度符合用戶需求的新工具。網絡操作程序直接訪問硬件驅動層,實現WLAN數據包的定制發送或捕獲;通過調用無線配置命令,實現網卡的配置。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論