田茂青
"""摘要:在網(wǎng)絡(luò)越來越發(fā)達(dá)的今天,通訊軟件也越來越多。例如國外的ICQ,國內(nèi)騰訊公司的QQ。QQ等通訊軟件需要通過因特網(wǎng)進(jìn)行通訊,而局域網(wǎng)通訊軟件不需要接入外網(wǎng)就能工作。系統(tǒng)采用P2P結(jié)構(gòu),用java語言進(jìn)行編碼,實(shí)現(xiàn)文本聊天、發(fā)送表情、文件傳輸?shù)裙δ埽脩艨稍O(shè)置自己的頭像,保存聊天內(nèi)容到本地,以便查看。另外為了防止隱私泄露,聊天信息加密后進(jìn)行傳輸。
P2P結(jié)構(gòu)無需專門服務(wù)器,每個(gè)用戶既作為服務(wù)器向其他用戶提供服務(wù),也作為客戶端發(fā)出請求。P2P結(jié)構(gòu)降低了軟件使用成本,適合中小型場景下的應(yīng)用。
關(guān)鍵詞:Java;對等網(wǎng)絡(luò);局域網(wǎng)通訊軟件
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)21-0087-02
1 需求分析
1.1 系統(tǒng)功能需求分析
局域網(wǎng)通訊軟件[1]能夠保證同一局域網(wǎng)內(nèi)的主機(jī)可以無障礙快速通訊,用戶之間可以私聊、群聊以及傳送文件;用戶的聊天信息可以保存到本地以便查看;聊天信息加密傳輸,保證用戶隱私不被泄露。
1.2 系統(tǒng)性能需求分析
實(shí)用性:為局域網(wǎng)聊天提供方便,方便用戶之間交流信息;操作簡單:系統(tǒng)界面簡潔明了,用戶可以輕松上手使用;適應(yīng)性:軟件系統(tǒng)開銷不大,一般配置的電腦可以輕松運(yùn)行;代碼可讀性好:文中的代碼將盡可能簡潔,易懂,方便二次開發(fā)。
1.3 技術(shù)可行性分析
Java 的Swing組件庫可以輕松地開發(fā)有好的用戶界面[2]。Java的KeyGenerator類實(shí)現(xiàn)了信息的加密和解密算法[3]。Socket屏蔽了復(fù)雜的底層協(xié)議,使得網(wǎng)絡(luò)編程變得簡單[4]。Java的跨平臺特性使得軟件可以運(yùn)行在不同的操作系統(tǒng)上,增加了軟件的適用范圍。
2 系統(tǒng)概要設(shè)計(jì)
2.1 系統(tǒng)功能模塊設(shè)計(jì)
根據(jù)系統(tǒng)功能,可將系統(tǒng)分為以下幾個(gè)模塊,如圖1所示。
2.2 系統(tǒng)界面設(shè)計(jì)
系統(tǒng)界面包括系統(tǒng)主程序界面,聊天界面,文件傳送界面,頭像設(shè)置界面,字體設(shè)置界面,表情選擇界面。
3 系統(tǒng)詳細(xì)設(shè)計(jì)
3.1 主界面
系統(tǒng)主界面如圖2所示,左邊為當(dāng)前局域網(wǎng)內(nèi)的用戶列表,右邊由各個(gè)功能按鈕組成。當(dāng)有文件發(fā)來時(shí),有新文件按鈕變亮,用于接收文件;點(diǎn)擊聊天窗口按鈕進(jìn)行私聊和群聊;點(diǎn)擊傳輸文件按鈕發(fā)送文件;點(diǎn)擊用戶查詢按鈕查詢當(dāng)前在線用戶;點(diǎn)擊軟件信息按鈕顯示軟件版本號;點(diǎn)擊系統(tǒng)設(shè)置按鈕進(jìn)行皮膚切換;點(diǎn)擊個(gè)人設(shè)置按鈕更改個(gè)人昵稱和頭像。
3.2 文件傳送模塊
文件傳送包括文件的發(fā)送和接收兩個(gè)部分,下面介紹一下基本流程
第一步,文件發(fā)送方在用戶列表選擇接收方,然后選擇要發(fā)送的文件,點(diǎn)擊發(fā)送按鈕。
第二步,發(fā)送方系統(tǒng)與接收方系統(tǒng)建立socket連接,發(fā)送文件名和文件大小信息給接收方系統(tǒng)。
第三步,接收方處理請求,選擇接收或者拒收文件。
第四步,如果接收方拒收文件,那么接收方系統(tǒng)返回拒絕消息;如果接收方接收文件,則返回給發(fā)送方系統(tǒng)確認(rèn)接收消息。
第五步,如果發(fā)送方系統(tǒng)收到拒絕接收消息,則斷開socket連接;如果發(fā)送方系統(tǒng)收到確認(rèn)接收的消息,則開始發(fā)送文件。
第六步,文件發(fā)送完畢后,發(fā)送方系統(tǒng)發(fā)送傳送完畢的消息告知接收方系統(tǒng)文件已經(jīng)發(fā)送完畢。
系統(tǒng)文件傳送消息格式如表1所示。
3.3 聊天模塊設(shè)計(jì)
聊天模塊包括群聊和私聊兩部分,下面介紹一下流程:
第一步,消息發(fā)送方選擇群聊或者私聊。
第二步,如果是發(fā)送群聊消息,發(fā)送方系統(tǒng)將群聊信息以組播的方式發(fā)送給局域網(wǎng)中的所有其他系統(tǒng);如果是私聊,發(fā)送方系統(tǒng)與接收方系統(tǒng)建立socket連接,然后對消息進(jìn)行DES加密,DES秘鑰再以RSA算法加密,將兩部分密文發(fā)送給接收方系統(tǒng)。
第三步,如果是群聊消息,接收方系統(tǒng)直接將消息顯示出來;如果是私聊消息,接收方首先用RSA私鑰解密DES秘鑰信息,然后用DES秘鑰解密聊天消息密文,最后系統(tǒng)將明文顯示出來[5]。
聊天界面如圖4所示:
參考文獻(xiàn):
[1] 臧海峰, 張力軍. 通訊軟件發(fā)展現(xiàn)狀的分析與研究[J]. 計(jì)算機(jī)與數(shù)字工程, 2008(2): 121-124,172.
[2] 戴歆. JavaSwing程序開發(fā)[J]. 軟件導(dǎo)刊, 2007(17): 138-139.
[3] 王飛. Java軟件保護(hù)技術(shù)研究及實(shí)現(xiàn)[D]. 北京: 北京郵電大學(xué), 2007.
[4] 孫一林, 彭波. Java網(wǎng)絡(luò)編程實(shí)例[M]. 北京: 清華大學(xué)出版社, 2003: 17-35
[5] 肖達(dá), 舒繼武, 薛巍, 等. 基于組密鑰服務(wù)器的加密文件系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J]. 計(jì)算機(jī)學(xué)報(bào), 2008(4):600-610.
2 網(wǎng)絡(luò)安全管理實(shí)施對策
2.1 在全網(wǎng)部署硬件防火墻
根據(jù)內(nèi)部網(wǎng)絡(luò)的需求,在內(nèi)網(wǎng)和外網(wǎng)之間架設(shè)硬件防火墻,隔離外網(wǎng)與內(nèi)網(wǎng)之間的訪問。在防火墻中打開IP和端口控制,設(shè)立DMZ區(qū),打開所需的常用網(wǎng)絡(luò)服務(wù)如HTTP、FTP等,這樣就可防范外部對內(nèi)部用戶的攻擊;及時(shí)查看防火墻的日志文件,對防火墻的管理可以指定獨(dú)立的管理IP。通過對防火墻規(guī)則的設(shè)置,使用戶需要的應(yīng)用協(xié)議才能通過,讓內(nèi)部網(wǎng)絡(luò)變得更安全。
2.2 利用專用服務(wù)器安裝網(wǎng)絡(luò)版殺毒軟件
采用網(wǎng)絡(luò)版殺毒軟件,可以對整個(gè)內(nèi)部網(wǎng)絡(luò)采取全面的病毒防護(hù)?,F(xiàn)在的網(wǎng)絡(luò)版殺毒軟件有瑞星和江民。他們都能對整個(gè)內(nèi)部網(wǎng)絡(luò)進(jìn)行防病毒統(tǒng)一管理,制作一定的防病毒策略,定時(shí)對全網(wǎng)系統(tǒng)進(jìn)行自動(dòng)查、殺病毒。網(wǎng)絡(luò)防病毒策略一般包括:升級和修補(bǔ),及時(shí)更新病毒程序包和殺毒軟件版本;備份,定時(shí)備份所需的重要數(shù)據(jù)以便在出現(xiàn)故障時(shí)進(jìn)行恢復(fù);安裝軟件時(shí)使用經(jīng)過確認(rèn)的軟件包;一旦某臺機(jī)器感染病毒,找到感染源并徹底清除;任何客戶端都不能自行卸載殺毒軟件,設(shè)立卸載密碼。
2.3 網(wǎng)絡(luò)安全漏洞修補(bǔ)
定期采用專用的漏洞掃描軟件對內(nèi)部網(wǎng)絡(luò)的專用服務(wù)器如WWW服務(wù)器、視頻會(huì)議服務(wù)器、數(shù)據(jù)庫服務(wù)器、FTP服務(wù)器等進(jìn)行漏洞掃描、分析和評估,并生成掃描報(bào)告。根據(jù)評估的安全風(fēng)險(xiǎn),及時(shí)修補(bǔ)漏洞及下載系統(tǒng)更新補(bǔ)丁,還要對重要數(shù)據(jù)進(jìn)行備份,以達(dá)到增強(qiáng)網(wǎng)絡(luò)的安全性的目的。
2.4 用戶級訪問控制
對所有用戶采用專用的用戶口令和訪問規(guī)則及權(quán)限,以確保只有合法用戶才能訪問合法資源。網(wǎng)絡(luò)管理員應(yīng)該對不同的設(shè)備設(shè)置不同的口令,而且設(shè)置的口令最好是大小寫字母、數(shù)字加特殊字符等,最好是8位以上的密碼,還需要定期更改密碼并將密碼記錄下來。
2.5 內(nèi)部網(wǎng)絡(luò)計(jì)算機(jī)認(rèn)證訪問
我們都知道,計(jì)算機(jī)的MAC地址在全球是唯一的,在網(wǎng)絡(luò)中對所有計(jì)算機(jī)進(jìn)行IP地址和MAC地址進(jìn)行綁定,就能夠標(biāo)識每臺計(jì)算機(jī)的使用人,只有經(jīng)過綁定的計(jì)算機(jī)的IP才能夠訪問網(wǎng)絡(luò)。這種綁定可以使用具有三層功能的核心交換來做,也可以使用軟件在專用服務(wù)器上做。利用這種綁定不但可以控制網(wǎng)內(nèi)用戶隨意更換IP的問題,還可以很容易找到某些存在問題的計(jì)算機(jī)。
2.6 網(wǎng)絡(luò)機(jī)房安全管理
網(wǎng)絡(luò)安全管理不僅僅要從計(jì)算機(jī)硬件、軟件和人員使用上管理到位,而且對機(jī)房也要納入安全管理范圍,并建立各種安全管理制度,如機(jī)房管理制度、設(shè)備管理制度、安全系統(tǒng)管理制度、病毒防范制度、操作安全管理制度、安全事件應(yīng)急制度、各服務(wù)器檢查備份制度等,建立相應(yīng)的各種檢查記錄文件,定期修訂不安全的因素,最終采取切實(shí)有效的措施保證制度的執(zhí)行。
通過以上對各種網(wǎng)絡(luò)安全技術(shù)的分析,我們給出了相應(yīng)的解決問題的對策,從技術(shù)和制度管理上保證了療養(yǎng)院信息網(wǎng)絡(luò)安全的運(yùn)行。我相信,隨著網(wǎng)絡(luò)安全管理人員的進(jìn)一步學(xué)習(xí)和實(shí)踐,并積極參加國內(nèi)外的各種網(wǎng)絡(luò)安全培訓(xùn),必將會(huì)進(jìn)一步提高我們信息網(wǎng)絡(luò)管理的安全,使網(wǎng)絡(luò)安全正常的運(yùn)行。
參考文獻(xiàn):
[1] Anne Carasik-Henmi. 防火墻核心技術(shù)精解[M]. 北京: 中國水利水電出版社, 2005:10-14.
[2] 戴浩, 楊林. 端端通信系統(tǒng)安全體系結(jié)構(gòu)[J]. 計(jì)算機(jī)安全, 2004(2).
[3] 譚兵, 吳宗文, 黃偉. 網(wǎng)絡(luò)入侵檢測技術(shù)綜述[J]. 電腦編程技巧與維護(hù), 2010(2).