• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Linux網(wǎng)絡(luò)管理軟件的分析、設(shè)計(jì)與實(shí)現(xiàn)

      2015-04-29 02:05:07馮俊昌
      關(guān)鍵詞:局域網(wǎng)客戶端

      馮俊昌

      摘 要: 目前桌面使用的上網(wǎng)客戶端軟件大部分運(yùn)行在windows平臺(tái),而隨著Linux在桌面系統(tǒng)中所占份額日益提高,局域網(wǎng)內(nèi)Linux用戶的逐漸增多,Linux桌面的上網(wǎng)客戶端逐漸不能滿足用戶的需求,這在很大程度上限制了用戶使用Linux的積極性。 本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)在Linux桌面系統(tǒng)上可以登錄局域網(wǎng)認(rèn)證服務(wù)器的客戶端軟件,解決了目前Linux桌面用戶無法上網(wǎng)的難題,在局域網(wǎng)環(huán)境下可以很好的運(yùn)行。

      關(guān)鍵詞: Linux;認(rèn)證服務(wù)器;局域網(wǎng);客戶端

      中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)號(hào):A 文章編號(hào):2095-2163(2015)01-

      Abstract: With the rapid development of Linux, the number of users who use Linux in LAN increases. The condition that a majority of client software only suit Windows OS restricts the users enthusiasm for Linux. A client software based on Linux OS to connect Internet is designed and developed in this paper. It solves the problem the Linux OS cant connect Internet and works well in LAN.

      Keywords: Linux; Authentication Server; LAN; Client

      0引 言

      目前,大型的局域網(wǎng)都采用認(rèn)證用戶的上網(wǎng)機(jī)制,即客戶機(jī)在訪問互聯(lián)網(wǎng)時(shí)必需要登錄到認(rèn)證服務(wù)器,通過檢查用戶名和口令來決定局域網(wǎng)用戶對(duì)互聯(lián)網(wǎng)能否成功訪問。具體來說,就是在局域網(wǎng)用戶計(jì)算機(jī)上運(yùn)行客戶端程序,向認(rèn)證服務(wù)器發(fā)送認(rèn)證信息,認(rèn)證通過后,才可以訪問互聯(lián)網(wǎng)。

      由于用戶計(jì)算機(jī)大部分采用Windows桌面系統(tǒng),因此絕大多數(shù)公司開發(fā)的客戶端軟件都是面向Windows桌面的。但是隨著Linux桌面用戶的逐漸增多,因而亟需一個(gè)可以運(yùn)行在Linux桌面上的客戶端軟件,以滿足廣大用戶的上網(wǎng)需求。

      1工作原理

      經(jīng)過分析可知,局域網(wǎng)采用客戶端-認(rèn)證服務(wù)器的方式實(shí)施登陸,其首要考慮的因素就是方便管理和收費(fèi)。

      客戶端軟件在用戶計(jì)算機(jī)上收集用戶名和口令,以及IP地址和MAC地址等后,即將這些信息以特定的格式封裝成報(bào)文,發(fā)送給認(rèn)證服務(wù)器。認(rèn)證服務(wù)器收到這些信息后,就在其數(shù)據(jù)庫里查找該用戶是否欠費(fèi)的記錄,如果該用戶不曾欠費(fèi),就發(fā)送一個(gè)登錄成功的信息給用戶,隨后通知路由器允許該用戶接入互聯(lián)網(wǎng);如果沒有該用戶的記錄或者該用戶欠費(fèi),就發(fā)送一個(gè)認(rèn)證失敗的信息返回給用戶,路由器也會(huì)阻止該用戶通過,從而不能訪問互聯(lián)網(wǎng)。

      在客戶端方,主要的工作就是收集用戶的用戶名和口令,以及IP地址和MAC地址等信息,而后封裝成服務(wù)器可以識(shí)別的格式,為了防止篡改和冒充,還需要提供源認(rèn)證功能,并發(fā)送給認(rèn)證服務(wù)器??蛻舳私邮照J(rèn)證服務(wù)器發(fā)送的確認(rèn)信息,向用戶顯示登錄成功與否的消息。為了讓認(rèn)證服務(wù)器更好地管理上網(wǎng)的客戶機(jī),客戶端軟件還應(yīng)該定期向服務(wù)器發(fā)送存活信息,告知認(rèn)證服務(wù)器自己的在線狀態(tài),以便服務(wù)器更有針對(duì)性地維護(hù)列表[1-2]。

      2設(shè)計(jì)上網(wǎng)客戶端

      使用網(wǎng)絡(luò)嗅探軟件Wireshark,對(duì)Windows客戶端與認(rèn)證服務(wù)器之間的通信量進(jìn)行抓包并分析,由此得到了本單位認(rèn)證服務(wù)器所采用的通信協(xié)議的報(bào)文格式。

      根據(jù)認(rèn)證服務(wù)器的工作方式,研究設(shè)計(jì)的Linux上網(wǎng)客戶端包括6個(gè)模塊:用戶信息收集模塊、報(bào)文封裝模塊、信息解釋模塊、?;钅K、發(fā)送模塊和接收模塊, 其總體框架如圖1所示。

      由圖1可見,各個(gè)模塊的主要功能如下:

      (1) 用戶信息收集模塊

      ① 用戶輸入用戶名、口令以及登錄請(qǐng)求;

      ② 用戶輸入更改的新口令以及更改口令請(qǐng)求;

      ③ 用戶提交的注銷請(qǐng)求;

      ④ 收集用戶主機(jī)的IP地址和MAC地址等信息。

      (2) 報(bào)文封裝模塊

      ① 按照認(rèn)證服務(wù)器規(guī)定的報(bào)文格式將收集到的用戶信息進(jìn)行封裝;

      ② 采用合適的算法添加認(rèn)證數(shù)據(jù)。

      (3) 保活模塊

      定期收集認(rèn)證信息,并封裝成保活報(bào)文。

      (4) 信息解釋模塊

      ① 提取服務(wù)器響應(yīng)信息中的狀態(tài)碼;

      ② 按照服務(wù)器響應(yīng)信息中的狀態(tài)碼向用戶顯示相關(guān)的信息(登錄成功與否,口令修改,上網(wǎng)時(shí)間以及費(fèi)用)。

      (5)發(fā)送模塊

      從報(bào)文封裝模塊和保活模塊接收?qǐng)?bào)文,調(diào)用socket函數(shù)發(fā)送到認(rèn)證服務(wù)器。

      (6) 接收模塊

      ① 接收從認(rèn)證服務(wù)器發(fā)來的報(bào)文;

      ② 將報(bào)文遞交給上層模塊(?;钅K或信息解釋模塊)。

      3代碼實(shí)現(xiàn)

      根據(jù)OSI/RM的網(wǎng)絡(luò)參考模型,客戶端軟件工作在應(yīng)用層。研究采用廣泛使用的C語言,通過socket編程直接調(diào)用下層的TCP/IP協(xié)議棧[3-5]。

      3.1 認(rèn)證過程

      (1) 登錄過程

      當(dāng)用戶設(shè)置好IP地址、DNS服務(wù)器地址等值項(xiàng)后,由collect_info()函數(shù)讀取這些參數(shù)(包括IP地址、MAC地址、DNS服務(wù)器地址、默認(rèn)網(wǎng)關(guān)等),再使用SHA1函數(shù)把這些本機(jī)信息以及用戶名和口令生成一個(gè)160bits的散列值,而后由log_in()函數(shù)將這些信息以及散列封裝成一個(gè)登錄報(bào)文,并由send()函數(shù)發(fā)送到認(rèn)證服務(wù)器。此后,客戶端將一直處于接收阻塞狀態(tài),直到認(rèn)證服務(wù)器返回服務(wù)器響應(yīng)報(bào)文。根據(jù)響應(yīng)報(bào)文的類型,客戶端可分別作出如下各類反應(yīng):

      ① LOG_OK,登錄成功,則認(rèn)證服務(wù)器通過了該客戶機(jī)的認(rèn)證,可以上網(wǎng);

      ②LOG_PASSWD_ERR,口令錯(cuò)誤,認(rèn)證服務(wù)器拒絕對(duì)該客戶機(jī)的認(rèn)證;

      ③ LOG_USER_ERR,沒有該用戶名,認(rèn)證服務(wù)器拒絕該客戶機(jī)的認(rèn)證請(qǐng)求。

      (2) 修改口令過程

      password_change()函數(shù)收集用戶名和新口令以及相應(yīng)的SHA1散列值,封裝成更改口令報(bào)文,并由send()函數(shù)發(fā)送到認(rèn)證服務(wù)器。

      (3) 注銷過程

      log_out()函數(shù)把collect_info()函數(shù)收集到的客戶機(jī)信息以及SHA1函數(shù)計(jì)算的散列值封裝成注銷報(bào)文,也由send()函數(shù)發(fā)送到認(rèn)證服務(wù)器。

      (4) 主機(jī)保活過程

      keep_live()函數(shù)封裝?;顖?bào)文,每隔180秒定期由send()函數(shù)發(fā)送到認(rèn)證服務(wù)器,向認(rèn)證服務(wù)器告知自身的存活。

      3.2報(bào)文的數(shù)據(jù)結(jié)構(gòu)

      (1) 登錄用戶信息報(bào)文

      認(rèn)證算法采用常見的SHA1算法。

      3.3 安全性

      為了增加安全,減少非法篡改和盜用,研究將在客戶端登陸的全過程采用SSL保護(hù)。在認(rèn)證服務(wù)器上創(chuàng)建根證書,客戶端在初次安裝時(shí)就選擇下載該證書,并將該證書添加到“可信任的根證書”存儲(chǔ)區(qū)域??蛻舳伺c認(rèn)證服務(wù)器之間的通信則選用128位的AES加密,保證了客戶端與認(rèn)證服務(wù)器之間通信的機(jī)密性。

      4結(jié)束語

      Linux環(huán)境下的上網(wǎng)客戶端軟件,主要是根據(jù)認(rèn)證服務(wù)器與用戶主機(jī)之間已有的協(xié)議,通過設(shè)計(jì)恰當(dāng)?shù)哪K,定義合適的數(shù)據(jù)結(jié)構(gòu),采用C語言的socket網(wǎng)絡(luò)編程,很好地解決了Linux桌面用戶的上網(wǎng)問題。

      參考文獻(xiàn):

      [1]楊云江. 計(jì)算機(jī)網(wǎng)絡(luò)管理技術(shù)[M]. 北京:清華大學(xué)出版社,2005.

      [2]林云,施榮華. 校園網(wǎng)管理費(fèi)用計(jì)算方法的改進(jìn)[J]. 長(zhǎng)沙鐵道學(xué)院學(xué)報(bào)(社會(huì)科學(xué)版),2004(4):227-230.

      [3] W.Richard Stevens , Bill Fenner. UNIX網(wǎng)絡(luò)編程[M]. 北京:清華大學(xué)出版社,2006.

      [4]馮慶曦. 計(jì)算機(jī)網(wǎng)絡(luò)管理技術(shù)探析[J]. 電腦編程技巧與維護(hù),2012(10):48-49+52.

      [5]張海光. 淺談Linux下的多線程編程[J]. 中國(guó)科技信息,2006(3):56-57.

      猜你喜歡
      局域網(wǎng)客戶端
      基于VPN的機(jī)房局域網(wǎng)遠(yuǎn)程控制系統(tǒng)
      電子制作(2019年16期)2019-09-27 09:35:04
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      基于802.1Q協(xié)議的虛擬局域網(wǎng)技術(shù)研究與實(shí)現(xiàn)
      電子制作(2017年17期)2017-12-18 06:40:48
      局域網(wǎng)性能的優(yōu)化
      電子制作(2017年8期)2017-06-05 09:36:15
      客戶端空間數(shù)據(jù)緩存策略
      通過SoftEther玩《地牢圍攻2》
      宽城| 嘉定区| 肇庆市| 民县| 封丘县| 庄浪县| 平定县| 恩施市| 东山县| 金山区| 东港市| 从江县| 徐汇区| 巴林右旗| 丹寨县| 搜索| 锡林郭勒盟| 赤水市| 阿克苏市| 永寿县| 仙居县| 旅游| 淅川县| 舟曲县| 宜阳县| 额敏县| 昌宁县| 清河县| 玉龙| 林甸县| 乡宁县| 手机| 高邑县| 延吉市| 和林格尔县| 冷水江市| 烟台市| 柳河县| 洪江市| 大港区| 沧州市|