1《计算机网络技术》实验指导书陈靖宇广东工业大学计算机学院二00六年七月印刷2目录《计算机网络技术》实验教学大纲........................................................................................1实验一、Windows网络配置和TCP/IP协议配置及诊断......................................................3实验二、IP数据报传输分析...................................................................................................6实验三、基于TCP/IP的网络编程........................................................................................14实验四、基于TCP的网络聊天室的设计.............................................................................171《计算机网络技术》实验教学大纲一、课程简介课程名称(中英文):计算机网络技术(ComputerNetworks)课程编码:241015学分和总学时:3.5学分,64学时实验(上机)学时:10学时开课单位:计算机学院选课对象:计算机科学与技术专业、网络工程专业、软件工程二、课程内容与实验目的:《计算机网络技术》是计算机类各专业必修的一门专业基础课程。通过本课程的学习,使学生对计算机网络从整体上有一个较清晰的了解,对当前计算机网络的主要种类和常用的网络协议有较清晰的概念。要求学生学习和掌握计算机网络的层次化结构;掌握有关局域网、城域网、广域网的概念;掌握计算机网络的高层应用;掌握计算机网络的新进展和发展趋势;了解如何建设网站。。三、实验教材与实验考核实验教材:《计算机网络实验指导书》,陈靖宇编,广东工业大学《计算机网络》谢希仁,电子工业出版社实验考核:根据任务完成的情况和报告的质量评定成绩。实验任务完成情况验收成绩占80%;实验报告的质量评定占20%;如果有下列情况,则视情节严重程度,成绩下降若干档次,直至不及格:光盘文件含有病毒或者内容不能正确读出;抄袭、复制别人程序或文档;未能按时提交报告和光盘文件。四、实验项目内容2实验项目明细表项目序号实验项目名称实验属性实验内容实验学时是否必选实验所需主要仪器设备名称1Windows网络配置和TCP/IP协议配置及诊断普通学习Windows网络配置方法;利用网络命令进行网络诊断。1√服务器3台,PC机100台2IP数据报传输分析普通利用wireshark软件进行数据报的传输分析1√服务器3台,PC机100台3基于TCP/IP的网络编程普通利用VC++进行简单的网络编程。2√服务器3台,PC机100台4基于TCP的网络聊天室的设计设计性利用VC++开发基于TCP的网络聊天室。6√服务器3台,PC机100台合计注:本课程实验总计10学时,安排4次实验,其中普通实验占40%,综合性实验占60%,设计性实验占0%。3实验一、Windows网络配置和TCP/IP协议配置及诊断实验项目名称:Windows网络配置和TCP/IP协议配置及诊断实验项目性质:普通所属课程名称:《计算机网络技术》实验计划学时:1一、实验目的学习在Windows系统中进行网络配置、用pingipconfig,netsh命令工具来进行网络测试、使用tracert路由跟踪命令、使用netstat、arp、nslookup命令查看网络状态。本实验在于使学生更好地理解计算机网络设置的基本操作,掌握计算机网络配置的基本监测技术。二、实验内容和要求⑴学习Windows的网络配置。⑵学习TCP/IP的诊断三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows;四、实验方法、步骤及结果测试一、Windows的网络配置单击右键桌面的“网络邻居”,点击右键菜单“属性”,出现如下图的所示网络连接界面。然后右键单击“本地连接”,点击右键菜单属性,出现如下图的所示配置界面。4从配置界面中选择Internet协议(TCP/IP),然后点击“属性”按键,可以进入IP地址的设置5二、利用Windows命令行工具进行TCP/IP的配置和诊断1、使用Ping工具测试本机TCP/IP协议的工作情况,记录下相关信息。2、使用IPconfig工具测试本机TCP/IP网络配置,记录下相关信息。3、使用netsh工具测试本机TCP/IP网络配置,记录下相关信息。4、使用Tracert工具测试本机到所经过的路由数,记录下相关信息。5、使用Netstat工具,记录下相关信息。6、使用Arp工具,记录下相关信息。7、使用Nslookup工具,记录下相关信息。五、实验报告要求要求采用学校的实验报告书(16开)。如打印也应采用实验报告书的版头(A4纸)。并提交实验报告电子版及相关实验数据文档及资料。六、思考题1.如何测试你的主机到特定网址的连接是否有故障,如果有故障如何进一步故障的原因。2.如何通过网络设置加强网络的安全性。6实验二、IP数据报传输分析实验项目名称:IP数据报传输分析实验项目性质:普通所属课程名称:《计算机网络技术》实验计划学时:1一、实验目的掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送、转发的过程。在学习的过程中可以直观地看到数据的具体传输过程。通过分析截获TCP报文首部信息,理解首部中的序号、确认号等字段是TCP可靠连接的基础。通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。.进一步熟悉Wireshark软件的使用方法;2.利用Wireshark(Ethereal)抓包;3.对抓取到的包进行分析,通过分析巩固对EthernetII封包、ARP分组及IP、ICMP数据包的认识。二、实验内容和要求1)学习协议分析工具Wireshark(Ethereal)的基本使用方法;2)利用Wireshark(Ethereal)进行IP数据报报文的抓取;3)对抓取到的数据报文进行分析,体会数据报发送、转发的过程。三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows;四、实验方法、步骤及结果测试首先运行Wireshark(Ethereal),在菜单Capture下点击Interfaces,选取要抓包的网卡,这里选取地址为192.168.126.1的这个网卡抓取数据包,如图1-4:图1-4选择抓取数据包网卡7之后在主操作系统中使用ping192.168.126.128–t的命令,来ping虚拟机。好,我们来看看抓取的数据包。图1-5ARP广播包从Wireshark(Ethereal)的第一栏中,我们看到这是个ARP解析的广播包,如图1-5。由于这个版本的Wireshark(Ethereal)使用的是EthernetII来解码的,我们先看看EthernetII的封装格式。如下图1-6:图1-6以太网封包格式8注意这个和802.3是有区别的,802.3的封包格式如图1-7:图1-7802.3封包格式尽管EthernetII和802.3的封包格式不同,但Wireshark(Ethereal)在解码时,都是从“类型”字段来判断一个包是IP数据报还是ARP请求/应答或RARP请求/应答。从EthernetII知道了是ARP解析以后,我们来看看Wireshark(Ethereal)是如何判断是ARP请求呢还是应答的。我们先复习一下以太网的ARP请求和应答的分组格式,如图1-8。图1-8分组格式从上图中我们了解到判断一个ARP分组是ARP请求还是应答的字段是“op”,当其值为0×0001时是请求,为0×0002时是应答。如图1-9、1-10。9图1-9ARP请求图1-10ARP应答10我们看看第三个帧的内容。第三帧“类型”显示是IP数据报,如图1-11:图1-11ICMPping包同样,我们先复习一下IP包的封包格式,如图1-12:图1-12IP封包格式关于IP封包各字段的内容及意义,这里就不再详述了,可以参见三卷本的TCP/IP,。我们主要看看TTL,从图1-13和1-14的比较来看,图1-13中的TTL是128,而图1-14中的TTL却是64,什么原因呢?原来图1-13中的主机是Windows2000,而1-14中的主机是Linux,看来不同操作系统的TTL是11不同的。图1-13Windows主机的TTL图1-14Linux主机的TTL12好了我们来看看ICMP报文吧,先看看它的封包格式,如图1-15:图1-15ICMP封包类型关于ICMP的“类型”和“代码”字段,这里有一个表,如图1-16:图1-16ICMP报文类型ICMP报文,我们主要对照图1-16看抓包的情况。13图1-17ping请求五、实验报告要求要求采用学校的实验报告书(16开)。如打印也应采用实验报告书的版头(A4纸)。并提交实验报告电子版及相关实验数据文档及资料。14实验三、基于TCP/IP的网络编程实验项目名称:基于TCP/IP的网络编程实验项目性质:验证型所属课程名称:《计算机网络技术》实验计划学时:2一、实验目的MFC提供的关于网络应用的类CSocket是一个比较高级的封装,使用它编制出属于自己的网络应用程序,可以编一个属于自己的网络通讯软件。通过这个实验,同学们也可以增进对于TCP/IP协议的理解。二、实验内容和要求1.熟悉VC++6编程环境;2.利用VC++6进行简单的网络编程;三、实验(设计)仪器设备和材料1.计算机及操作系统:PC机,Windows;2.网络环境:可以访问互联网;四、实验方法、步骤及结构测试基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。设计思路(VC6.0下):第一部分服务器端一、创建服务器套接字(create)。二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。三、接受来自用户端的连接请求(accept)。四、开始数据传输(send/receive)。五、关闭套接字(closesocket)。第二部分客户端一、创建客户套接字(create)。二、与远程服务器进行连接(connect),如被接受则创建接收进程。三、开始数据传输(send/receive)。四、关闭套接字(closesocket)。CSocket的编程步骤:(注意我们一定要在创建MFC程序第二步的时候选上WindowsSocket选项,其中ServerSocket是服务器端用到的,ClientSocket是客户端用的。)(1)构造CSocket对象,如下例:CSocketServerSocket;CSocketClientSocket;(2)CSocket对象的Create函数用来创建WindowsSocket,Create()函数会自行调用Bind()15函数将此Socket绑定到指定的地址上面。如下例:ServerSocket.Create(823);//服务器端需要指定一个端口号,我们用823。ClientSocket.Create();//客户端不用指定端口号。(3)现在已经创建完基本的Socket对象了,现在我们来启动它,对于服务器端,我们需要这个Socket不停的监听是否有来自于网络上的连接请求,如下例:ServerSocket.Listen(5);//参数5是表示我们的待处理Socket队列中最多能有几个Socket。(4)对于客户端我们就要实行连接了,具体实现如下例:ClientSocket.Connect(CStringSerAddress,UnsingedintSerPort);//其中SerAddress是服务器的IP地址,Ser