久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

DNS服務(wù)器實(shí)驗(yàn)報(bào)告

時(shí)間:2019-05-14 13:48:23下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《DNS服務(wù)器實(shí)驗(yàn)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《DNS服務(wù)器實(shí)驗(yàn)報(bào)告》。

第一篇:DNS服務(wù)器實(shí)驗(yàn)報(bào)告

網(wǎng) 絡(luò) 工 程 實(shí) 驗(yàn)

實(shí)驗(yàn)名稱:DNS服務(wù)(系統(tǒng)自帶)

班級(jí):計(jì)科一班

組長(zhǎng):李柯穎(41112045)

組員:馬曉賢(41112033)馬彬(41112036)

劉永軍(41112012)高富雷(41112003)

張明東(41112016)

前 言

一、DNS服務(wù)器的概念

它是由解析器以及域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對(duì)應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。DNS使用TCP與UDP端口號(hào)都是53,主要使用UDP,服務(wù)器之間備份使用TCP。

DNS最早于1983年由保羅·莫卡派喬斯(Paul Mockapetris)發(fā)明;原始的技術(shù)規(guī)范在882號(hào)因特網(wǎng)標(biāo)準(zhǔn)草案(RFC 882)中發(fā)布。1987年發(fā)布的第1034和1035號(hào)草案修正了DNS技術(shù)規(guī)范,并廢除了之前的第882和883號(hào)草案。在此之后對(duì)因特網(wǎng)標(biāo)準(zhǔn)草案的修改基本上沒(méi)有涉及到DNS技術(shù)規(guī)范部分的改動(dòng)。

域名結(jié)構(gòu)

通常 Internet 主機(jī)域名的一般結(jié)構(gòu)為:主機(jī)名.三級(jí)域名.二級(jí)域名.頂級(jí)域名。Internet 的頂級(jí)域名由 Internet網(wǎng)絡(luò)協(xié)會(huì)域名注冊(cè)查詢負(fù)責(zé)網(wǎng)絡(luò)地址分配的委員會(huì)進(jìn)行登記和管理,它還為 Internet的每一臺(tái)主機(jī)分配唯一的 IP 地址。全世界現(xiàn)有三個(gè)大的網(wǎng)絡(luò)信息中心: 位于美國(guó)的 Inter-NIC,負(fù)責(zé)美國(guó)及其他地區(qū); 位于荷蘭的RIPE-NIC,負(fù)責(zé)歐洲地區(qū);位于日本的APNIC,負(fù)責(zé)亞太地區(qū)。

解析器

解析器,或另一臺(tái)DNS服務(wù)器遞歸代表的情況下,域名解析器,協(xié)商使用遞歸服務(wù),使用查詢頭位。

解析通常需要遍歷多個(gè)名稱服務(wù)器,找到所需要的信息。然而,一些解析器的功能更簡(jiǎn)單地只用一個(gè)名稱服務(wù)器進(jìn)行通信。這些簡(jiǎn)單的解析器依賴于一個(gè)遞歸名稱服務(wù)器(稱為“存根解析器”),為他們尋找信息的執(zhí)行工作。

服務(wù)器

提供DNS服務(wù)的是安裝了DNS服務(wù)器端軟件的計(jì)算機(jī)。服務(wù)器端軟件既可以是基于類linux操作系統(tǒng),也可以是基于Windows操作系統(tǒng)的。裝好DNS服務(wù)器軟件后,您就可以在您指定的位置創(chuàng)建區(qū)域文件了,所謂區(qū)域文件就是包含了此域中名字到IP地址解析記錄的一個(gè)文件,如文件的內(nèi)容可能是這樣的:primary name server = dns2(主服務(wù)器的主機(jī)名是)

serial = 2913(序列號(hào)=2913、這個(gè)序列號(hào)的作用是當(dāng)輔域名服務(wù)器來(lái)復(fù)制這個(gè)文件的時(shí)候,如果號(hào)碼增加了就復(fù)制)

refresh = 10800(3 hours)(刷新=10800秒、輔域名服務(wù)器每隔3小時(shí)查詢一個(gè)主服務(wù)器)

retry = 3600(1 hour)(重試=3600秒、當(dāng)輔域名服務(wù)試圖在主服務(wù)器上查詢更新時(shí),而連接失敗了,輔域名服務(wù)器每隔1小時(shí)訪問(wèn)主域名服務(wù)器)

expire = 604800(7 days)(到期=604800秒、輔域名服務(wù)器在向主服務(wù)更新失敗后,7天后刪除中的記錄。)

default TTL = 3600(1 hour)(默認(rèn)生存時(shí)間=3600秒、緩存服務(wù)器保存記錄的時(shí)間是1小時(shí)。也就是告訴緩存服務(wù)器保存域的解析記錄為1小時(shí))

二、設(shè)置類別

您可以把DNS服務(wù)器配置成以下3類之一: 1.主DNS服務(wù)器。2.輔DNS服務(wù)器。3.緩存DNS服務(wù)器。

三、DNS服務(wù)器的工作原理大致如下:

1、用戶在瀏覽器里輸入域名,例如www.tmdps.cn,這個(gè)郵件地址只能表明收郵件人在msserver.com.cn域上擁有一個(gè)賬戶。可是僅僅知道這些并不夠,因?yàn)殡娮余]件程序并不知道該域的郵件服務(wù)器地址,因此不能將這封郵件發(fā)送到目的地。而MX記錄就是專門為電子郵件程序指路的,在DNS服務(wù)器中添加MX記錄后電子郵件程序就能知道郵件服務(wù)器的具體位置(即IP地址)了。在主DNS服務(wù)器中添加MX記錄的操作步驟如下所述:

