tcpip实验报告_2完整版.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京工业大学 计算机学院 实验报告 课程名称 TCP\IP协议分析 学 号 11070229 姓 名 王宗旭 陈尧一 网络协议分析实验 一、实验目的 通过使用协议分析软件,对通信系统的通信过程进行监控、分析,以了解通信协议的工作过程。 二、实验内容 利用协议分析软件(如:Wireshark)跟踪局域网报文(如条件允许也可跟踪多种局域网协议报文),实验内容如下: 将安装协议分析软件的PC接入以太网中,跟踪PC之间的报文,并存入文件以备重新查。 设置过滤器过滤网络报文以检测特定数据流。 利用协议分析软件的统计工具显示网络报文的各种统计信息。 三、实验步骤 1、在PC中安装协议分析软件。 2、启动Wireshark协议分析软件,选择抓包菜单项启动实时监视器,开始实时跟踪显示网络数据报文。可根据系统提示修改显示方式。 3、调出跟踪存储的历史报文,选择有代表性的ETHERNET,IEEE802.3,IP,ICMP,TCP,UDP报文,对照有关协议逐个分析报文各字段的含义及内容。 EHERNET报文格式 DSTADDR SRCADDR TYPE INFO 6字节 6字节 2字节 最大长度1518字节 IEEE802.3报文格式 DSTADDR SRCADDR LEN DSAP SSAP CONTROL INFO 6字节 6字节 2字节 1字节 1字节 1/2字节 信息 最大长度1518字节 IP报文格式 VERSION IHL TOS TOTAL LENGTN IDENTIFICATION FLAGS FRAGMENT OFFSET TTL PROTOWT HEADER CHECLCSUM SOWRCE ADDRESS DRSTINWTION ADDRESS OPTIONS PADDING INFO 4、设置过滤器属性,如目的地址,源地址,协议类型等。如过滤不需要的网络报文,过滤器允许设置第二层,第三层或第四层的协议字段。 过滤器有两种工作方式: 1)捕获前过滤:协议分析软件用过滤器匹配网络上的数据报文,仅当匹配通过时才捕获报文。 2)捕获后过滤:协议分析软件捕获所有报文,但仅显示匹配符合过滤条件的报文。 选择统计菜单项可以显示网络中各种流量的统计信息,如:关于字节数,广播中报文数,出错数等。 UDP客户/服务器实验 实验目的 本实验目的是使用因特网提供的UDP传输协议,实现一个简单的UDP客户/服务器程序,以了解传输层所提供的UDP服务的特点,应用层和传输层之间的软件接口风格,熟悉socket机制和UDP客户端/服务器方式程序的结构。 实验内容 本实验为UDP客户/服务器实验。实验内容:UDP echo客户/服务器程序的设计与实现。UDP echo客户/服务器程序完成以下功能: 客户从标准输入读一行文本,写到服务器上;服务器从网络输入读取此行,并回射(echo)给客户;客户读此回射行,并将其写到标准输出。 实验步骤 总体设计 客户程序从标准输入读一行文本,写到服务器程序上;服务器程序从网络输入读取此行,并回射给客户程序;客户程序读此回射行,并将其写到标准输出。 详细设计 1)服务器main函数 2)服务器str_echo函数 3)客户main函数 4)客户str_echo函数 Serv #include netinet/in.h #include errno.h #include stdio.h #include stdlib.h #include sys/socket.h #define MAXLINE 4096 #define LISTENQ 1024 /* 2nd argument to listen() */ #define SERV_PORT 9877 #define SA struct sockaddr static int sockfd; void dg_echo(int, SA *, socklen_t); int main(int argc, char ** argv) { struct sockaddr_in servaddr, cliaddr; if((sockfd = socket(AF_INET, SOCK_DGRAM, 0))0) { printf(socket error.\n); exit(1); } bzero(servaddr, sizeof(servaddr)); servaddr.s

文档评论(0)

180****2140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档