freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

發(fā)現(xiàn)網(wǎng)絡(luò)中的活動主機(jī)--計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)-其他專業(yè)-資料下載頁

2025-01-19 08:11本頁面

【導(dǎo)讀】型號為8),并顯示在標(biāo)準(zhǔn)輸出上。補(bǔ)充IP功能的作用。在網(wǎng)絡(luò)管理中,常常要確定當(dāng)前網(wǎng)絡(luò)在紅處于活動狀態(tài)的主機(jī),這時??梢酝ㄟ^ICMP的回送和回送響應(yīng)消息來完成這項(xiàng)工作。這課程設(shè)計(jì)的目的就是編制程序,利用ICMP數(shù)據(jù)包,發(fā)現(xiàn)網(wǎng)絡(luò)中的活動主機(jī),即ping消息的請求和應(yīng)答。scanhost為程序名;start_ip為被搜索網(wǎng)段;end_ip為被搜索網(wǎng)段的結(jié)束IP地址。所有報(bào)文的前4個字節(jié)都是一樣的,但是其它字節(jié)則互不相同。步描述不用的條件。按驗(yàn)和字段為2字節(jié),校驗(yàn)的范圍是整個ICMP報(bào)文。檢驗(yàn)和是必須的,其計(jì)算方法與IP協(xié)議頭部校驗(yàn)和的計(jì)算方法一樣。碼字段來共同決定。信息封裝在一個IP包中,我們需要解析該IP包,從中找到ICMP. 內(nèi)就不可能得到響應(yīng)。ICMP是一種差錯和控制報(bào)文協(xié)議,用于傳輸錯誤報(bào)告和控制信息。為1時,表示報(bào)文的數(shù)據(jù)部分為ICMP報(bào)文。本程序使用原始套接字生成ICMP報(bào)文來進(jìn)行活動主機(jī)的探查。程序的大致思想是把ICMP的數(shù)據(jù)包類型設(shè)置為回送請求,將它發(fā)送給網(wǎng)

  