步驟:1 在DNS控制臺(tái)窗口中首先添加一個(gè)主機(jī)名為mail的主機(jī)記錄,并將域名mail.msserver.com.cn映射到提供郵件服務(wù)的計(jì)算機(jī)IP地址上。2 在“正向查找區(qū)域”目錄中右鍵單擊準(zhǔn)備添加MX郵件交換記錄的域名,選擇“新建郵件交換器(MX)”命令,如圖所示。

1.2.3

打開(kāi)“新建資源記錄”對(duì)話框,在“郵件服務(wù)器的完全合格的域名(FQDN)”編輯框中輸入事先添加的郵件服務(wù)器的主機(jī)域名(如mail.msserver.com.cn)。或單擊“瀏覽”按鈕,在打開(kāi)的“瀏覽”對(duì)話框中找到并選擇作為郵件服務(wù)器的主機(jī)名稱(如mail),如圖所示。

3.4 返回“新建資源記錄”對(duì)話框,當(dāng)該區(qū)域中有多個(gè)MX記錄(即有多個(gè)郵件服務(wù)器)時(shí),則需要在“郵件服務(wù)器優(yōu)先級(jí)”編輯框中輸入數(shù)值來(lái)確定其優(yōu)先級(jí)。通過(guò)設(shè)置優(yōu)先級(jí)數(shù)字來(lái)指明首選服務(wù)器,數(shù)字越小表示優(yōu)先級(jí)越高。最后單擊“確定”按鈕使設(shè)置生效,如圖所示。小提示:一般情況下“主機(jī)或子域”編輯框中應(yīng)該保持為空,這樣才能得到諸如user@msserver.com.cn之類的信箱地址。如果在“主機(jī)或子域”編輯框中輸入內(nèi)容(如mail),則信箱名將會(huì)成為user@mail.msserver.com.cn5 重復(fù)上述步驟可以添加多個(gè)MX記錄,并且需要在“郵件服務(wù)器優(yōu)先級(jí)”編輯框中分別設(shè)置其優(yōu)先級(jí)。

實(shí)驗(yàn)六 給DNS服務(wù)器做個(gè)快速體檢

你的內(nèi)網(wǎng)DNS服務(wù)器工作狀態(tài)正常嗎?大家常用的測(cè)試方法是查看內(nèi)網(wǎng)用戶是否能使用域名瀏覽網(wǎng)站,但這種測(cè)試方法并不全面和科學(xué)。其實(shí)最簡(jiǎn)單和便捷的方式是使用nslookup+Ping命令的組合方式,通過(guò)簡(jiǎn)單的兩步就能給本地企業(yè)網(wǎng)中的DNS服務(wù)器做個(gè)快速“體檢”。

步驟:

第一步:首先使用nslookup命令來(lái)測(cè)試本企業(yè)網(wǎng)的DNS服務(wù)器,查看它是否能正常將域名解析成IP地址。這里以www.tmdps.cn”

第六步:設(shè)置完畢后我們?cè)L問(wèn)www.tmdps.cn時(shí)就會(huì)自動(dòng)根據(jù)是在內(nèi)網(wǎng)還是外網(wǎng)來(lái)解析了。

命令提示符輸入netsh winsock reset重啟電腦

實(shí)驗(yàn)九 快速刪除電腦IPv6 DNS地址

隨著IPv6地址使用范圍的越來(lái)越廣,在電腦上進(jìn)行IPv6 DNS地址的配置和刪除也是常有的事,下面就介紹一種快速刪除電腦IPv6 DNS地址的方法:

步驟:

1.1 在Win 7的“開(kāi)始”中打開(kāi)“運(yùn)行”對(duì)話框,并在其中運(yùn)行“cmd”命令,點(diǎn)擊“確定”按鈕。

2.2 在“CMD”命令行中執(zhí)行命令“ipconfig/all”,查看電腦網(wǎng)卡上配置的ipv6 DNS地址。

執(zhí)行完上面的命令后就能看到電腦網(wǎng)卡的IPv6 DNS地址配置情況,如下圖。

3.4 然后在“CMD”命令行中執(zhí)行命令“netsh interface ipv6 delete dnsservers “本地連接”2001:dn8:8000:1:202:120:2:101”,就可以把電腦網(wǎng)卡上的ipv6 DNS地址刪除掉。

注意事項(xiàng)

刪除電腦IPv6 DNS地址的命令格式,必須按要求輸入,不能有任何的差錯(cuò),否則不能正確執(zhí)行。

實(shí)驗(yàn)十 怎樣讓別人無(wú)法修改DNS的內(nèi)容

DNS設(shè)置在TCP/IP中,我們可以通過(guò)禁用TCP/IP來(lái)實(shí)現(xiàn)。

1.1 首先點(diǎn)擊“開(kāi)始”菜單,點(diǎn)擊運(yùn)行。2 在打開(kāi)的運(yùn)行框中輸入gpedit.msc,按確定。

2.3 依次展開(kāi)“用戶配置管理模板網(wǎng)絡(luò)網(wǎng)絡(luò)連接”4 在右側(cè)窗口中找到“禁用TCP/IP高級(jí)配置”。

3.5 雙擊打開(kāi)將“已啟用”選中,確定。

然后再?gòu)?qiáng)制執(zhí)行組策略即可生效。

保護(hù)DNS服務(wù)器的幾種方法

DNS軟件是黑客熱衷攻擊的目標(biāo),它可能帶來(lái)安全問(wèn)題。下面是保護(hù)DNS服務(wù)器的幾種方法。

禁用區(qū)域傳輸

區(qū)域傳輸發(fā)生在主DNS服務(wù)器和從DNS服務(wù)器之間。主DNS服務(wù)器授權(quán)特定域名,并且?guī)в锌筛膶懙腄NS區(qū)域文件,在需要的時(shí)候可以對(duì)該文件進(jìn)行更新。從DNS服務(wù)器從主力DNS服務(wù)器接收這些區(qū)域文件的只讀拷貝。從DNS服務(wù)器被用于提高來(lái)自內(nèi)部或者互聯(lián)網(wǎng)DNS查詢響應(yīng)性能。

