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

正文內(nèi)容

tcpip協(xié)議與網(wǎng)絡編程實驗指導書(編輯修改稿)

2024-11-18 10:33 本頁面
 

【文章內(nèi)容簡介】 機的 arp 高速緩存上,就不用再進行 arp 請求 ) 。 實驗中看不到這樣的差別,是由于 Windows 系統(tǒng)所使用的時鐘精度的限制。下圖為在一個 Linux 系統(tǒng)中所完成的實驗結(jié)果: 以下是 使用 Ethereal 在局域網(wǎng)上抓 包的結(jié)果,每秒發(fā)送和接收一次 ICMP 回顯 。 ping 非本局域網(wǎng)上的一臺主機的輸出 為什么第一次所花的時間比較長呢? arp –a 顯示的緩存表中包含有網(wǎng)關(guān)的MAC 地址。根據(jù)下面的抓包結(jié)果分析一下。 五、思考題及其它 實驗 三 : 編寫 Ping 程序 實驗學時: 2 實驗類型: 設計型 一、實驗目的 通過本實驗的學習,使學生 了解 Winsock 編程的一般方法和編程模型;熟悉Winsock 中原始套接字的使用;能利用 Winsock2 編寫簡單的 ping 程序。 二、實驗條件 局域網(wǎng), Windows 2020。 三、實驗原理及相關(guān)知識 Ping 作用:網(wǎng)絡連通性的測試。 Ping 報文的結(jié)構(gòu):參見理論教材。 四、實驗步驟 實驗前需要閱讀和理解 ICMP 的功能、 ICMP 報文的結(jié)構(gòu)等基本的理論知識; 掌握 Visual C++ 的基本使用; 在 VC6 中,利用應用程序向?qū)?chuàng)建一個 Win32 控制臺程序的空項目,如下圖所示。 在項目中添加一個 C++源文件: 加入包含文件和符號常量的定義: include include include define SEND_SIZE 32 define PACKET_SIZE 4096 define ICMP_ECHO 8 define ICMP_ECHOREPLY 0 定義對應 IP 報文和 ICMP 報文結(jié)構(gòu)的結(jié)構(gòu)體: struct icmp { unsigned char icmp_type。 unsigned char icmp_code。 unsigned short icmp_cksum。 unsigned short icmp_id。 unsigned short icmp_seq。 unsigned long icmp_data。 }。 struct ip { unsigned char ip_hl:4。 unsigned char ip_v:4。 unsigned char ip_tos。 unsigned short ip_len。 unsigned short ip_id。 unsigned short ip_off。 unsigned char ip_ttl。 unsigned char ip_p。 unsigned short ip_sum。 unsigned long ip_src。 unsigned long ip_dst。 }。 定義全局變量和函數(shù): unsigned char sendpacket[PACKET_SIZE]。 unsigned char recvpacket[PACKET_SIZE]。 struct sockaddr_in dest_addr。 struct sockaddr_in from_addr。 int sockfd。 int pid。 unsigned short cal_chksum(unsigned short *addr,int len)。 int pack(int pack_no)。 int unpack(unsigned char *buf,int len)。 void send_packet(void)。 void recv_packet(void)。 定義 main()函數(shù)及檢測命令行參數(shù): void main(int argc,char *argv[]) { struct hostent *host。 struct protoent *protocol。 WSADATA wsaData。 int timeout=1000。 int SEND_COUNT=4。 int i。 char *par_host。 par_host=argv[argc1]。 switch(argc) { case 2: break。 case 3: if(strcmp(argv[1],t)==0) { SEND_COUNT=10000。 break。 } //fall through default: printf(usage: %s [t] Host name or IP address\n,argv[0])。 exit(1)。 } 創(chuàng)建原始套接字: if(WSAStartup(0x1010,amp。wsaData)!=0) { printf(wsastartup error\n)。 exit(1)。 } if( (protocol=getprotobyname(icmp) )==NULL) { printf(getprotobyname error\n)。 exit(1)。 } if( (sockfd=socket(AF_INET,SOCK_RAW,protocolp_proto) )0) { printf(socket error\n)。 exit(1)。 } 其中: ( 1)使用 Socket 的程序在使用 Socket 之前必須調(diào)用 WSAStartup 函數(shù)。 該函數(shù)的第一個參數(shù)指明程序請求使用的 Socket 版本, 其中高位字節(jié)指明副版本、低位字節(jié)指明主版本;操作系統(tǒng)利用第二個參數(shù)返回請求的 Socket 的版本信息。 ( 2) getprotobyname: 功能:依照通訊協(xié)議 (protocol) 的名稱來獲取該通訊協(xié)定的其他資料; 格式: struct protoe
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1