【正文】 主機(jī) i_ntoa(fromsin_addr)endl。 } USHORT checksum(USHORT *buffer, int size) { unsigned long cksum = 0。 while (size 1) { cksum += *buffer++。 size = sizeof(USHORT)。 } if(size) { cksum += *(UCHAR*)buffer。 } cksum = (cksum 16) + (cksum amp。 0xffff)。 cksum += (cksum 16)。 return (USHORT)(~cksum)。 } DWORD WINAPI FindIp(LPVOID pipaddrtemp) { InterlockedIncrement(aa)。 char icmp_data[MAX_PACKET]。 memset(icmp_data, 0, MAX_PACKET)。 int datasize = DEF_PACKET_SIZE。 datasize += sizeof(Icmpheader)。 fill_icmp_data(icmp_data, datasize)。 ((Icmpheader* )icmp_data)checksum = 0。 ((Icmpheader* )icmp_data)seq = 0。 //計(jì)算校驗(yàn)和后填入 ((Icmpheader* )icmp_data)checksum = checksum((USHORT* )icmp_data, datasize)。 int bwrote = sendto(sockraw, icmp_data, datasize, 0, (struct sockaddr* )pipaddrtemp, sizeof(dest))。 int n = 0。 if (bwrote == SOCKET_ERROR) { if(WSAGetLastError() == WSAETIMEDOUT) { couttimed outendl。 } coutsendto failed: WSAGetLastError()endl。 ExitProcess(STATUS_FAILED)。 n = 1。 } if(bwrote datasize) { coutworte bwrote bytesendl。 ExitProcess(STATUS_FAILED)。 n = 1。 } int bread = recvfrom(sockraw, recvbuf, MAX_PING_PACKET_SIZE, 0, (struct sockaddr* ) amp。from, amp。fromlen)。 if(bread == SOCKET_ERROR) { if(WSAGetLastError() == WSAETIMEDOUT) { couttime outendl。 } coutrecvform failed:WSAGetLastError()endl。 ExitProcess(STATUS_FAILED)。 n = 1。 } if(n == 0) decode_resp(recvbuf, bread, amp。from)。 InterlockedDecrement(aa)。 return 0。 } 四、 調(diào)試及運(yùn)行結(jié)果 運(yùn)行結(jié)果如以下圖: 路由器連接 2 臺電腦結(jié)果截圖: 路由器連接 1 臺電腦結(jié)果截圖: 命令格式輸入錯誤結(jié)果截圖: 五、 總結(jié) 在網(wǎng)絡(luò)管理中,常常要確定當(dāng)前網(wǎng)絡(luò)中處于活動狀態(tài)的主機(jī),通過本次課程設(shè)計(jì),利用 C++編程實(shí)現(xiàn)簡單的對網(wǎng)絡(luò)中活動主機(jī)的檢測,設(shè)計(jì)中通過使用ICMP 的回送和回送響應(yīng)消息來完成這項(xiàng)工作。網(wǎng)際控制報(bào)文協(xié)議( ICMP)具有補(bǔ)充 IP 功能的作用。 通過 這次課程 設(shè)計(jì), 我加深了對 ICMP 協(xié)議的理解, 鞏固了 課堂知識,為以后學(xué)習(xí)網(wǎng)絡(luò)協(xié)議打下基礎(chǔ)。 程序使用原始套接字生成 ICMP 報(bào)文來進(jìn)行活動主機(jī)的探查。程序的大致思想是把 ICMP 的數(shù)據(jù)包類型設(shè)置為回送請求,將它發(fā)送給網(wǎng)絡(luò)上的一個 IP 地址,如果這個 IP地址已經(jīng)被占用的話,那幺使用位于這個 IP地址的主機(jī)上的 TCP/IP軟件就能夠接收到這個 ICMP 回送請求,從而返回一個 ICMP 回送響應(yīng)(類型號為0)信息。信息封裝在一個 IP 包中,我們需要解析該 IP 包,從中找到 ICMP 數(shù)據(jù)信息。相反,如果這個 IP 地址沒 有人使用,那幺發(fā)送的 ICMP 回送請求在設(shè)定的延時內(nèi)就不可能得到響應(yīng)。 由于網(wǎng)絡(luò)協(xié)議比較抽象,比較難學(xué),也學(xué)得不深入,何況還要把所學(xué)知識運(yùn)用到實(shí)踐中來,真是一大難題,所以一開始時,真是有點(diǎn)一籌莫展,網(wǎng)上查有關(guān)資料卻總覺得不搭干。 在調(diào)試過程中難免要出現(xiàn)一些問題 ,為了能夠快速地確定錯誤的原因,盡快的排除程序邏輯錯誤,通常把程序錯誤劃分為三種類型:語法錯誤、運(yùn)行錯誤和邏輯錯誤。在 這 次 網(wǎng)絡(luò)課程設(shè)計(jì) 中,也發(fā)生了這樣那樣的錯誤 , 通過查閱文獻(xiàn)資料、請教老師 和 同學(xué)討論,以及自己認(rèn)真地分析與思考,逐一對錯誤進(jìn)行了調(diào)試,使程序 基本能正常運(yùn)行 。 到最后只差最后結(jié)果截圖的時候,由于自己的粗心還鬧出了個小烏龍。用路由器連接 2 臺電腦后,運(yùn)行結(jié)果為網(wǎng)絡(luò)中沒有活動主機(jī),第一反應(yīng)就是程序有問題,于是回過頭又開始糾結(jié)程序的問題。正在苦苦納悶的時候,轉(zhuǎn)頭發(fā)現(xiàn)另外一臺筆記本的瀏覽器并不能打開網(wǎng)頁,這才意識到可能是路由器連接出了問題,于是開始搗鼓路由器,又是重新啟動又是重新設(shè)置路由器,等到折騰一通后,猛然發(fā)現(xiàn)其實(shí)是自己把連接最左側(cè) WAN 口的網(wǎng)線插到了最右側(cè) 1 口中。耽誤了不少時間。 通過這次課程設(shè)計(jì),我明白做什么事都要沉得下心,遇到問題沉著冷靜是特別重 要的,千萬不能有半點(diǎn)浮躁的心情。 并且當(dāng)出現(xiàn)問題后,要仔細(xì)認(rèn)真的去考慮發(fā)現(xiàn)出現(xiàn)問題的最后可能是哪部分,而不是一味的回頭找代碼的問題。 在程序的調(diào)試過程中,出現(xiàn)問題是正常的,關(guān)鍵是如何去發(fā)現(xiàn)問題的根源,然后去解決它。其實(shí)寫程序并不是很花時間,改錯才是最花時間的的事情。還有一點(diǎn)特別重要的是,在設(shè)計(jì)過程中或者是改錯的過程中遇到棘手的問題時,借助網(wǎng)絡(luò)去解決的確是一種很好的選擇。 參考文獻(xiàn): [1] .吳功宜,胡曉英等著 .計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì) .北京:機(jī)械工業(yè)出版社。 [2].周明天等 ,TCP/IP 網(wǎng)絡(luò)原理與技術(shù) .北京 :清 華大學(xué)出版社 . [3].蔣東興 .WindowsSockets 網(wǎng)絡(luò)程序設(shè)計(jì)大全 [M].北京 :清華大學(xué)出版社 .
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1