然而,區(qū)域傳輸并不僅僅針對(duì)從DNS服務(wù)器。任何一個(gè)能夠發(fā)出DNS查詢請(qǐng)求的人都可能引起DNS服務(wù)器配置改變,允許區(qū)域傳輸傾倒自己的區(qū)域數(shù)據(jù)庫(kù)文件。惡意用戶可以使用這些信息來(lái)偵察你組織內(nèi)部的命名計(jì)劃,并攻擊關(guān)鍵服務(wù)架構(gòu)。你可以配置你的DNS服務(wù)器,禁止區(qū)域傳輸請(qǐng)求,或者僅允許針對(duì)組織內(nèi)特定服務(wù)器進(jìn)行區(qū)域傳輸,以此來(lái)進(jìn)行安全防范。

使DNS只用安全連接

很多DNS服務(wù)器接受動(dòng)態(tài)更新。動(dòng)態(tài)更新特性使這些DNS服務(wù)器能記錄使用DHCP的主機(jī)的主機(jī)名和IP地址。DDNS能夠極大地減

輕DNS管理員的管理費(fèi)用,否則管理員必須手工配置這些主機(jī)的DNS資源記錄。

然而,如果未檢測(cè)的DDNS更新,可能會(huì)帶來(lái)很嚴(yán)重的安全問(wèn)題。一個(gè)惡意用戶可以配置主機(jī)成為臺(tái)文件服務(wù)器、Web服務(wù)器或者數(shù)據(jù)庫(kù)服務(wù)器動(dòng)態(tài)更新的DNS主機(jī)記錄,如果有人想連接到這些服務(wù)器就一定會(huì)被轉(zhuǎn)移到其他的機(jī)器上。

你可以減少惡意DNS升級(jí)的風(fēng)險(xiǎn),通過(guò)要求安全連接到DNS服務(wù)器執(zhí)行動(dòng)態(tài)升級(jí)。這很容易做到,你只要配置你的DNS服務(wù)器使用活動(dòng)目錄綜合區(qū)(ActiveDirectoryIntegratedZones)并要求安全動(dòng)態(tài)升級(jí)就可以實(shí)現(xiàn)。這樣一來(lái),所有的域成員都能夠安全地、動(dòng)態(tài)更新他們的DNS信息。

使用防火墻來(lái)控制DNS訪問(wèn)

防火墻可以用來(lái)控制誰(shuí)可以連接到你的DNS服務(wù)器上。對(duì)于那些僅僅響應(yīng)內(nèi)部用戶查詢請(qǐng)求的DNS服務(wù)器,應(yīng)該設(shè)置防火墻的配置,阻止外部主機(jī)連接這些DNS服務(wù)器。對(duì)于用做只緩存轉(zhuǎn)發(fā)器的DNS服務(wù)器,應(yīng)該設(shè)置防火墻的配置,僅僅允許那些使用只緩存轉(zhuǎn)發(fā)器的DNS服務(wù)器發(fā)來(lái)的查詢請(qǐng)求。防火墻策略設(shè)置的重要一點(diǎn)是阻止內(nèi)部用戶使用DNS協(xié)議連接外部DNS服務(wù)器。

在DNS注冊(cè)表中建立訪問(wèn)控制

在基于Windows的DNS服務(wù)器中,你應(yīng)該在DNS服務(wù)器相關(guān)的注冊(cè)表中設(shè)置訪問(wèn)控制,這樣只有那些需要訪問(wèn)的帳戶才能夠閱讀或修改這些注冊(cè)表設(shè)置。

HKLMCurrentControlSetServicesDNS鍵應(yīng)該僅僅允許管理員和系統(tǒng)帳戶訪問(wèn),這些帳戶應(yīng)該擁有完全控制權(quán)限。在DNS文件系統(tǒng)入口設(shè)置訪問(wèn)控制

在基于Windows的DNS服務(wù)器中,你應(yīng)該在DNS服務(wù)器相關(guān)的文件系統(tǒng)入口設(shè)置訪問(wèn)控制,這樣只有需要訪問(wèn)的帳戶才能夠閱讀或修改這些文件。

%system_directory%DNS文件夾及子文件夾應(yīng)該僅僅允許系統(tǒng)帳戶訪問(wèn),系統(tǒng)帳戶應(yīng)該擁有完全控制權(quán)限。實(shí)驗(yàn)十一 在windows07 查看DNS服務(wù)器屬性

步驟:

打開(kāi)“控制面板”里的“管理工具”

點(diǎn)擊“服務(wù)”,下拉列表框,找到“DNS client”

雙擊“DNS client”

可對(duì)其屬性查看,或進(jìn)行修改。

第二篇:DNS實(shí)驗(yàn)報(bào)告

DNS實(shí)驗(yàn)報(bào)告

實(shí)驗(yàn)環(huán)境:兩臺(tái)2003服務(wù)器。一臺(tái)xp客戶端 實(shí)驗(yàn)?zāi)康模涸趚p客戶端上可以正向反向拼通ip和域名 實(shí)驗(yàn)步驟:

第一步:在控制面板中添加DNS服務(wù)器,然后打開(kāi)正向查找區(qū)域

做輔助服務(wù)器的時(shí)候區(qū)域名稱必須和主機(jī)保持一致,下一步:在主機(jī)上把DNS服務(wù)器改成本地回環(huán)

然后在客戶端上把DNS改成主服務(wù)器的IP

然后用命令拼通,nslookup sjk.axl.com可以得到服務(wù)器的ip,用nslookup同樣也可以

反向和這個(gè)同理

第三篇:計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì) DNS 服務(wù)器 實(shí)驗(yàn)報(bào)告

DNS中繼服務(wù)器實(shí)驗(yàn)報(bào)告

