




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、DDNS培訓(xùn)文檔軟件部更新日期:2010.12.09oujunhe1、 什么是DDNS?為什么需要DDNS?2、 開源中對(duì)DDNS的實(shí)現(xiàn)3、如何添加對(duì)一個(gè)新的DDNS服務(wù)提 供商的支持4、 TBS中如何對(duì)DDNS進(jìn)行適配研發(fā)人員1小時(shí)1.了解DDNS2.可以DDNS方面的BUG培訓(xùn)目的培訓(xùn)對(duì)象培訓(xùn)講師學(xué)習(xí)重點(diǎn)培訓(xùn)課時(shí)1、DNS概念及作用概念: DNS是Domain Name System的縮寫, 中文意思:域名系統(tǒng)作用:根據(jù)域名得到域名所綁定的IP(這里所 綁定的IP都是被買斷的):數(shù)據(jù)包在Internet中穿梭,最終使用的是IP,而不是域名2. DDNS的概念及作用概念:Dynamic DN
2、S,即動(dòng)態(tài)DNS作用:跟DNS一樣(但是DDNS服務(wù)器中域名 所綁定的IP是會(huì)變化的)3. DDNS和DNS的區(qū)別, 8, 54百度買下了這個(gè)IP:8,你任何時(shí)候訪問8都是訪問百度。適合企業(yè)或需要固定IP的用戶使用,相對(duì)DDNS來說,花的錢要多的多54只是很偶然的跟綁在一起,下一次就是另一個(gè)IP了,也就是說所綁定的IP是會(huì)變的,這也是為什么叫動(dòng)態(tài)DNS的原因。DNS:DDNS:4 為什么需要DDNS買一個(gè)固定IP,一個(gè)月動(dòng)輒幾千塊錢!注冊(cè)一個(gè)普通的域名,由DDNS服務(wù)提供商提供域名-IP查詢,一年也就幾十大洋,多也不超過幾百5. 常見的DDNS服務(wù)提供商 2. 3. 4. 5. 6. 7. 5
3、.1 服務(wù)器:認(rèn)證信息:用戶名/密碼啟動(dòng)命令:inadyn -u -p -a -dyndns_system 認(rèn)證格式(http):(見右上角抓包)認(rèn)證成功的標(biāo)志:HTTP/1.1 200 OKDate: Sat, 11 Dec 2010 02:23:52 GMTServer: ApacheContent-Type: text/plainConnection: closegood 145.2 服務(wù)器:認(rèn)證信息:用戶名/密碼啟動(dòng)命令:inadyn -u -p -a -dyndns_system 認(rèn)證格式(http):(見右上角的抓包)綁定成功的標(biāo)志:HTTP/1.1 200 OKrnServer:
4、 nginxrnDate: Fri, 10 Dec 2010 06:19:58 GMTrnContent-Type: text/plain;charset=UTF-8rnConnection: closernContent-Length: 19rngood 1rn5.3 服務(wù)器:認(rèn)證信息:密碼啟動(dòng)命令:inadyn -a -p -dyndns_system 認(rèn)證格式(http):(見右上角抓包)認(rèn)證成功的標(biāo)志:HTTP/1.1 200 OKrnConnection: closernDate: Fri, 10 Dec 2010 11:22:00 GMTrnServer: Microsoft-II
5、S/6.0rnX-Powered-By: ASP.NETrnContent-Type: text/htmlrnHost now points to 1rn5.4 服務(wù)器:ClusterL認(rèn)證信息:Email地址/密碼認(rèn)證格式(http):例如:5.5 這個(gè)就是花生殼啦(右上角是更新過程抓到的包)這個(gè)DDNS的協(xié)議相對(duì)復(fù)雜點(diǎn),并且注冊(cè)了專利的,有興趣可以參考下面這個(gè)鏈接:5.6 這個(gè)是有錢人使用的DDNS服務(wù)提供商,不說5.7 服務(wù)器:認(rèn)證信息:hash值啟動(dòng)命令:inadyn -a , -dyndns_system 認(rèn)證格式(http):(見右上角抓包) 認(rèn)證成功的標(biāo)志:(服務(wù)器反饋消息中有W
6、AN口的IP則算成功了)如何獲取hash值:1.用你的注冊(cè)的帳號(hào)登錄 2.點(diǎn)擊網(wǎng)頁左邊菜單 Dynamic DNS 3.找到你注冊(cè)的域名,點(diǎn)擊相應(yīng)域名所在行的Direct URL超鏈接4.復(fù)制地址欄中?后面的部分:?VEk5b1BVTVRTTUlBQUFSQmNJMDo0OTg1MTg26. 開源怎么實(shí)現(xiàn)DDNS(以inadyn為例)步驟1、2在tcp_initialize函數(shù)中完成步驟3在http_client_transaction函數(shù)中完成步驟4通過函數(shù)指針p_rsp_ok_func調(diào)用相應(yīng)的判斷函數(shù)完成(以上均在do_update_alias_table函數(shù)中完成)7. IP更新的過程
7、(使用開源inadyn完成3322用戶的IP更新請(qǐng)求)DDNS服務(wù)器:用戶名/密碼: tongweitest/12345我注冊(cè)的域名: 更新請(qǐng)求命令:inadyn -u tongweitest -p 12613 -a -dyndns_system 7. IP更新的過程(1)(使用開源inadyn完成3322用戶的IP更新請(qǐng)求)inadyn -u tongweitest -p 12613 -a -dyndns_system 根-dyndns_system指定的 在dyndns.c的全局變量dns_system_table中查找對(duì)應(yīng)的項(xiàng),最終會(huì)找到 DYNDNS_3322_DYNAMIC所在的項(xiàng)。
8、查找過程在get_dyndns_system_handler中完成7. IP更新的過程(2)(使用開源inadyn完成3322用戶的IP更新請(qǐng)求)找到DYNDNS_3322_DYNAMIC所在的項(xiàng)后,就可以找到HTTP格式構(gòu)造函數(shù)和綁定是否成功的判斷函數(shù):DYNDNS_3322_DYNAMIC, , &dyndns_org_dynamic, (DNS_SYSTEM_SRV_RESPONSE_OK_FUNC)is_dyndns_server_rsp_ok, (DNS_SYSTEM_REQUEST_FUNC) get_req_for_3322org_server, DYNDNS_MY_IP_SER
9、VER, DYNDNS_MY_IP_SERVER_URL, DYNDNS_3322_MY_DNS_SERVER, DYNDNS_3322_MY_DNS_SERVER_URL, NULL ,7. IP更新的過程(3)(使用開源inadyn完成3322用戶的IP更新請(qǐng)求)通過get_req_for_3322org_server函數(shù)來構(gòu)造請(qǐng)求更新所需要的HTTP格式:GET /dyndns/update?system=dyndns&hostname=&myip=1&wildcard=OFF&mx=&backmx=NO&offline=NO HTTP/1.0rnHost: rnAuthorizatio
10、n: Basic dG9uZ3dlaXRlc3Q6MTI2MTM=rnrnUser-Agent: inadyn/1.96 rn其中,Authorization所在行紅色標(biāo)注的部分為經(jīng)過base64編碼后的密碼7. IP更新的過程(4)(使用開源inadyn完成3322用戶的IP更新請(qǐng)求)通過is_dyndns_server_rsp_ok函數(shù)對(duì)服務(wù)反饋的結(jié)果判斷綁定操作是否成功對(duì)于3322這個(gè)提供商來說,只要反饋的結(jié)果中有文字good或nochg就表示綁定是成功的,否則就是失敗8. 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(以在inadyn中加dtdns為例)代碼路徑:版本:207967步驟:1.
11、增加一個(gè)dtdns的枚舉類型 2.把必要的字符串定義成宏 3.定義更新時(shí)需要的HTTP格式 4.聲明HTTP格式構(gòu)造函數(shù)及對(duì)反饋進(jìn)行處理的函數(shù) 5.定義HTTP格式構(gòu)造函數(shù) 6.定義對(duì)反饋進(jìn)行處理的函數(shù) 7.注冊(cè)新服務(wù)8.1 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(1)在dyndns.h中增加一個(gè)dtdns的枚舉類型:typedef enum DYNDNS_DYNAMIC, DYNDNS_STATIC, DYNDNS_CUSTOM, DYNDNS_DEFAULT, FREEDNS_AFRAID_ORG_DEFAULT, DYNAMIC_DTDNS, ZONE_EDIT_DEFAULT, CUS
12、TOM_HTTP_BASIC_AUTH, NOIP_DEFAULT, EASYDNS_DEFAULT, DYNDNS_3322_DYNAMIC, LAST_DNS_SYSTEM = -1 DYNDNS_SYSTEM_ID;8.2 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(2)在dyndns.h中把必要的字符串定義成宏:/dtdns define#define DTDNS_SCRIPT /api/autodns.cfm#define DTDNS_HOSTNAME %s#define DTDNS_PASSWORD %s#define DTDNS_SERVER %s#define DTDNS_SERV
13、ER_VALUE #define DTDNS_VERSION 0.1.0#define DTDNS_NAME dtdnsupdate8.3 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(3)在dyndns.h中定義dtdns更新時(shí)需要的HTTP格式:/* specific update request format */ #define DTDNS_UPDATE_MY_IP_REQUEST_FORMAT GET DTDNS_SCRIPT ? id= DTDNS_HOSTNAME &pw= DTDNS_PASSWORD &client= DTDNS_NAME HTTP/1.1nHost: DTDNS_
14、SERVER nUser-Agent: DYNDNS_AGENT_NAME DYNDNS_EMAIL_ADDR nn8.4 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(4)在dyndns.c中聲明dtdns更新時(shí)需要的HTTP格式的構(gòu)造函數(shù)及對(duì)服務(wù)器反饋進(jìn)行處理的函數(shù):HTTP格式構(gòu)造static int get_req_for_dtdns_server(DYN_DNS_CLIENT *p_self, int cnt, DYNDNS_SYSTEM *p_sys_info);對(duì)反饋進(jìn)行處理的函數(shù):static BOOL is_dtdns_server_rsp_ok( DYN_DNS_CLIENT *
15、p_self, char*p_rsp, char* p_ok_string);8.5 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(5)定義HTTP格式構(gòu)造函數(shù):static int get_req_for_dtdns_server(DYN_DNS_CLIENT *p_self, int cnt, DYNDNS_SYSTEM *p_sys_info) (void)p_sys_info; return sprintf(p_self-p_req_buffer, DTDNS_UPDATE_MY_IP_REQUEST_FORMAT, p_self-alias_, p_self-info.c
16、redentials.my_password, p_self-info.p_dns_system-p_key); 8.6 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(6)定義對(duì)反饋進(jìn)行處理的函數(shù):/* parses a given string. If found is ok,Example : now points to*/static BOOL is_dtdns_server_rsp_ok( DYN_DNS_CLIENT *p_self, char*p_rsp, char* p_ok_string)if (p_ok_string = NULL)return FALSE; return (str
17、str(p_rsp, p_ok_string) != NULL);8.7 添加對(duì)一個(gè)新的DDNS服務(wù)提供商的支持(7)把新的服務(wù)提供商添加到服務(wù)列表當(dāng)中,即在dyndns.c中的dns_system_table中添加一項(xiàng): DYNAMIC_DTDNS, DTDNS_SERVER_VALUE, NULL, (DNS_SYSTEM_SRV_RESPONSE_OK_FUNC)is_dtdns_server_rsp_ok, (DNS_SYSTEM_REQUEST_FUNC) get_req_for_dtdns_server, DTDNS_SERVER_VALUE, DYNDNS_MY_IP_SERVER_URL, DTDNS_SERVER_VALUE, /api/autodns.cfm?, now points to“ ,9. TBS對(duì)DDNS所做的適配工作本質(zhì)上只做一件事:WAN接口IP改變了,就通知DDNS服務(wù)器綁定新的IP1.這就需要關(guān)注WAN接口的連接消息(MSG_WAN_CONN_EST)。 如果使用的開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三醋酸纖維素膜項(xiàng)目建議書
- 2025辦公室租賃合同范本4
- 2025年解除商業(yè)租賃合同范本標(biāo)準(zhǔn)版
- 2025標(biāo)準(zhǔn)管理咨詢服務(wù)合同
- 2025辦公設(shè)備采購合同協(xié)議
- 2025標(biāo)準(zhǔn)版權(quán)許可合同樣式
- 2025中國鋼鐵產(chǎn)業(yè)陜西分公司集體合同
- 2025設(shè)備租賃合同版范本
- 2025蘇州市購房合同樣本
- 2025四川公共租賃住房租賃合同范本
- 商場(chǎng)運(yùn)營部的培訓(xùn)
- 四年級(jí) 人教版 數(shù)學(xué)《小數(shù)的意義》課件
- 《糖尿病與肥胖》課件
- 醫(yī)療糾紛防范與醫(yī)患溝通
- 服裝設(shè)計(jì)與工藝基礎(chǔ)知識(shí)單選題100道及答案
- 鋼結(jié)構(gòu)施工管理培訓(xùn)課件
- 護(hù)理MDT多學(xué)科聯(lián)合查房
- 易制毒化學(xué)品采購員崗位職責(zé)
- 《淺析我國綠色金融體系的構(gòu)建》5600字(論文)
- 兒科病例分析課件
- 2024年同等學(xué)力人員申請(qǐng)碩士學(xué)位英語試卷與參考答案
評(píng)論
0/150
提交評(píng)論