计算机网络课程设计实验报告
- 格式:doc
- 大小:91.00 KB
- 文档页数:14
计算机网络实验教程实验报告一、实验目的本次计算机网络实验的主要目的是通过实际操作和观察,深入理解计算机网络的基本原理和技术,提高对网络配置、通信协议、网络服务等方面的实践能力,培养解决网络问题的思维和方法。
二、实验环境1、硬件环境实验中使用了若干台个人计算机,其配置包括:处理器_____、内存_____、硬盘_____等。
2、软件环境操作系统:Windows 10 专业版网络模拟软件:Packet Tracer网络测试工具:Ping、Tracert 等三、实验内容与步骤实验一:网络拓扑结构的搭建1、打开 Packet Tracer 软件,选择合适的网络设备,如路由器、交换机、PC 等。
2、按照设计好的网络拓扑结构,将设备进行连接。
本次实验构建了一个包含两个局域网通过路由器互联的简单网络。
3、为各设备配置 IP 地址、子网掩码、网关等网络参数。
实验二:网络通信协议的分析1、在搭建好的网络中,选择两台 PC 进行通信。
2、使用 Ping 命令测试网络的连通性,并观察返回的结果。
3、利用 Wireshark 抓包工具捕获通信过程中的数据包,分析其中的协议字段,如 IP 头、TCP 头、UDP 头等,了解网络协议的工作原理。
实验三:网络服务的配置与测试1、在服务器上配置 Web 服务,安装 IIS 组件,创建网站,并设置相关的权限和访问规则。
2、从客户端访问服务器上的网站,验证 Web 服务的可用性。
3、配置 FTP 服务,设置用户账号和权限,进行文件上传和下载测试。
实验四:网络安全的实现1、在路由器上配置访问控制列表(ACL),限制特定 IP 地址或端口的访问。
2、启用防火墙功能,设置安全策略,防止网络攻击。
四、实验结果与分析实验一结果分析成功搭建了网络拓扑结构,各设备之间能够正常通信。
通过配置正确的网络参数,确保了数据包在网络中的准确传输。
实验二结果分析Ping 命令测试显示网络连通性良好,Wireshark 抓包分析揭示了数据包在网络层和传输层的封装和解封装过程,对 IP 协议和 TCP/UDP 协议的工作机制有了更直观的认识。
计算机网络训练课程设计题目移动公司网络结构设计专业班级学生姓名学号指导教师2011年 3月 1 日目录第一章课题确定…………………………………………………………… 1.1.1 概述与课题选择 (1)1.2 网络结构设计的目标和作用 (1)第二章需求分析 (1)2.1 公司大楼结构分布 (1)2.2 行政结构 (1)2.3 各部门功能需求分析 (2)2.4 信息点的设置 (2)2.5 接入INTERNET方式 (2)第三章系统总体规划和实现功能 (3)3.1 网络系统设计原则、系统建设目标 (3)第四章网络系统硬件环境设计4.1 网络拓朴结构设计 (3)4.1.1 公司中心局域网拓朴结构设计(即核心层) (4)4.1.2 各部门网络拓朴结构的设计(即汇聚层) (5)4.2 传输方式的设计 (5)4.2.1 网络拓朴结构的设计 (5)4.3 网络互联设备的选购 (6)4.3.1 交换机 (6)4.3.2 交换机的选择 (6)4.3.3 路由器 (8)第五章网络系统软件环境设计 (8)5.1 操作系统及应用软件 (8)5.1.1 网络操作系统的选购 (9)5.1.2 应用软件的选购 (9)5.1.3 网络防火墙的选购 (9)5.2 网络安全 (9)5.2.1 网络系统安全风险分析 (10)5.2.2 安全需求与安全目标 (11)5.2.3 网络安全策略 (12)5.2.4 系统安全目标 (12)5.3 网络安全方案总体设计 (12)5.3.1 安全方案设计原则 (13)结束语 (13)第一章课题确定1.1 概述与课题选择随着现代科技的发展及计算机技术与通讯技术的结合,人们已经不再满足原有的办公方式,办公自动化、网络化的需求逐日增加。
计算机网络技术营造了一个现代化的高效、快捷、安全的办公环境,也使计算机的功能得到了充分的发挥。
作为社会基础设施之一的中国移动通信公司,充分利用网络技术,为人们的生活和工作提供了许多便利,在信息化高度发展的今天,起着至关重要的作用。
计算机网络课程实验报告计算机网络课程实验报告引言:计算机网络课程实验是培养学生对计算机网络原理和技术的理解和应用能力的重要环节。
通过实验,我们可以巩固课堂所学的理论知识,掌握网络设备的配置和管理技巧,提高网络故障排查和解决问题的能力。
本文将结合实际实验过程,总结并分析我们在计算机网络课程实验中的收获和体会。
实验一:网络拓扑搭建与配置在实验一中,我们需要搭建一个简单的局域网,通过交换机连接多台计算机,并进行网络设备的基本配置。
通过实验,我们学会了如何正确连接和配置交换机、路由器和计算机,了解了网络拓扑的概念和组网原理。
同时,在实验过程中,我们也遇到了一些问题,如网络设备的IP地址冲突、网络延迟等,通过分析和解决这些问题,我们加深了对网络故障排查和解决问题的理解。
实验二:网络通信与数据传输实验二主要是通过Wireshark等工具来抓包分析网络数据传输过程。
我们学会了如何使用Wireshark捕获网络数据包,并分析数据包的结构和内容。
通过实验,我们了解了网络通信的基本原理,如TCP/IP协议栈、数据包的封装和解封装过程等。
同时,我们也发现了一些网络通信中的问题,如丢包、重传等,通过对数据包的分析和解读,我们可以更好地理解和解决这些问题。
实验三:网络安全与防护实验三主要是学习和实践网络安全相关的知识和技术。
我们了解了网络攻击的常见手段和防御方法,如防火墙、入侵检测系统等。
通过实验,我们学会了如何配置和管理防火墙,设置访问控制列表,提高网络的安全性。
同时,我们也体验了一些网络攻击的模拟实验,如DDoS攻击、ARP欺骗等,通过对攻击过程的模拟和分析,我们更深入地了解了网络安全的重要性和挑战。
实验四:网络性能测试与优化实验四主要是通过网络性能测试工具来评估和优化网络的性能。
我们学会了如何使用Ping、Traceroute等工具来测试网络的连通性和延迟,通过分析测试结果,我们可以找出网络中的瓶颈和问题,并采取相应的优化措施。
计算机网络课设报告1. 引言计算机网络是现代社会中不可或缺的一部分,它连接了全球范围内的计算设备,使得信息的传输和共享变得更加便捷。
在计算机网络课程的课设中,我们将深入了解网络协议、网络拓扑结构以及网络安全等相关知识,通过实践和实验,掌握计算机网络的基本原理和技术。
2. 实验背景在本次计算机网络课设中,我们的目标是设计和实现一个简单的局域网(LAN),并通过该局域网实现主机之间的通信。
为了达到这个目标,我们将学习有关网络协议、子网划分、IP地址分配以及路由设置等相关内容。
3. 实验过程步骤一:确定局域网的拓扑结构在设计局域网时,我们需要考虑网络中的主机数量、主机之间的连接方式以及路由器的位置等因素。
基于实验要求和具体情况,我们可以选择使用星型拓扑、环形拓扑或者总线拓扑等结构。
步骤二:进行子网划分和IP地址分配为了更好地管理局域网中的主机,我们需要对局域网进行适当的子网划分,并为每个子网分配合适的IP地址。
子网划分可以帮助我们控制网络流量、提高网络的安全性和性能。
步骤三:设置路由器并配置路由表为了实现不同子网之间的通信,我们需要配置路由器并设置相应的路由表。
路由器是网络中的关键设备,它负责将数据包从源主机发送到目标主机。
通过正确设置路由表,我们可以实现跨子网的通信。
步骤四:进行网络测试和故障排除在完成局域网的搭建后,我们需要进行网络测试,以确保主机之间可以正常通信。
如果在测试过程中发现网络故障或通信问题,我们需要进行故障排除,并根据具体情况进行相应的调整和修复。
4. 实验结果与分析通过以上步骤的设计和实施,我们成功搭建了一个简单的局域网,并实现了主机之间的通信。
在测试过程中,我们发现网络的性能与拓扑结构、子网划分以及路由器的配置等因素密切相关。
合理的网络设计和设置可以提高网络的可靠性、安全性和性能。
5. 实验总结通过本次计算机网络课设的实践,我们深入了解了局域网的基本原理和技术。
我们学习了网络拓扑结构的选择、子网划分和IP地址分配、路由器的配置和路由表的设置等关键知识点。
《计算机网络》实验报告计算机网络实验报告一、引言计算机网络是现代信息技术的基础,它将各种计算机和设备连接在一起,实现数据的传输和共享。
本篇实验报告将介绍我们在《计算机网络》课程中进行的实验内容和实验结果。
二、实验目的本次实验的目的是通过搭建一个简单的局域网并进行通信测试,加深对计算机网络基本概念的理解,掌握网络配置和通信过程中的相关知识。
三、实验环境我们使用了两台计算机和一个交换机来搭建局域网。
其中,计算机A作为服务器,计算机B作为客户端,交换机用于连接两台计算机。
四、实验步骤1. 配置网络参数我们首先在计算机A和计算机B上配置IP地址、子网掩码和默认网关,确保两台计算机处于同一个子网中。
2. 搭建局域网将计算机A和计算机B通过网线连接到交换机的不同端口上,确保物理连接正常。
3. 配置服务器在计算机A上搭建服务器,选择一种合适的网络服务软件,如Apache、Nginx 等,并进行相应的配置。
4. 配置客户端在计算机B上配置客户端,选择一种合适的浏览器软件,如Chrome、Firefox 等,并设置代理服务器的IP地址和端口。
5. 进行通信测试打开浏览器,在客户端中输入服务器的IP地址和端口号,访问服务器上的网页。
观察通信过程中的网络数据传输情况,检查是否能够成功建立连接并获取到服务器上的网页内容。
五、实验结果通过以上步骤,我们成功搭建了一个简单的局域网,并进行了通信测试。
在测试过程中,我们观察到以下结果:1. 网络连接正常计算机A和计算机B通过交换机成功建立了物理连接,网络连接正常。
2. IP地址配置正确计算机A和计算机B的IP地址、子网掩码和默认网关配置正确,处于同一个子网中。
3. 服务器配置成功在计算机A上搭建的服务器配置成功,能够正常响应客户端的请求。
4. 客户端配置成功在计算机B上配置的客户端能够正常访问服务器上的网页,获取到正确的网页内容。
六、实验总结通过本次实验,我们深入了解了计算机网络的基本概念和通信过程,掌握了网络配置和通信测试的方法。
《计算机网络实验》实验报告一、实验目的计算机网络实验是计算机相关专业学习中的重要实践环节,通过实验操作,旨在深入理解计算机网络的基本原理、协议和技术,提高我们的动手能力和解决实际问题的能力。
具体目的包括:1、熟悉计算机网络的体系结构和各层协议的工作原理。
2、掌握网络设备的配置和管理方法,如交换机、路由器等。
3、学会使用网络工具进行网络性能测试和故障诊断。
4、培养团队合作精神和沟通能力,提高解决复杂问题的综合素养。
二、实验环境本次实验在学校的计算机网络实验室进行,实验室配备了以下设备和软件:1、计算机若干台,安装了 Windows 操作系统和相关网络工具软件。
2、交换机、路由器等网络设备。
3、网络线缆、跳线等连接设备。
三、实验内容及步骤实验一:以太网帧的捕获与分析1、打开网络协议分析软件 Wireshark。
2、将计算机连接到以太网中,启动捕获功能。
3、在网络中进行一些数据传输操作,如访问网站、发送文件等。
4、停止捕获,对捕获到的以太网帧进行分析,包括帧的格式、源地址、目的地址、类型字段等。
实验二:交换机的基本配置1、连接交换机和计算机,通过控制台端口进行配置。
2、设置交换机的主机名、管理密码。
3、划分 VLAN,并将端口分配到不同的 VLAN 中。
4、测试不同 VLAN 之间的通信情况。
实验三:路由器的基本配置1、连接路由器和计算机,通过控制台端口或Telnet 方式进行配置。
2、设置路由器的接口 IP 地址、子网掩码。
3、配置静态路由和动态路由协议(如 RIP 或 OSPF)。
4、测试网络的连通性。
实验四:网络性能测试1、使用 Ping 命令测试网络的延迟和丢包率。
2、利用 Tracert 命令跟踪数据包的传输路径。
3、使用网络带宽测试工具测试网络的带宽。
四、实验结果与分析实验一结果与分析通过对捕获到的以太网帧的分析,我们清楚地看到了帧的结构,包括前导码、目的地址、源地址、类型字段、数据字段和帧校验序列等。
计算机网络实践报告5篇(实用版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的实用资料,如职场文书、书信函件、教学范文、演讲致辞、心得体会、学生作文、合同范本、规章制度、工作报告、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor.I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, this store provides various types of practical materials for everyone, such as workplace documents, correspondence, teaching samples, speeches, insights, student essays, contract templates, rules and regulations, work reports, and other materials. If you want to learn about different data formats and writing methods, please pay attention!计算机网络实践报告5篇计算机网络实践报告1开学第一周我们就迎来了计算机网络实训,这门课程与上学期所学的计算机网络相对应,给了我们一个更深刻理解和掌握所学知识的机会。
计算机网络课程设计实验报告1. 引言计算机网络是现代信息技术的基石,它的设计与实现对于计算机科学与技术专业的学生来说尤为重要。
本次实验旨在通过一个计算机网络课程设计项目,帮助学生进一步深入理解计算机网络的原理与实践,提升实际操作能力。
2. 实验目标本实验的目标是设计一个简单的局域网内部共享文件的系统。
具体要求如下:1.实现一个服务器程序,能够提供文件的上传与下载功能;2.实现一个客户端程序,能够通过命令行界面与服务器进行交互;3.实现文件的断点续传功能,确保文件可以在网络断开后继续传输;4.实现基本的权限管理功能,确保只有授权用户才能够上传和下载文件。
3. 实验环境本次实验的开发环境与工具如下:•操作系统:Windows 10•开发语言:Python 3.8•开发环境:PyCharm 2020.1•版本控制:Git4. 实验过程与方法4.1 系统架构设计本实验的系统架构包括服务器程序和客户端程序两个部分。
服务器程序采用C/S模型,在指定端口上监听客户端的请求,根据客户端发送的指令进行相应的操作,如上传文件、下载文件、断点续传等。
服务器程序使用了Python的socket模块实现网络通信。
客户端程序通过命令行界面与服务器进行交互,用户可以输入不同的指令来实现上传、下载、断点续传等功能。
客户端程序使用了Python的argparse模块处理命令行参数,使用socket模块与服务器进行通信。
4.2 文件传输实现文件的传输采用TCP协议进行,对于较大的文件,可以采用分片传输的方式,确保文件能够在网络断开后继续传输。
客户端程序在向服务器请求下载文件时,会先发送文件的元信息(如文件名、大小等),服务器会根据元信息判断文件是否存在、是否需要断点续传等。
对于需要断点续传的文件,服务器会记录已传输的字节数,并将剩余部分发送给客户端。
4.3 权限管理实现服务器程序实现了基本的权限管理功能,通过在服务器端维护一个用户列表,每次上传或下载文件时,都会要求用户进行身份验证。
一、实验目的1. 理解计算机网络的基本概念和结构。
2. 掌握网络设备的配置方法,包括交换机、路由器等。
3. 学习网络协议的作用和配置方法,如TCP/IP、DHCP等。
4. 通过实验加深对网络故障诊断和排除能力的培养。
二、实验内容1. 实验环境实验设备:一台PC机、一台交换机、一台路由器、双绞线、网线等。
实验软件:Windows操作系统、网络管理软件等。
2. 实验步骤(1)网络设备连接首先,将PC机通过网线连接到交换机的一个端口上。
然后,将交换机的另一个端口连接到路由器的WAN口。
最后,将路由器的LAN口连接到PC机的另一台交换机上。
(2)网络设备配置①交换机配置进入交换机命令行界面,配置交换机的基本参数,如VLAN ID、IP地址、子网掩码等。
②路由器配置进入路由器命令行界面,配置路由器的接口参数,如WAN口和LAN口的IP地址、子网掩码等。
同时,配置路由协议,如静态路由、动态路由等。
③PC机配置在PC机的网络设置中,将IP地址、子网掩码、默认网关等信息设置为与路由器LAN口相同的参数。
(3)网络测试①测试PC机与交换机之间的连通性在PC机中ping交换机的IP地址,检查PC机是否能够与交换机通信。
②测试PC机与路由器之间的连通性在PC机中ping路由器的IP地址,检查PC机是否能够与路由器通信。
③测试不同VLAN之间的连通性在PC机中ping另一个VLAN中的设备,检查不同VLAN之间的设备是否能够相互通信。
三、实验结果与分析1. 实验结果(1)PC机与交换机之间连通(2)PC机与路由器之间连通(3)不同VLAN之间的设备相互通信2. 实验分析通过本次实验,我们成功搭建了一个简单的计算机网络,并掌握了网络设备的配置方法。
在实验过程中,我们遇到了一些问题,如网络设备之间的连通性、VLAN之间的通信等。
通过查阅资料和调试,我们解决了这些问题,加深了对计算机网络的理解。
四、实验总结1. 通过本次实验,我们了解了计算机网络的基本概念和结构,掌握了网络设备的配置方法。
《计算机网络A》实验报告(5篇范例)第一篇:《计算机网络A》实验报告教师评阅记录表【重要说明】λ学生提交报告册最终版时,必须包含此页,否则不予成绩评定。
λ本报告册模板内容格式除确实因为填写内容改变了布局外,不得变更其余部分的格式,否则不予成绩评定。
报告是否符合考核规范□ 符合□ 不符合报告格式是否符合标准□ 符合□ 不符合报告是否完成要求内容□ 是□ 否报告评语:报告成绩:评阅人签名(签章)****年**月**日目录λ教师评阅记录表λ实验实习综述报告实验实习综述报告课程名称计算机网络实验课程编号开课学院计算机学院指导教师杜欢实验实习地点学生姓名易彤学生学号 2018211603 学院专业智能科学与技术所在班级 04051802 实验一:网络命令与使用一、实验实习目的及要求掌握常用网络命令的使用方法;熟悉和掌握网络管理、网络维护的基本内容和方法。
二、实验实习设备(环境)及要求(软硬件条件)WIN10 系统,笔记本电脑三、实验实习项目、内容与步骤1.在窗口中显示网络适配器的物理地址、主机的 IP 地址、子网掩码以及默认网关; 2.向一台电脑无限制的发送数据包,此数据包大小为60000byte,然后改变数据包大小,比较结果; 3.查看本地计算机或另一台计算机的 ARP 高速缓存中的当前内容;4.练习ftp 内部命令,并完成从一台ftp 服务器上下载一份文件。
四、实验实习所得结果及分析输入指令ipconfig/all 显示网络适配器的的信息输入指令 ping 192.168.1.103 –l 60000 向一台电脑无限制的发送数据包,此数据包大小为 60000byte查看本地计算机的 ARP 高速缓存中的当前内容五、实验实习结果分析和(或)源程序调试过程在不明不白的情况下做出了这个实验,希望在今后深入学习,去把这些知识弄懂。
实验二网络服务器建议与使用一、实验实习目的及要求掌握 HTTP 服务器和 FTP 服务器的配置方法。
计算机网络课程设计报告姓名:学号:班级:指导老师:科技大学计算机科学与工程学院2013年6月实验一1.实验名称:网络聊天程序的设计与实现2.实验目的:通过本实验能够了解socket通信的原理并在此基础上编写一个聊天程序了解TCP/IP的基础知识,发现TCP与UDP的优缺点以及在网络通信的应用。
3.实验原理:从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
当网络的边缘部分中的两个主机使用网络的两个主机使用网络的核心部分进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
从IP层来说,通信的两端是两个主机,IP数据报的首部明确的标志了这两个主机的IP地址。
但是严格的讲,两个主机进行通信就是两个主机中的应用进程互相通信。
根据应用程序的不同需求,运输层需要有两种不同的运输协议,即是面向连接的TCP和无连接的UDP。
在使用这两个协议时运输层向高层用户屏蔽了下面的网络核心的细节,它使应用进程看见的就是好像在两个运输层实体间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。
当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。
但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。
由于我在课程设计中采用的是UDP协议进行通信的,这里就只简述一下一些关于UDP的容,UDP在传送数据之前不需要先建立连接。
远地主机的运输层在收到UDP报文后,不需要给出任何确认。
虽然UDP不提供可靠的交付,但在某些情况下UDP却是一种最有效的工作方式。
为此当我们使用UTP协议使两个计算机中的进程要互相通信,不仅必需知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。
我们的计算机通信时采用客户-服务器方式。
客户在发起通信请求时,必需先知道对方的服务器的IP地址和端口号,因此通过IP地址和端口号我们就能将两台主机连接起来,然后通过输入输出流将信息发送到对方的主机上。
这样就能实现网络的聊天程序。
4..流程图:5.实验步骤:通过使用原理我们知道若要实现两主机间的通信最重要的是获得对方的IP地址和设置端口号,在实验中我们假定已经知道了要通信主机的IP地址,故在编程中主要的是套接字socke的编程步骤,在这个程序中,将两个工程添加到一个工作区。
要一个ws2_32.lib 的库文件。
服务器编程步骤:1、加载数据库,创建套接字(WSAStrartup()/socket());2、绑定套接字到一个IP地址和一个端口上(bind());3、将套接字设置为监听模式等待请求(listen());4、请求到来后,接受请求,返回一个新的对应于此次连接的套接字(accept());5、用返回的套接字和客户端进行通信(send()/rec());6、返回,等待另一个请求;7、关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup()).其次是客户端的编程步骤:1、加载数据库,创建套接字(WSAStrartup()/socket());2、向服务器发送连接请求(connect());3、和服务器端进行通信(send()/recv());4、关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup()).6.实验过程中的问题:首先是在编写代码时考虑了是用TCP还是用UDP协议,通过翻看了原来计算机网络的书后举得利用TCP来编写聊天程序的话,由于TCP协议相对于UDP协议复杂了许多且是面向连接的运输层协议在每次建立与断开连接的时候都要不停的进行确认十分占用网络资源,但UDP就不用那么繁琐,且效率相对的要高出许多。
但是在代码测试时老师说到作为一个聊天工具重点是信息的交流对于UDP很容易出现丢包的现象,且TCP协议具有很高的可靠性,对于网络的占用也并非想象中的那么严重,故对于编写此类程序还是用TCP 的好一些。
其次是在编程过程中发现在通信过程中由于端口号只设定一个所以一旦服务器与一台客户端连接时,其他的的客户端就不能与服务器进行连接了,因为先前的客户端占用的端口号。
通过与老师的交流后知道了,在使用TCP/UDP协议时有两条连接时,突然就有种豁然开朗的感觉。
实验二:1.实验名称:Ping程序上设计与实现2.实验要求:用C语言实现Ping命令程序,能实现基本的Ping操作,发送ICMP回显请求报文,用于测试—个主机到只一个主机之间的连通情况。
要求:1)独立完成程序的设计、编码和调试。
2)系统利用C语言实现,程序调试环境为Turbo C或VC;3)按照课程设计规书写课程设计报告。
4)采用VC环境进行调试运行。
3.实验容本程序主要分为四个模块(功能模块图见图1.1):初始化模块,功能控制模块,数据报解读模块,Ping测试模块。
初始化模块:该模块用于定义及初始化各个全局变量,为winsock加载winsock体。
功能控制模块:该模块是被其他模块调用,其功能包括解析参数、计算ICMP数据报文检验和、清除SOCKET,ICMP包数据以及接受缓冲区。
数据报解读模块:数据报解析模块提供了解读IP选项和解读ICMP报文的功能。
Ping测试模块:该模块是本程序的核心模块,调用其他模块实现其功能,进而实现Ping的功能。
5.实验中遇到的问题及解决方案:问题1:提示库函数名为未标示符?分析:在程序开头只有以下头文件,#include <winsock2.h>#include <stdio.h>#include <stdlib.h>忘记打开<ws2tcpip.h>头文件;问题2:提示出现存(ox000000)错误?分析:void DecodeICMPHeader(char *buf, int bytes, SOCKADDR_IN *from)buf动态指针指向错误。
问题3:连接时所有有关winsock的库函数连接不上?分析:一定是缺少了某个头文件或没打开动态库,解决办法是在开头加上一下代码:#pragma comment(lib,"ws2_32.lib");实验三1.实验名称:基于IP多播组的网络会议2.实验容:了解IP多播的基本原理,参照局域网IP多播程序,设计一个简易的网络会议程序。
3.实验目的:1、加深对计算机局域网IP多播工作原理的理解,通过编写计算机程序实现、模拟其功能,使学生理解并掌握其基本原理及工作过程。
2、提高网络编程和应用的能力。
提高实际编程能力和灵活运用所学知识解决问题的能力。
4.实验要求:编写一个简易的局域网IP多播网络会议程序,理解IP多播的基本概念和工作原理,程序由Sender和Receiver两个部分组成,Sender用户从控制台上输入多播发送数据,Receiver端都要求加入同一个多播组,完成接收Sender发送的多播数据。
5.实验原理:IP多播技术,也常称为组播通信,它是基于IP层的通信技术。
是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术,是一点对多点的通信。
采用多播通信技术,不仅可以实现一个发送者和多个接收者之间进行通信的功能,而且可以有效减轻网络通信的负担,避免资源的无谓浪费。
并不是所有的协议都支持多播通信,通常多播通信应用都建立在TCP/IP协议之上,IP地址采用D类地址来支持多播,由特殊的多播路由器来实现。
IP多播提供两类服务:1) 向多个目的地址传送数据。
有许多向多个接收者传送信息的应用:例如交互式会议系统和向多个接收者分发或新闻。
如果不采用多播,目前这些应用大多采用TCP来完成(向每个目的地址传送一个单独的数据复制)。
然而,即使使用多播,某些应用可能继续采用TCP来保证它的可靠性。
2) 客户对服务器的请求。
例如,无盘工作站需要确定启动引导服务器。
目前,这项服务是通过广播来提供的,但是使用多播可降低不提供这项服务主机的负担。
6.实验过程:1、启动Visual C++6.0,创建一个控制台项目工程。
在此项目工程中添加Sender和Receiver 两个项目。
Receiver项目实现步骤:(1)、创建一个SOCK_DGRAM类型的Socket。
(2)、将此Socket绑定到本地的一个端口上,为了接收服务器端发送的多播数据。
(3)、加入多播组。
(4)、接收多播数据。
Sender实现步骤:(1)、创建一个SOCK_DGRAM类型的Socket。
(2)、加入多播组。
(3)、发送多播数据.2、编译两个项目,在局域网中按如下步骤测试:(1)、将Sender.exe拷贝到发送多播数据的PC上。
(2)、将Receiver.exe拷贝到多个要求接收多播数据的PC上.(3)、各自运行相应的程序。
(4)、在Sender PC上输入多播数据后,你就可以在Receiver PC上看到输入的多播数据。
实验四1.实验名称:网络嗅探器2.实验原理:嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。
但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。
而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。
显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。
具体到编程实现上,这种对网卡混杂模式的设置是通过原始套接字(raw socket)来实现的,这也有别于通常经常使用的数据流套接字和数据报套接字。
在创建了原始套接字后,需要通过setsockopt()函数来设置IP头操作选项,然后再通过bind()函数将原始套接字绑定到本地网卡。
为了让原始套接字能接受所有的数据,还需要通过ioctlsocket()来进行设置,而且还可以指定是否亲自处理IP头。
至此,实际就可以开始对网络数据包进行嗅探了,对数据包的获取仍象流式套接字或数据报套接字那样通过recv()函数来完成。
但是与其他两种套接字不同的是,原始套接字此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有 IP头、 TCP头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。
通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。