07415

林珅(13)

071401 07415

劉磊(18)

071406 07415

李鴻(19)

071407

一、系統(tǒng)概述

1)運(yùn)行環(huán)境:windows XP

2)編譯:

Microsoft visual C++ 6.0 3)使用方法:

a)使用ipconfig/all,記下當(dāng)前DNS服務(wù)器,例如為211.68.71.4 b)使用下頁(yè)的配置界面,將DNS設(shè)置為127.0.0.1(本地主機(jī))c)運(yùn)行你的dnsrelay程序(在你的程序中把外部dns服務(wù)器設(shè)為前面記下的211.68.71.4)d)正常使用ping,ftp,IE等,名字解析工作正常

二、系統(tǒng)的功能設(shè)計(jì)

設(shè)計(jì)一個(gè)DNS服務(wù)器程序,讀入“域名-IP地址”對(duì)照表,當(dāng)客戶端查詢域名對(duì)應(yīng)的IP地址時(shí),用域名檢索該對(duì)照表,三種檢索結(jié)果:

1)檢索結(jié)果為ip地址0.0.0.0,則向客戶端返回“域名不存在”的報(bào)錯(cuò)消息(不良網(wǎng)站攔截功能)

2)檢索結(jié)果為普通IP地址,則向客戶返回這個(gè)地址(服務(wù)器功能)

3)表中未檢到該域名,則向因特網(wǎng)DNS服務(wù)器發(fā)出查詢,并將結(jié)果返給客戶端(中繼功能)

? 考慮多個(gè)計(jì)算機(jī)上的客戶端會(huì)同時(shí)查詢,需要進(jìn)行消息ID的轉(zhuǎn)換

三、模塊劃分

DNS服務(wù)器主模塊包含三個(gè)子模塊,分別如下:

1)命令行參數(shù)處理模塊:該模塊用來(lái)處理通過(guò)命令行提示符來(lái)啟動(dòng)這個(gè)DNS服務(wù)器時(shí)所輸入的命令行參數(shù),管理員通過(guò)設(shè)置不同的參數(shù)可以使DNS服務(wù)器顯示不同程度的提示和調(diào)試信息。所以這模塊主要是依照輸入的參數(shù)設(shè)置標(biāo)志數(shù)據(jù),以控制最后的各種信息的輸出。

2)本地解析模塊:本模塊是在本DNS服務(wù)器本地保存的曾經(jīng)解析過(guò)的或者需要屏蔽額域名和其對(duì)應(yīng)IP信息文件中查找從應(yīng)用程序來(lái)的請(qǐng)求解析的域名,在這個(gè)文件中查到需要的域名后取出對(duì)應(yīng)的IP地址,并構(gòu)造DNS應(yīng)答數(shù)據(jù)包返回給發(fā)送此DNS域名解析請(qǐng)求的應(yīng)用程序。

3)外部DNS服務(wù)器解析模塊:當(dāng)本地解析失敗時(shí),本DNS服務(wù)器會(huì)調(diào)用外部DNS服務(wù)器解析模塊。此模塊將應(yīng)用程序發(fā)送的DNS請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給外部DNS服務(wù)器,然后接收外部服務(wù)器返回的應(yīng)答信息,并根據(jù)這個(gè)信息給予應(yīng)用程序相應(yīng)的DNS應(yīng)答。

三個(gè)模塊與主模塊的關(guān)系圖如下,主模塊調(diào)用這三個(gè)并列的模塊,而本地解析模塊調(diào)用文件查找子模塊:

DNS服務(wù)器主模塊調(diào)用命令行參數(shù)處理模塊本地解析模塊半調(diào)用外部DNS服務(wù)器解析模塊調(diào)用文件查找子模塊

四、軟件流程圖

開(kāi)始創(chuàng)建套接字初始化接收緩沖命令行參數(shù)處理初始化設(shè)置UDP連接和套接字信息套接字綁定是否退出程序否接收UDPDNS數(shù)據(jù)包獲取DNS包頭參數(shù)是請(qǐng)求包DNS包類型應(yīng)答包域名格式轉(zhuǎn)換還原DNS數(shù)據(jù)包頭ID設(shè)置外部DNS應(yīng)答數(shù)據(jù)包向應(yīng)用程序發(fā)送DNS響應(yīng)數(shù)據(jù)包本地文件解析是找到對(duì)應(yīng)IP?否設(shè)置DNS包頭轉(zhuǎn)換DNS數(shù)據(jù)包頭ID設(shè)置外部DNS請(qǐng)求數(shù)據(jù)包向指定外部DNS轉(zhuǎn)發(fā)請(qǐng)求設(shè)置應(yīng)答結(jié)果發(fā)送DNS應(yīng)答結(jié)果清除socket關(guān)閉套接字結(jié)束

五、主要數(shù)據(jù)結(jié)構(gòu)

unsigned long upDNSaddr = inet_addr(DNS_SVR);

//外部DNS地址

unsigned short oID,nID,ID = 0,TYPE,CLASS,RDLENGTH,RDATA,flag,qdcount,ancount;

// oID,nID,ID為數(shù)據(jù)報(bào)ID // TYPE,CLASS,RDLENGTH,RDATA, flag,qdcount,ancount為報(bào)文的相應(yīng)標(biāo)志位

char initxt[100] = “C:dns.txt”,name[50];

// initxt[100]為配置文件路徑,name[50]為保存文件域名或IP int opt = 0,isfind = 0,TTL,len = 0,leng,strlen = 512;

//opt為用戶選項(xiàng),isfind標(biāo)志是否在本地文件找到記錄的布爾變量 // TTL為生存周期,len 接收的數(shù)據(jù)報(bào)長(zhǎng)度,leng發(fā)送的數(shù)據(jù)報(bào)長(zhǎng)度 //strlen為保存接收到的sockaddr的長(zhǎng)度

