網(wǎng)絡(luò)編程獲取本機(jī)IP地址和指定域名IP地址_第1頁(yè)
網(wǎng)絡(luò)編程獲取本機(jī)IP地址和指定域名IP地址_第2頁(yè)
網(wǎng)絡(luò)編程獲取本機(jī)IP地址和指定域名IP地址_第3頁(yè)
網(wǎng)絡(luò)編程獲取本機(jī)IP地址和指定域名IP地址_第4頁(yè)
網(wǎng)絡(luò)編程獲取本機(jī)IP地址和指定域名IP地址_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、網(wǎng)絡(luò)編程技術(shù)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱實(shí)驗(yàn)一 網(wǎng)絡(luò)編程基礎(chǔ)訓(xùn)練實(shí)驗(yàn)報(bào)告要求: 1.實(shí)驗(yàn)?zāi)康?2.實(shí)驗(yàn)要求 3.實(shí)驗(yàn)環(huán)境 4.實(shí)驗(yàn)作業(yè) 5.問(wèn)題及解決 6.思考問(wèn)題 7.實(shí)驗(yàn)體會(huì)【實(shí)驗(yàn)?zāi)康摹空莆誻ireshark的基本用法,掌握netstat的基本用法,能夠使用這些工具對(duì)網(wǎng)絡(luò)應(yīng)用程序的傳輸過(guò)程進(jìn)行捕獲、觀察和狀態(tài)分析;了解windows sockets api的基本函數(shù)功能,掌握windows sockets的編程環(huán)境配置,掌握網(wǎng)絡(luò)程序設(shè)計(jì)的基本過(guò)程。【實(shí)驗(yàn)要求】1、下載安裝wireshark,熟悉捕獲、查看、過(guò)濾、查找等基本方法,對(duì)用戶飛秋文件傳輸、文字聊天等行為進(jìn)行網(wǎng)絡(luò)通信過(guò)程分析。 2、熟悉nets

2、tat命令,查看用戶使用網(wǎng)絡(luò)應(yīng)用程序過(guò)程中對(duì)系統(tǒng)網(wǎng)絡(luò)狀態(tài)的改變。3、使用windows sockets的api函數(shù)獲得本機(jī)的ip地址。 4、使用windows sockets的api函數(shù)獲得給定域名的ip地址?!緦?shí)驗(yàn)環(huán)境】1. 飛秋數(shù)據(jù)包的捕獲用wireshark;2. windows8自帶命令提示符;3. vs 2012編寫程序?!緦?shí)驗(yàn)作業(yè)】no.1:飛秋文件傳輸、文字聊天等行為分析1. 數(shù)據(jù)包捕獲:2. 飛秋文件傳輸、文字聊天的網(wǎng)絡(luò)通信過(guò)程分析:1) 通過(guò)廣播方式,查詢局域網(wǎng)內(nèi)所有主機(jī)的mac地址,采用arp協(xié)議,解析目標(biāo)ip地址為30的主機(jī):2) ip地址為10.

3、104.113.130的主機(jī)回應(yīng)請(qǐng)求,告知本機(jī)的mac地址從而無(wú)連接的通信建立了。傳輸層協(xié)議為udp。3) ip地址為30的主機(jī)給請(qǐng)求端發(fā)送數(shù)據(jù)(首部為8字節(jié);數(shù)據(jù)部分72字節(jié)):以太網(wǎng)層使用的是mac地址網(wǎng)絡(luò)層傳輸用的鑒別機(jī)制為ip地址。no.2:netstat命令測(cè)試系統(tǒng)網(wǎng)絡(luò)狀態(tài)的改變 netstat命令: a) 顯示所有連接和偵聽的端口:b) 應(yīng)用程序?qū)ο到y(tǒng)網(wǎng)絡(luò)狀態(tài)的改變:no.3:利用windows socket的api函數(shù)獲取本機(jī)ip和指定域名的ip地址:利用c#網(wǎng)絡(luò)編程提供的api,完成獲取本機(jī)ip地址和指定域名ip地址的任務(wù)。代碼及執(zhí)行情況,見src文件和

4、exe文件。using system;using system.collections.generic;using system.text;using system.net;using system.net.sockets;using system.runtime.interopservices;namespace windowssocket_1 class program static void main(string args) console.writeline(請(qǐng)輸入要查詢域名); string dnsname=console .readline(); isnetconnecting

5、netconnect = new isnetconnecting(); bool netconnect = netconnect.isconnected(); program winsocket=new program(); if (netconnect = true) string localip = winsocket.gethostip(); console.writeline(本機(jī)ip地址: + localip); winsocket.resolve(dnsname); for (int i = 0; i winsocket.iplength; i+) console.writelin

6、e(對(duì)應(yīng)域名的ip地址 + (i + 1) + 為: + winsocket.m_arrayipsi); else console.writeline(當(dāng)前網(wǎng)絡(luò)連接不可用。無(wú)法獲取本機(jī)ip地址和指定域名的ip地址); console.read(); #region 獲取主機(jī)ip地址 public string gethostip() string strhostname = dns.gethostname(); /獲取本地計(jì)算機(jī)名稱 console.writeline(本地計(jì)算機(jī)名: + strhostname); /由本地計(jì)算機(jī)名稱獲取本機(jī)ip地址 iphostentry ipentry =

7、 dns.gethostentry(strhostname); return ipentry.addresslist2.tostring(); /返回本機(jī)ip地址 console.readkey(); #endregion #region 獲取已知域名的ip地址 ipaddress m_arrayips; public void resolve(string s_host) iphostentry ip = dns.gethostbyname(s_host); m_arrayips = ip.addresslist; public ipaddress thisint nindex get re

8、turn m_arrayipsnindex; public int iplength get return m_arrayips.length; #endregion public class isnetconnecting #region 判斷網(wǎng)絡(luò)連接 dllimport(wininet.dll) private extern static bool internetgetconnectedstate(out int connectiondescription, int reservedvalue); public bool isconnected() int i = 0; bool sta

9、te = internetgetconnectedstate(out i, 0); return state; #endregion 【實(shí)驗(yàn)中出現(xiàn)問(wèn)題及解決方法】i. 在完成指定域名的ip獲取時(shí),有些域名能得到多個(gè)ip地址,剛開始以為是個(gè)bug,經(jīng)過(guò)上網(wǎng)查了些資料才知道,有些域名是掛載在多個(gè)服務(wù)器上的,因而對(duì)應(yīng)多個(gè)ip地址。ii. 當(dāng)沒有網(wǎng)絡(luò)時(shí),本機(jī)就沒有互聯(lián)網(wǎng)ip地址,也無(wú)法去獲取對(duì)應(yīng)域名的ip地址。因而我進(jìn)行了網(wǎng)絡(luò)連接的判斷,無(wú)網(wǎng)絡(luò)連接時(shí)直接彈出提示?!舅伎紗?wèn)題】i. 利用windows socket的api函數(shù)可以獲得多個(gè)地址,(例如:);但是只有一個(gè)是互聯(lián)網(wǎng)的ip地址,因而對(duì)獲得的ip地址做了簡(jiǎn)單篩選。ii. 無(wú)網(wǎng)絡(luò)連接時(shí),也可以得到所謂ip地址()顯然這個(gè)并不是真實(shí)的ip地址,應(yīng)該是以本機(jī)為服務(wù)器所分配的ip地址。iii. 飛秋的網(wǎng)絡(luò)通信過(guò)程為:為得到要發(fā)起會(huì)話的ip地址對(duì)應(yīng)的主機(jī)的mac地址,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論