曾宇 廖偉 楊燦 唐靜
摘要:通過(guò)自建局域網(wǎng)聯(lián)到互聯(lián)網(wǎng)的單位,一般是用客戶端登錄或PORT認(rèn)證的方式實(shí)現(xiàn)實(shí)名上網(wǎng)。即針對(duì)客戶端登錄過(guò)程中出現(xiàn)的故障,提出上網(wǎng)故障自動(dòng)化解決的方案。首先搜集了用戶在使用客戶端登錄過(guò)程中遇到的所有故障,并將故障進(jìn)行分類,然后對(duì)自動(dòng)化解決故障進(jìn)行了詳細(xì)的功能設(shè)計(jì),最后將每個(gè)故障的自動(dòng)化解決方案編成代碼綁定到按鈕上,方便用戶操作。完成后的上網(wǎng)故障自動(dòng)化解決軟件被用于實(shí)際的故障解決中,得到了很好的反應(yīng)。用戶通過(guò)此軟件即可快速即時(shí)的解決其因客戶端上網(wǎng)的故障,大大減輕了技術(shù)部門的維護(hù)工作量。此軟件還可推廣到所有使用客戶端上網(wǎng)的用戶。
關(guān)鍵詞:客戶端;故障;自動(dòng)化
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)15-0030-03
Automation Solution of Client Log-On Trouble
ZENG Yu, LIAO Wei, YANG Chan, TANG Jing
(School of Computer Science, Leshan Normal University, Leshan 614000, China)
Abstract: The company that is connected to the Internet by self-built LAN generally realizes real name on the Internet by means of client log-on or PORT authentication. In this paper, aiming at the malfunctions occurred in the process of client log-on, we propose an automatic solution to resolve “Internet Trouble” occurred in the process of client log-on. First of all, we collected all the faults encountered by the user in the process of client log-on, sorted out the troubles, and then carried out the detailed functional design of the automation solution. Finally, the automation solution of each trouble was coded into the button to facilitate user operation. The completed “Internet Fault Automation Solution Software” is used in the actual troubleshooting, and it is well received. Through the software, users can solve the problem of the client's Internet connection quickly and promptly, which greatly reduces the maintenance workload of the technical department. The software can also be extended to the users who login to the internet by the client.
Key words: client; malfunctions; automation
1 背景
互聯(lián)網(wǎng)已成為現(xiàn)代人日常生活的重要組成部分。在我國(guó)網(wǎng)絡(luò)的發(fā)展過(guò)程中,出于成本和單位利益的考慮,大多數(shù)是單位自建了局域網(wǎng),再連接到互聯(lián)網(wǎng)上的使用方式。這樣有效地保障了單位利益并滿足了用戶對(duì)網(wǎng)絡(luò)的使用需求。自建局域網(wǎng)一般是通過(guò)客戶端或PORT認(rèn)證[1]的方式實(shí)現(xiàn)實(shí)名制,不論是哪種接入認(rèn)證的方式,都會(huì)遇到或多或少的問(wèn)題,而絕大部分的普通網(wǎng)絡(luò)用戶對(duì)計(jì)算機(jī)上網(wǎng)的了解還只停留在一般的操作水平,缺乏對(duì)計(jì)算機(jī)系統(tǒng)的深入了解和應(yīng)用,因此,普通用戶對(duì)解決登錄過(guò)程中出現(xiàn)的故障問(wèn)題存在較大困難。以學(xué)校為例,沒(méi)有專業(yè)知識(shí)的學(xué)生使用校園網(wǎng)客戶端登錄不上校園網(wǎng)時(shí),即使是最簡(jiǎn)單的故障,也不能自行處理,常常對(duì)此無(wú)計(jì)可施,只能尋求學(xué)校技術(shù)部門的技術(shù)支持。這不僅使得用戶的用網(wǎng)體驗(yàn)變差,而且一定數(shù)量級(jí)的用戶的問(wèn)題也極大地增加了網(wǎng)絡(luò)技術(shù)管理部門的工作負(fù)擔(dān)。
目前用戶在手動(dòng)解決客戶端登錄故障時(shí)主要有兩種方法:①查閱資料,按照步驟手動(dòng)修改系統(tǒng)設(shè)置;②尋找針對(duì)解決某一故障的腳本。而手動(dòng)解決故障主要存在以下缺陷:①登錄故障提示信息難以理解;②解決登錄故障對(duì)普通用戶的技術(shù)水平要求高;③登錄故障多樣,普通用戶難以自主進(jìn)行問(wèn)題排查。④問(wèn)題排查速度慢,效率低,解決方案沒(méi)有針對(duì)性。尋找解決故障的腳本存在以下缺陷:①常見故障才有解決的腳本;②腳本解決登錄故障的可靠性未知;③腳本的安全性未知。
針對(duì)上述在手動(dòng)解決客戶端登錄問(wèn)題中存在的缺陷,提出了自動(dòng)化解決方案,設(shè)計(jì)并實(shí)現(xiàn)了客戶端登錄故障排查軟件:客戶端助手。文章首先列舉并分析了所有已知的登錄故障問(wèn)題,設(shè)計(jì)出軟件功能界面;再逐一進(jìn)行功能設(shè)計(jì)和實(shí)現(xiàn),最后形成了自動(dòng)化解決客戶端上網(wǎng)問(wèn)題的軟件;并將此軟件投入了實(shí)際應(yīng)用中。
2 客戶端上網(wǎng)故障及分析
對(duì)于網(wǎng)線未連接故障,只有在排除了網(wǎng)卡所有故障后,提示用戶檢查網(wǎng)線、網(wǎng)線插口和交換機(jī)解決。而對(duì)于其他所有故障,都可以通過(guò)修改網(wǎng)卡或系統(tǒng)設(shè)置解決。
在客戶端登錄失敗后,會(huì)給出錯(cuò)誤信息,根據(jù)錯(cuò)誤信息修改客戶端配置或系統(tǒng)環(huán)境。簡(jiǎn)單的設(shè)置修改可以利用系統(tǒng)提供的可視化界面,主要手段是依靠網(wǎng)絡(luò)適配器修改客戶端的運(yùn)行環(huán)境。
其中,修改系統(tǒng)設(shè)置不僅要求用戶具有較高的系統(tǒng)操作素養(yǎng),而且有些設(shè)置選項(xiàng)不容易找到,選項(xiàng)繁多復(fù)雜,用戶難以判斷。在客戶端再次出現(xiàn)同樣的故障時(shí),需要重復(fù)之前的操作。使用批處理腳本,就能有效避免修改設(shè)置的重復(fù)性操作,對(duì)用戶的技術(shù)要求也不高。但是,編寫批處理腳本要求用戶具備一定的編程知識(shí),如果簡(jiǎn)單地從網(wǎng)上查閱到資料,寫出批處理語(yǔ)句,其安全性、有效性未知,很有可能造成一些不可挽回的誤操作,使得故障更加嚴(yán)重。而且,在一些特定功能故障的設(shè)置上,即使用戶擁有一定的編程素養(yǎng),也無(wú)法編寫出有針對(duì)性的處理腳本。
3 自動(dòng)化解決方案的設(shè)計(jì)
基于上述問(wèn)題,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了可自動(dòng)化解決客戶端登錄故障的軟件-客戶端助手。
3.1 客戶端助手的概要設(shè)計(jì)
該解決方案提供了一種建立在Windows平臺(tái)之上、給普通用戶快速解決登錄故障的軟件,由一鍵配置和按需配置兩部分組成。一鍵配置部分將用戶經(jīng)常遇見的登錄故障的解決方案編為一組,當(dāng)用戶使用客戶端登錄不上時(shí),可以選擇調(diào)用這一組操作,快速解決登錄故障。按需配置部分列舉出所有客戶端登錄故障,供用戶遇到具體故障時(shí)使用其對(duì)應(yīng)的解決方案。在解決故障的同時(shí),在窗體上顯示處理進(jìn)度,以及在處理完成后顯示處理結(jié)果??蛻舳酥纸缑嫒鐖D1所示。
用戶可以按照客戶端給出的故障提示信息,選擇對(duì)應(yīng)的解決方案。在一鍵配置中,包含用戶遇到頻率最高的五個(gè)故障的解決方案,供用戶快速解決故障,其中自動(dòng)獲取IP地址包含網(wǎng)卡設(shè)置為自動(dòng)獲取IP地址和啟用DHCP服務(wù)。
3.2 客戶端助手的詳細(xì)設(shè)計(jì)
在關(guān)閉網(wǎng)卡共享、禁用WiFi和修改網(wǎng)卡IP地址為自動(dòng)獲取之前,需要在NetworkControl類中調(diào)用getNetworkAdapter()方法取得電腦上的網(wǎng)卡適配器。所有處理故障的方法都返回bool類型,供主線程判斷故障處理成功與否,進(jìn)而給用戶故障成功解決或處理失敗的提示。
4 自動(dòng)化解決方案的實(shí)現(xiàn)
4.1 網(wǎng)絡(luò)配置自動(dòng)化解決的軟件實(shí)現(xiàn)
在排除系統(tǒng)可能存在的故障之前,需要先排查硬件故障,例如網(wǎng)線沒(méi)有插好,網(wǎng)線損壞等。使用Windows提供的System.Net.NetworkInformation類,可以進(jìn)行獲取網(wǎng)卡的連接狀態(tài)、修改網(wǎng)卡的設(shè)置等操作。
4.1.1關(guān)閉網(wǎng)卡共享的軟件實(shí)現(xiàn)
網(wǎng)卡屬性“Internet連接共享”中“允許其他網(wǎng)絡(luò)用戶通過(guò)此計(jì)算機(jī)的Internet連接來(lái)連接”復(fù)選框[2]為選中時(shí),網(wǎng)卡包含共享屬性,此時(shí)會(huì)出現(xiàn)客戶端會(huì)登錄失敗,或在登錄成功后幾分鐘后被網(wǎng)關(guān)強(qiáng)制注銷,同時(shí)彈出關(guān)閉Windows網(wǎng)絡(luò)共享提示框的情況??蛻舳酥衷谶@個(gè)問(wèn)題上,實(shí)現(xiàn)了主動(dòng)將網(wǎng)絡(luò)共享關(guān)閉的操作。使用NetSharingManager類來(lái)禁用網(wǎng)絡(luò)共享,代碼如下:
NetSharingManager manager = new NetSharingManager();
INetSharingEveryConnectionCollection connections = manager.EnumEveryConnection;
foreach (INetConnection con in connections) {
var sharingcfg = manager.INetSharingConfigurationForINetConnection[con];
sharingcfg.DisableSharing();}
4.2 禁用WIFI軟件的軟件實(shí)現(xiàn)
目前絕大部分大學(xué)宿舍都會(huì)使用WiFi共享軟件來(lái)共享有線網(wǎng)絡(luò)供移動(dòng)設(shè)備使用,而客戶端會(huì)隨時(shí)偵測(cè)WIFI共享軟件,若發(fā)現(xiàn)WiFi共享軟件運(yùn)行則立即注銷。而客戶端只是掃描網(wǎng)卡中是否安裝有WiFi共享軟件的驅(qū)動(dòng),所以只需要在網(wǎng)卡中禁用WiFi共享驅(qū)動(dòng)[3]。而通過(guò)Windows API發(fā)送消息難以獲取所需的信息,所以借助于更加方便的AutoHotKey軟件編寫腳本,再將腳本編譯為可執(zhí)行程序供客戶端助手調(diào)用,達(dá)到禁用WIFI共享軟件服務(wù)的目的,腳本代碼如下:
;WiFi共享軟件添加的服務(wù)名稱,dimArray數(shù)組中的服務(wù)都將被禁用
dimArray := ["ZK NET Driver", "WifiMaster NAT Driver", "leibao", "360"]
for index, element in listArray
for j, dim in dimArray
if (InStr(element, dim) > 0){
indexArray.Insert(index)
break}
loop %time%{
if(A_Index = time){
;~ ControlGet, ischecked, Checked, , SysListView321, %netPro%
;~ if (ischecked = 1)
ControlSend, SysListView321, {Space}, %netPro%
}else
ControlSend, SysListView321, {Down}, %netPro%
SetKeyDelay, 500, 200}
其中,time是網(wǎng)卡WiFi驅(qū)動(dòng)和dimArray數(shù)組中匹配的個(gè)數(shù)。
5 結(jié)束語(yǔ)
在介紹客戶端助手的功能結(jié)構(gòu)及系統(tǒng)流程過(guò)程中,詳細(xì)分析了用戶與軟件之間的交互場(chǎng)景,以及各模塊的具體實(shí)現(xiàn)方法,并且在真實(shí)的登錄故障環(huán)境下進(jìn)行了系統(tǒng)地測(cè)試。測(cè)試結(jié)果表明,該軟件設(shè)計(jì)合理,能夠簡(jiǎn)單、有效、快速地解決實(shí)際場(chǎng)景中絕大部分的客戶端登錄故障問(wèn)題,不需要用戶編寫任何代碼或者腳本,讓沒(méi)有編程基礎(chǔ)的計(jì)算機(jī)用戶也能輕松搞定客戶端登錄問(wèn)題,而不會(huì)因?yàn)榭蛻舳藛?wèn)題或電腦環(huán)境配置不當(dāng)而上不了網(wǎng)。
在實(shí)際的使用過(guò)程中,用戶表示該軟件功能設(shè)計(jì)合理,涵蓋的故障問(wèn)題廣泛,能夠有效解決問(wèn)題。該軟件的規(guī)?;褂?,不僅大大提升了網(wǎng)絡(luò)用戶的體驗(yàn)度,而且在一定程度上減輕網(wǎng)絡(luò)中心工作人員的工作壓力。在禁用WiFi軟件時(shí),沒(méi)有調(diào)用Windows原生API,而是使用AutoHotKey軟件編寫腳本進(jìn)行屬性配置,這一操作有低概率出現(xiàn)操作失敗的情況。此項(xiàng)難題將在后續(xù)的研發(fā)升級(jí)過(guò)程中進(jìn)行完善修正。
根據(jù)實(shí)際用戶使用狀況及滿意度調(diào)查顯示,77%的使用者表示:功能設(shè)計(jì)合理,涵蓋的故障問(wèn)題廣泛,能夠有效解決問(wèn)題。14%的使用者表示:獨(dú)立功能按鈕介紹不足,界面部分希望更個(gè)性化,但整體上令人滿意。6%的使用者表示:暫未遇到校園網(wǎng)登錄故障,但進(jìn)行了一些嘗試,對(duì)軟件的功能寄予很大期望,已下載本軟件留以待用。3%的用戶表示:存在極少數(shù)的登錄故障,無(wú)法使用一鍵配置進(jìn)行修復(fù),需要咨詢才能解決,希望后續(xù)版本繼續(xù)完善。綜上,該軟件用戶整體滿意度為97%,仍需要繼續(xù)改進(jìn)。
該軟件的設(shè)計(jì)為沒(méi)有計(jì)算機(jī)基礎(chǔ)的用戶解決登錄故障所遇到的困難,對(duì)計(jì)算機(jī)用戶解決登錄故障有重要的意義,同時(shí)可以為同類軟件的開發(fā)和研究提供一定的參考借鑒作用。
參考文獻(xiàn):
[1] 黃榮. 基于802.1x和Web Portal認(rèn)證技術(shù)的校園網(wǎng)用戶端點(diǎn)準(zhǔn)入控制系統(tǒng)的設(shè)計(jì)及應(yīng)用[J]. 福州大學(xué)學(xué)報(bào): 自然科學(xué)版, 2008(5): 673-676.
[2] 關(guān)智. 普通無(wú)線網(wǎng)卡實(shí)現(xiàn)軟AP共享上網(wǎng)功能的研究與探討[J]. 軟件工程師, 2011(5): 42-44.
[3] 張立建. Windows內(nèi)核關(guān)鍵技術(shù)研究及其在內(nèi)網(wǎng)安全中的應(yīng)用[D]. 北京: 北京郵電大學(xué), 2013.