WSAData wsaData;

//套接口

WORD wVersionRequested;

//使用的套接口版本

struct sockaddr_in server,from,to,temp;

//server用于本地監(jiān)聽(tīng)DNS數(shù)據(jù)報(bào),from用于接收外部數(shù)據(jù)報(bào)

//to用于發(fā)送數(shù)據(jù)報(bào),temp是保存發(fā)送請(qǐng)求的瀏覽器信息

char sendbuf[256],recvbuf[256];

//發(fā)送緩存和接收緩存

char *ptr = recvbuf

//以ptr的增減來(lái)達(dá)到在數(shù)組中指針移動(dòng)的效果

六、測(cè)試用例以及運(yùn)行結(jié)果

a)測(cè)試本地解析功能

請(qǐng)求一個(gè)本地DNS對(duì)照表中已有的某一記錄,如2qq.cn:

在本地DNS對(duì)照表中找到記錄,將相應(yīng)的IP地址返回給用戶:

調(diào)試信息級(jí)別0:dnsrelay

調(diào)試信息級(jí)別1:dnsrelay –d

調(diào)試信息級(jí)別2:dnsrelay –dd

b)測(cè)試中繼功能:

請(qǐng)求一個(gè)本地DNS對(duì)照表中沒(méi)有的記錄,如www.tmdps.cn。本地DNS沒(méi)有找到相應(yīng)記錄,向外部web服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求,并接收相應(yīng)的應(yīng)答報(bào)文并轉(zhuǎn)發(fā)給用戶:

調(diào)試信息級(jí)別0:dnsrelay

調(diào)試信息級(jí)別1:dnsrelay –d

調(diào)試信息級(jí)別2:dnsrelay –dd c)

測(cè)試攔截功能:

請(qǐng)求一個(gè)不良網(wǎng)站,如www.tmdps.cn:

向用戶返回IP地址0.0.0.0,告知用戶“域名不存在”的報(bào)錯(cuò)信息:

調(diào)試信息級(jí)別0:dnsrelay

調(diào)試信息級(jí)別1:dnsrelay –d

調(diào)試信息級(jí)別2:dnsrelay –dd

d)請(qǐng)求一個(gè)不存在的www.tmdps.cn。當(dāng)外部web服務(wù)器找不到相應(yīng)的域名時(shí)返回超時(shí)信息,本地DNS服務(wù)器將此信息返回給用戶。

調(diào)試信息級(jí)別0:dnsrelay

調(diào)試信息級(jí)別1:dnsrelay –d

調(diào)試信息級(jí)別2:dnsrelay –dd

e)請(qǐng)求一個(gè)不合法的域名,如123:

本地DNS服務(wù)器返回給用戶“找不到該域名”的報(bào)錯(cuò)信息。

七、調(diào)試中遇到并解決的問(wèn)題

1)使用socket連接的時(shí)候,剛開(kāi)始只用了一個(gè)socket作為所有發(fā)送和接收的接口。在實(shí)際調(diào)試的過(guò)程中發(fā)現(xiàn)一個(gè)不能滿足軟件需求的實(shí)現(xiàn),所以用一個(gè)socket負(fù)責(zé)發(fā)送數(shù)據(jù)報(bào),另一個(gè)socket負(fù)責(zé)接收數(shù)據(jù)報(bào)。2)回應(yīng)報(bào)文中域名是使用偏移指針的方式實(shí)現(xiàn)的,這是由于在域名段寫入需要請(qǐng)求的域名時(shí)會(huì)與問(wèn)題報(bào)文中的域名字段重復(fù)從而造成不必要的浪費(fèi),用偏移指針的方式既可以防止重復(fù),也可以節(jié)省空間。

3)使用sendto函數(shù)時(shí),一開(kāi)始使用的是sizeof(sendbuf)來(lái)確定發(fā)送的數(shù)據(jù)報(bào)大小,但是實(shí)際操作中發(fā)現(xiàn)發(fā)送消息時(shí)只需要發(fā)送有用的部分,如果使用原來(lái)的方法會(huì)造成發(fā)送數(shù)據(jù)的冗余,需要精確確定發(fā)送數(shù)據(jù)的有效位數(shù)。

4)在編程過(guò)程中,對(duì)于指針的掌握不當(dāng)造成了多次錯(cuò)誤,例如在對(duì)于不同的標(biāo)志位要轉(zhuǎn)換成不同長(zhǎng)度的指針進(jìn)行賦值。

5)對(duì)于請(qǐng)求包的域名還原問(wèn)題,需要注意數(shù)組下標(biāo)與實(shí)際位數(shù)的區(qū)別。6)當(dāng)請(qǐng)求的域名為不帶www開(kāi)頭的域名時(shí),本機(jī)會(huì)自動(dòng)在其尾部追加“.localdomain”來(lái)形成新的域名,導(dǎo)致在本地解析工作中無(wú)法找到該域名對(duì)應(yīng)的記錄,從而轉(zhuǎn)發(fā)給外部web服務(wù)器,這與本地解析工作是相違背的。所以后來(lái)每當(dāng)在接收到寫有“.localdomain”域名的時(shí)候,強(qiáng)行進(jìn)行字符匹配并將其刪除,從而完成本地解析工作。

八、心得體會(huì)

本次大作業(yè)為實(shí)現(xiàn)一個(gè)DNS中繼服務(wù)器。通過(guò)完成本地域名解析、中繼功能以及不良網(wǎng)站攔截等基本的三個(gè)功能,來(lái)實(shí)現(xiàn)用戶訪問(wèn)外部服務(wù)器的需求。這次大作業(yè)的完成,需要我們閱讀并了解RFC 1035文檔。一開(kāi)始的時(shí)候?qū)FC完全沒(méi)有一個(gè)清晰地概念,只知道這是一個(gè)規(guī)格說(shuō)明,而且初讀其中的內(nèi)容也覺(jué)得一頭霧水。但后來(lái)在老師的提點(diǎn)下抓住了重點(diǎn),然后一遍一遍反復(fù)的閱讀,不懂的地方借助網(wǎng)絡(luò)和圖書(shū)資料,漸漸發(fā)現(xiàn)對(duì)DNS的原理和實(shí)現(xiàn)方法有了更加全面和深刻的理解,這對(duì)后期的程序編寫起到了非常大的幫助作用。

