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