通過(guò)本次網(wǎng)絡(luò)實(shí)驗(yàn),對(duì)小型網(wǎng)絡(luò)應(yīng)用程序的實(shí)現(xiàn)有了一定程度的理解,同時(shí)更加熟悉了winsock函數(shù)庫(kù)。通過(guò)抓包分析UDP數(shù)據(jù)報(bào)文、DNS數(shù)據(jù)報(bào)文,對(duì)傳輸層和應(yīng)用層的數(shù)據(jù)包發(fā)送和接收等工作原理也有了更深的理解。

在本次大作業(yè)中,讓我感觸最深的就是這三年來(lái)編程實(shí)力的反映。在編程的過(guò)程中就不斷的被一些低級(jí)錯(cuò)誤影響了軟件實(shí)現(xiàn)的進(jìn)度,而且對(duì)在大一大二學(xué)到的知識(shí)點(diǎn),例如文件的讀取,不同進(jìn)制數(shù)的轉(zhuǎn)換等掌握不牢,導(dǎo)致需要花額外的時(shí)間去彌補(bǔ)以前遺忘的知識(shí)。在最終驗(yàn)收的階段,通過(guò)比較其他組同學(xué)的程序就可以很明顯的看出,自己程序的功能上比較單一,實(shí)現(xiàn)的方法也沒(méi)有他們來(lái)的精妙。繼而通過(guò)老師質(zhì)疑的幾個(gè)問(wèn)題,也可以發(fā)現(xiàn)我們的程序還存在許多不足,例如思考的方面不夠全面,思考的角度不夠多向。細(xì)節(jié)反應(yīng)一個(gè)程序的健壯性,而我們沒(méi)有盡可能的考慮每一個(gè)可能的情況,導(dǎo)致仍存在許多漏洞。所以這次的大作業(yè)告訴了我們,在以后的學(xué)習(xí)與實(shí)踐中,要時(shí)刻注意“細(xì)節(jié)”的重要性。這個(gè)不僅要在軟件分析的時(shí)候要注意,在編程的時(shí)候要注意,在調(diào)試測(cè)試的時(shí)候要注意,在最后維護(hù)階段也不能放松。這次的收獲想必對(duì)未來(lái)從事的網(wǎng)絡(luò)工作很有益處。

無(wú)論程序好還是壞,最重要就是親手實(shí)踐。借鑒別人的好代碼永遠(yuǎn)只是模范,只有自己動(dòng)手才會(huì)實(shí)現(xiàn)突破與創(chuàng)新。我們會(huì)在以后的學(xué)習(xí)與實(shí)踐中不斷提高自己的編程能力,日臻完善。

第四篇:襄陽(yáng)電信寬帶DNS服務(wù)器

襄陽(yáng)電信寬帶DNS服務(wù)器:

202.103.44.150

202.103.24.68

客服電話:10000

襄陽(yáng)網(wǎng)通(聯(lián)通)寬帶DNS服務(wù)器:218.104.111.122

218.104.111.114

客服電話:10010 襄陽(yáng)總公司:0710-3700663 襄陽(yáng)鐵通(移動(dòng))寬帶DNS服務(wù)器:61.232.206.102

61.232.206.100

61.234.145.102

客服電話:10050

襄陽(yáng)廣電寬帶DNS服務(wù)器:

10.0.20.1

10.0.20.3

客服電話:0710-3567110

第五篇:北郵計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)DNS服務(wù)器

北郵計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)DNS服務(wù)器 環(huán)境

操作系統(tǒng)隨意,語(yǔ)言python2.7

2.文件

Socket.py 說(shuō)明

完成緩存檢測(cè),確定是回應(yīng),還是轉(zhuǎn)發(fā),如果是回應(yīng),確定是本地回應(yīng)還是外部應(yīng)答轉(zhuǎn)發(fā)

import socket import mydic import charhandle import makeframe

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)port = 53

the_dic = mydic.get_web_ip()client_request = {} client_request_index = {} reverse_map = {} key_record = 0 client_wait = []

s.bind(('',port))

time_rest = 0 request_general = ''

print 'running' while True:

try:

msg ,(client,port)= s.recvfrom(1024)

except:

print 'Time out!'

continue

request = []

request = list(msg)

requre_web = charhandle.get_request(request[12:])

website = ''.join(requre_web)

if(port == 53):

answer = []

answer = list(msg)

print “Type:Remote Response”

print “remote answer is: ”

response_ip = msg[-4]+msg[-3]+msg[-2]+msg[-1]

char_ip = socket.inet_ntoa(response_ip)

print website + ' has the ip : '+char_ip

fre = mydic.storeForUpdate(website,char_ip)

print 'with the frequence of '+ str(fre)

###real_request = client_request[request[0]+request[1]]

for each_client in client_wait:

my_key = client_request[request[0]+request[1]+str(each_client)]

if client_request_index.get(my_key)!= None :

s.sendto(msg,client_request_index[my_key])

print “Response to ip and Client port:”

print client_request_index[my_key]

break

else:

print “Type: Client Request”

print “ip and port:”

print(client,port)

### requre_web = charhandle.get_request(request[12:])

### website = ''.join(requre_web)

print “Request website:”+website

if(the_dic.get(website)!= None):

print “Found in local cache:”

re_ip = the_dic.get(website)

print re_ip

fre = mydic.storeForUpdate(website)

print re_ip[0]+' with frequence '+str(fre)

zhen = makeframe.make(re_ip[0],msg)

s.sendto(zhen,(client,port))

else:

print “need to ask remote server”

key_record = key_record + 1

request_general = key_record

client_request[request[0]+request[1]+str(client)] = request_general

client_request_index[request_general] =(client,port)

if client not in client_wait:

client_wait.append(client)

# select authority DNS server as you wish

s.sendto(msg,('10.3.9.4',53))

time_rest = time_rest+1

try:

if(time_rest == 50):

print 'pay attention'

print '

#'

mydic.updateCache()

print '

#'

the_dic = mydic.get_web_ip()

time_rest = 0

except:

print 'not valid frequence'

print '--------------------' s.close()

Mydic.py 完成本地查詢,LRU算法維護(hù)本地緩存,socket.py第97行的time_request值可以確定更新緩存的頻率,可以直接輸出在dnsrelay.txt內(nèi),但是為了方便觀測(cè)變化,我輸出到了dnsrelaycopy.txt里面,運(yùn)行一段時(shí)間之后,可以去看看學(xué)習(xí)到的新條目

import pickle import os import threading A=[] d_web_ip = {} d_ip_web = {} update_dic = {}

data = open('dnsrelay.txt')for each_line in data:

try:

(ip,sitecopy)= each_line.split(' ',1)

(site,nothing)= str(sitecopy).split('n',1)

d_web_ip[site] = [ip,1]

d_ip_web[ip] = site

except:

print 'file error'

data.close()

try:

with open('newdnsrelay.pickle','wb')as newdnsrelay_file:

pickle.dump(d_web_ip,newdnsrelay_file)except IOError as err:

print 'File error:'+str(err)except pickle.PickleError as perr:

print 'Pickling error:'+str(perr)

def get_web_ip():

with open('newdnsrelay.pickle','rb')as f:

global update_dic

update_dic = pickle.load(f)

return update_dic.copy()

return(None)

def storeForUpdate(web_site, add = None):

global update_dic

if(update_dic.get(web_site)!= None):

add_frequen = update_dic[web_site]

add_frequen[1] = add_frequen[1] + 1

print web_site+' frequence incrase 1,with ip '+add_frequen[0]

return add_frequen[1]

else:

update_dic[web_site] = [add,1]

print 'record for a new site'

return 1

def updateCache():

global update_dic

m = update_dic.copy()

t = threading.Thread(target = my_thread,kwargs = m)

print 'ready to update local cache'

t.start()

t.join()

def my_thread(*argu,**arg):

frequence = []

remain_dic = {}

for each_key in arg:

tmp = arg[each_key]

if(tmp[1] not in frequence):

frequence.append(tmp[1])

if(tmp[0] == '0.0.0.0'):

remain_dic[each_key] = '0.0.0.0'

print 'various frequence:'

for each in frequence:

print 'have '+ str(each)

for each_key in remain_dic:

arg.pop(each_key)#enimilate ban

i = 0

while(i < 30):

max_frequence = max(frequence)

for each_key in arg:

tmp = arg[each_key]

if(tmp[1] == max_frequence):

remain_dic[each_key] = tmp[0]

i = i + 1

if(i == 30):

break;

frequence.remove(max_frequence)

if(not frequence):###no more

break;

updateFile(remain_dic)

def updateFile(new_dic):

f = open('dnsrelaycopy.txt','w')

for each_key in new_dic:

word = str(new_dic[each_key])+ ' ' + str(each_key)

f.write(word)

f.write('n')

new_dic[each_key] = [new_dic[each_key],0]

try:

with open('newdnsrelay.pickle','wb')as newdnsrelay_file:

pickle.dump(new_dic,newdnsrelay_file)

except IOError as err:

print 'File error:'+str(err)

except pickle.PickleError as perr:

print 'Pickling error:'+str(perr)

Makefram.py 成幀模塊,形成對(duì)外圍權(quán)威服務(wù)器的詢問(wèn)幀

import socket

def make(re_ip,msg):

tmp_list = []

for ch in msg:

tmp_list.append(ch)

tmp_list[4:12] = ['x00','x01','x00','x01','x00','x00','x00','x00']

tmp_list = tmp_list+['xc0','x0c','x00','x01','x00 ','x01','x00','x00','x02','x58','x00','x04']

dive_ip = socket.inet_aton(re_ip)

ch_ip = []

for each_ch in dive_ip:

ch_ip.append(each_ch)

tmp_list = tmp_list + ch_ip

re_msg = ''.join(tmp_list)

return re_msg

Charhandle.py 提取出報(bào)文中的url

def get_request(your_list):

my_list = []

new_list = []

my_list.extend(your_list)

re_list = []

thelen = ord(my_list[0])

try:

while thelen!= 0:

new_list = new_list + my_list[1:thelen+1]

my_list[0:thelen+1] = []

thelen = ord(my_list[0])

new_list.append('.')

except IndexError:

print “bao wen ge shi bu dui”

new_list.pop()

return new_list

原始的dnsrelay.txt老師給出了,自己去弄,把四個(gè)py文件放一個(gè)目錄下,再放一個(gè)dnsrelay.txt 然后,用python shell 打開(kāi) socket.py 從python shell 運(yùn)行,或者直接F5,記得把本地dns手動(dòng)指向本機(jī)。

P.S:本人親測(cè),蔣老師沒(méi)用過(guò)python,從頭到尾就是我講他聽(tīng),從不為難我,我說(shuō)有個(gè)LRU算法,他還說(shuō)我做的好!

如果有不懂的 聯(lián)系作者:302969722@qq.com 學(xué)妹優(yōu)先

下載DNS服務(wù)器實(shí)驗(yàn)報(bào)告word格式文檔
下載DNS服務(wù)器實(shí)驗(yàn)報(bào)告.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    WWW服務(wù)器配置實(shí)驗(yàn)報(bào)告

    信息科學(xué)與技術(shù)學(xué)院實(shí)驗(yàn)報(bào)告 課程名稱: 計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)教程 實(shí)驗(yàn)項(xiàng)目: WWW服務(wù)器配置 實(shí)驗(yàn)地點(diǎn): 指導(dǎo)教師: 日期: 2013/10/29 實(shí)驗(yàn)類型: 驗(yàn)證性實(shí)驗(yàn) (驗(yàn)證性實(shí)驗(yàn) 綜合性......

    FTP服務(wù)器架設(shè)實(shí)驗(yàn)報(bào)告

    FTP(File Transfer Protocol)是文件傳輸協(xié)議的簡(jiǎn)稱。FTP的主要作用就是讓用戶連接上一個(gè)遠(yuǎn)程計(jì)算機(jī)(這些計(jì)算機(jī)上運(yùn)行著 FTP服務(wù)器程序)察看遠(yuǎn)程計(jì)算機(jī)有哪些文件,然后把文件從遠(yuǎn)......

    Linux的使用與 DNS 服務(wù)器的配置與管理

    一、實(shí)驗(yàn)?zāi)康?1.DNS 的概念和原理 2.DNS 服務(wù)器的安裝 3.DNS 服務(wù)器的配置與管理 4.DNS 和 WINS 的結(jié)合使用 5.了解Linux操作系統(tǒng),學(xué)會(huì)IP配置,office軟件和萬(wàn)維網(wǎng)的使用,以及與......

    DHCP服務(wù)器配置的實(shí)驗(yàn)報(bào)告

    信息科學(xué)與技術(shù)學(xué)院實(shí)驗(yàn)報(bào)告 一、實(shí)驗(yàn)?zāi)康募耙?目的: 1.了解DHCP 服務(wù)的基本概念,工作原理 2.學(xué)會(huì)安裝DHCP服務(wù)器; 3.配置與管理DHCP服務(wù)器。 要求: ? 理解DHCP服務(wù)器和客戶......

    DNS-服務(wù)器的配置實(shí)驗(yàn)報(bào)告

    實(shí)驗(yàn)名稱: Win server 2003下管理配置DNS服務(wù)器 一.環(huán)境 運(yùn)行環(huán)境:Microsoft Virtual PC 操作系統(tǒng):TomatoWin2003_ENTv1.0 二.實(shí)驗(yàn)?zāi)康?1. 掌握DNS服務(wù)器的概念 DNS是域名服......

    dns管理軟件

    wddns是一套可通過(guò)web在線管理的智能DNS系統(tǒng),基于bind+mysql構(gòu)建開(kāi)發(fā),安裝方便,快速,讓你可在最短時(shí)間內(nèi)架構(gòu)一套DNS/智能DNS系統(tǒng).目前支持電信/網(wǎng)通/教肓網(wǎng)/移動(dòng)/鐵通/廣電/......

    DHCP服務(wù)器建立和設(shè)置實(shí)驗(yàn)報(bào)告[推薦5篇]

    DHCP 服務(wù)器 建立 與設(shè)置 實(shí) 驗(yàn) 報(bào)告 告 實(shí)驗(yàn)室名稱: 成績(jī):姓名學(xué)號(hào)班級(jí)試驗(yàn)臺(tái)號(hào)試 驗(yàn)組號(hào)實(shí)驗(yàn)日期實(shí)驗(yàn)名稱實(shí)驗(yàn)四 DHCP 服務(wù)器建立 實(shí)驗(yàn)五 多宿主 DHCP 服務(wù)器設(shè)置 實(shí)驗(yàn)?zāi)康?.....

    計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)報(bào)告——Web服務(wù)器的配置

    實(shí)驗(yàn)2 web服務(wù)器配置 一、實(shí)驗(yàn)?zāi)康模? 掌握如何使用windows 2000 server的IIS5.0配置出web服務(wù)器 二、實(shí)驗(yàn)內(nèi)容: 1、 創(chuàng)建一個(gè)web站點(diǎn),并且可以實(shí)現(xiàn)在別人的計(jì)算機(jī)上訪問(wèn)該站點(diǎn)......

主站蜘蛛池模板: 亚洲国产精品日韩av专区| 日本一区二区三区精品福利视频| 亚洲免费观看在线视频| 男女上下猛烈啪啪免费看| 亚洲高清国产拍精品网络战| 亚洲日韩精品a∨片无码| 在线亚洲午夜片av大片| 中文字幕人妻一区二区| 成人免费播放视频777777| 国产伦精品一区二区三区免费迷| 国产青草视频在线观看| 国产熟妇搡bbbb搡bbbb搡| 欧美日韩国产亚洲沙发| 特级毛片爽www免费版| 久久熟女| 亚洲aⅴ无码专区在线观看q| 亚洲日本一本dvd高清| 色77久久综合网| 国产果冻豆传媒麻婆| 国产精品视频一区二区亚瑟| 韩国三级中文字幕hd久久精品| 伊人无码一区二区三区| 亚洲色偷偷色噜噜狠狠99网| а√天堂资源中文在线官网| 亚洲乱码精品久久久久..| 麻豆果冻传媒精品国产av| 中文字幕一区二区三区四区五区| 国产无套内射久久久国产| 亚洲一区二区三区成人网站| 国产拍揄自揄免费观看| 国产3p露脸普通话对白| 亚洲av中文无码乱人伦| 狠狠色噜噜狠狠狠狠av不卡| 亚洲av中文无码乱人伦在线播放| 午夜性刺激在线视频免费| 国产女主播精品大秀系列| 亚洲综合色成在线观看| 亚洲爆乳aaa无码专区| 狠狠噜天天噜日日噜av| 国产又黄又潮娇喘视频| 亚洲成av人影院在线观看网|