计算机网络课程设计_报告
计算机网络课程设计实验报告完整版(移动公司网络设计)

计算机网络训练课程设计题目移动公司网络结构设计专业班级学生姓名学号指导教师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 概述与课题选择随着现代科技的发展及计算机技术与通讯技术的结合,人们已经不再满足原有的办公方式,办公自动化、网络化的需求逐日增加。
计算机网络技术营造了一个现代化的高效、快捷、安全的办公环境,也使计算机的功能得到了充分的发挥。
作为社会基础设施之一的中国移动通信公司,充分利用网络技术,为人们的生活和工作提供了许多便利,在信息化高度发展的今天,起着至关重要的作用。
计算机网络技术课程设计报告

计算机网络技术课程设计报告一、引言计算机网络技术是现代信息技术中的重要组成部分,已经成为各行各业不可或缺的基础设施。
计算机网络技术课程设计是培养学生网络技术水平的关键环节,通过本次课程设计,学生将深入理解网络结构、协议、安全等相关内容,提升实践应用能力。
二、设计目标本次计算机网络技术课程设计的主要目标包括: 1. 理解并掌握计算机网络的基本概念和原理; 2. 掌握网络设计的方法和技巧; 3. 完成一个基于网络技术的实际应用设计。
三、设计内容3.1 网络结构设计在该部分中,我们将设计一个典型的网络结构,包括网络拓扑、设备部署、网络层次等内容。
通过这一步骤,学生将学会如何合理规划和配置一个网络。
3.2 协议分析与优化在本部分,我们将分析现有的网络协议,挖掘其中的问题并进行优化改进。
学生将学习到协议分析和优化的方法和技巧。
3.3 网络安全设计网络安全是计算机网络技术中至关重要的一环,我们将介绍常见的网络安全威胁、攻防技术,并设计相应的网络安全策略。
四、设计步骤4.1 网络结构设计步骤•确定网络拓扑结构;•设计并配置网络设备;•划分网络层次。
4.2 协议分析与优化步骤•分析现有协议的性能和安全性;•优化协议设计,提高网络效率;•验证优化效果。
4.3 网络安全设计步骤•分析网络安全威胁;•制定网络安全策略;•实施安全措施并测试效果。
五、设计成果经过以上设计步骤,将形成一个完整的网络技术设计报告,包括网络结构设计图、协议优化方案、安全设计方案等内容。
通过这份设计报告,学生将展示自己在计算机网络技术方面的理解和能力。
六、总结本次计算机网络技术课程设计通过深入的理论学习和实践操作,帮助学生全面提升自己在网络技术领域的能力,为未来的工作和学习打下坚实基础。
希望通过这次设计,学生能够进一步认识到网络技术的重要性,不断提升自身的技术水平。
以上是本次计算机网络技术课程设计的报告,希望能够对学生的学习和成长有所启发。
计算机网络课程设计报告校园网网络构建方案设计和实现

计算机网络课程设计报告校园网网络构建方案设计和实现计算机网络课程设计报告一、引言随着信息技术的快速发展,计算机网络在当今社会中扮演着至关重要的角色。
在这样的背景下,我们进行了一次关于“校园网网络构建方案设计”的课程设计。
我们的目标是为一个虚构的大学设计并实现一个全面的校园网络方案,包括网络架构、硬件设备、软件系统以及安全措施。
二、网络架构设计我们将采用分层的网络架构,包括核心层、汇聚层和接入层。
核心层负责高速数据传输,连接各个汇聚层设备;汇聚层负责将接入层的数据汇总并传输至核心层;接入层负责连接用户设备,为用户提供网络接入。
具体来说,核心层将由两台高性能交换机组成,负责高速数据传输。
它们之间通过冗余线路进行连接,保证网络的高可用性。
汇聚层将由多台交换机和路由器组成,连接核心层和接入层。
每个汇聚层设备将负责一定区域内的数据汇总和路由。
接入层将由多台接入交换机和无线接入点组成,为用户设备提供网络接入。
三、硬件设备选择在核心层,我们将选择具有高性能和高速端口的光纤交换机,如Cisco 4000系列。
在汇聚层,我们将选择具有多层交换和路由功能的交换机,如Cisco 3000系列。
在接入层,我们将选择具有基本交换和无线接入功能的交换机和无线接入点,如Cisco 2000系列和Cisco AP 系列。
四、软件系统设计我们将采用思科的的网络操作系统,如Cisco IOS,来进行网络管理和配置。
系统将采用DHCP协议为用户分配IP地址,采用VLAN技术隔离不同部门之间的数据传输,采用NAT技术实现公网和私网之间的转换。
此外,我们还将配置基本的网络安全策略,如防火墙和入侵检测系统,以保护网络免受攻击。
五、网络安全设计为了保障网络安全,我们将采取以下措施:1、部署防火墙以过滤非法访问和恶意攻击。
2、使用入侵检测系统(IDS)实时监控网络流量,发现异常行为及时报警。
3、实施访问控制策略,限制用户对网络资源的访问权限。
计算机网络课程设计报告

淮海工学院计算机工程学院课程设计报告设计名称:计算机网络课程设计姓名:学号:专业班级:系(院):计算机工程学院设计时间:设计地点:计算机网络技术室2地址分配思路:A按功能划分,将校园划分为三大区域:办公区,教学区,生活区,根据每个地点所需的IP数,最小的网络号为24位,划分子网,即可防止IP地址重复。
B因为使用预留的INTERNET地址,可以提高内部网络的安全。
同时学校有14767个信息点。
故采用B类网络的保留地址(10.15.0.0/16)。
同时采用CIDR无分类分配方式。
同时为了与公网通信,需要申请一个公网IP地址。
整体设计原则如下1.采用私IP地址,通过NAT技术和外网通信。
2.与internet 互联设备IP地址采用真实IP地址。
3.面向用户的私有IP地址,由统一出口的边缘设备(路由器、防火墙)进行地址翻译。
4.使用VLAN将不同功能网络隔离。
5.除生活区采用DHCP动态分配IP地址以外。
其余全部采用静态IP地址。
这样设计,既可以充分利用已有的公网IP地址,解决了IP地址空间不足的,既可以方便的实现互通互连,而且将地址翻译(NAT)这种耗费设备资源的工作由网络边缘设备分担,避免广播风暴,提高网络数据传输整体性能。
增加网络的安全性,可更加安全的对所有网络设备进行管理。
4 拓扑图5确定网络的应用模式校园网以图书馆为网络的中心点,用光纤连接到其他各层楼,形成了学校的局域网。
使用的是分布式的结构,将各个子网分布到各个楼宇之间,实现楼宇内部信息点的分布。
采用浏览器/服务器的模式,图形化的交互界面,这样既简单又方便,同时也是现在用的比较多的一种模式。
层次化网络设计通常分为三层结构,即核心层、汇聚层和接入层。
核心层主要为相互通信的节点提供高速优化的带宽传输,为提高核心层的传输速率,通常不在该层实施基于策略的包操作,也极少在该层布置主机,但常常为核心层提供必要的链路备份。
汇聚层介于在核心层和接入层之间,通过提供基于策略的连接管理,实现接入层对核心层的可控制的访问。
计算机网络课程设计报告

计算机网络课程设计报告一、设计背景。
计算机网络课程设计是计算机专业学生的重要课程之一,通过该课程的学习,学生可以系统地了解计算机网络的基本原理、技术和应用,培养学生的计算机网络设计和应用能力。
本次课程设计旨在通过实际操作,帮助学生深入理解计算机网络的知识,提高他们的实际动手能力和解决问题的能力。
二、设计目标。
1. 理论与实践相结合,通过设计,使学生能够将所学的理论知识应用到实际的网络设计中,提高他们的实际操作能力。
2. 提高解决问题的能力,设计中设置一些难点和问题,引导学生思考和解决,提高他们的问题解决能力。
3. 培养团队协作精神,设计中设置一些需要团队合作的任务,培养学生的团队协作意识和能力。
三、设计内容。
1. 网络拓扑设计,要求学生设计一个小型局域网的网络拓扑结构,包括主机、交换机、路由器等设备的连接方式和布局。
2. IP地址规划,要求学生为局域网中的每台主机和设备规划合理的IP地址,要求考虑到网络的扩展性和管理的便利性。
3. 网络服务配置,要求学生配置局域网中的基本网络服务,如DHCP服务、DNS服务等,使局域网内的主机能够正常通信和访问互联网。
4. 网络安全设置,要求学生设置基本的网络安全策略,包括防火墙配置、访问控制策略等,保障局域网的安全和稳定运行。
5. 网络故障排除,设计一些故障场景,要求学生能够快速定位和解决网络故障,提高他们的故障排除能力。
四、设计要求。
1. 设计报告,学生需要提交完整的设计报告,包括设计思路、实施步骤、配置截图等内容。
2. 实际操作,学生需要在实际的网络设备上进行配置和实验,完成设计要求。
3. 问题解答,学生需要对设计中遇到的问题进行解答和总结,形成经验和教训。
五、设计评价。
1. 设计报告评价,评价学生的设计报告是否完整、清晰、符合要求。
2. 实际操作评价,评价学生的实际操作能力和解决问题的能力。
3. 问题解答评价,评价学生对设计中遇到的问题的解答和总结是否合理、深入。
计算机网络课设报告

计算机网络课设报告1. 引言计算机网络是现代社会中不可或缺的一部分,它连接了全球范围内的计算设备,使得信息的传输和共享变得更加便捷。
在计算机网络课程的课设中,我们将深入了解网络协议、网络拓扑结构以及网络安全等相关知识,通过实践和实验,掌握计算机网络的基本原理和技术。
2. 实验背景在本次计算机网络课设中,我们的目标是设计和实现一个简单的局域网(LAN),并通过该局域网实现主机之间的通信。
为了达到这个目标,我们将学习有关网络协议、子网划分、IP地址分配以及路由设置等相关内容。
3. 实验过程步骤一:确定局域网的拓扑结构在设计局域网时,我们需要考虑网络中的主机数量、主机之间的连接方式以及路由器的位置等因素。
基于实验要求和具体情况,我们可以选择使用星型拓扑、环形拓扑或者总线拓扑等结构。
步骤二:进行子网划分和IP地址分配为了更好地管理局域网中的主机,我们需要对局域网进行适当的子网划分,并为每个子网分配合适的IP地址。
子网划分可以帮助我们控制网络流量、提高网络的安全性和性能。
步骤三:设置路由器并配置路由表为了实现不同子网之间的通信,我们需要配置路由器并设置相应的路由表。
路由器是网络中的关键设备,它负责将数据包从源主机发送到目标主机。
通过正确设置路由表,我们可以实现跨子网的通信。
步骤四:进行网络测试和故障排除在完成局域网的搭建后,我们需要进行网络测试,以确保主机之间可以正常通信。
如果在测试过程中发现网络故障或通信问题,我们需要进行故障排除,并根据具体情况进行相应的调整和修复。
4. 实验结果与分析通过以上步骤的设计和实施,我们成功搭建了一个简单的局域网,并实现了主机之间的通信。
在测试过程中,我们发现网络的性能与拓扑结构、子网划分以及路由器的配置等因素密切相关。
合理的网络设计和设置可以提高网络的可靠性、安全性和性能。
5. 实验总结通过本次计算机网络课设的实践,我们深入了解了局域网的基本原理和技术。
我们学习了网络拓扑结构的选择、子网划分和IP地址分配、路由器的配置和路由表的设置等关键知识点。
《计算机网络》课程设计报告

课程设计(论文)任务书软件学院学院软件工程06级专业软件测试2 班一、课程设计(论文)题目计算机网络课程设计二、课程设计(论文)工作自 2008 年12 月29 日起至 2009 年 1 月 3 日止。
三、课程设计(论文) 地点: 创新大楼405有线网络实验室。
四、课程设计(论文)内容要求:1.本课程设计的目的通过课程设计,使学生理论联系实际,在实践中进一步了解计算机网络体系结构,深入理解TCP/IP参考模型,掌握各种网络工程技术和网络规划与设计,初步掌握综合布线技术、高速局域网技术、广域网接入技术、网络互联技术,初步掌握网络应用程序开发技术以及互联网的应用技术。
培养学生分析、解决问题的能力,提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)熟悉交换机、路由器等网络设备的功能和使用;(2)掌握网络规划与设计,掌握网络安全与管理技术;(3)初步掌握网络应用程序设计技术和互联网应用技术。
2)课程设计论文编写要求(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。
(2)课程设计报告(论文)包括目录、绪论、正文、设计小结、参考文献、附录等3)课程设计评分标准:(1)考勤与学习态度:20分(2)理论理解与课程设计报告论文:40分;(3)动手操作与实验设计:20分;(4)设计论文答辩:20分。
4)参考文献:(1)《计算机网络》(第三版)清华大学出版社,熊桂喜王小虎译(2)(3)http:// 5)课程设计进度安排1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关理论资料2.设计阶段(4学时):设计方案选型3.实验阶段(4学时):按预先设计的方案在实验室完成相关的设计任务4.撰写课程设计论文阶段(8学时):总结课程设计任务和设计步骤,撰写课程设计论文学生签名:2009 年 1 月 3 日6)选择课程设计题目具体要求:课程设计(论文)评审意见(1)考勤与学习态度(20分):优()、良()、中()、一般()、差();(2)理论理解与课程设计报告论文(40分):优()、良()、中()、一般()、差();(3)动手操作与实验设计(20分):优()、良()、中()、一般()、差();(4)设计论文答辩(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人:职称:2009 年1 月日目录一浅析winsock编程技术 (1)二分析程序功能及相关网络协议 (1)三程序流程图及设计方案 (2)四基于TCP的聊天室程序详细设计 (3)五测试结果 (10)六小结 (12)参考文献 (13)一浅析winsock编程技术Windows下网络编程的规范-Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口,现在已成为Windows网络编程的事实上的标准。
计算机网络课程设计实验报告

计算机网络课程设计实验报告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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告实验名称:计算机网络课程设计学生姓名: xxxxxxxxxxxxxxx专业: xxxxxxxxxxxxxxx班级: xxxxxxxxxxxxxxx学号: xxxxxxxxxxxxxxx指导教师:xxxxxxxxxxxxxxx实验成绩:实验地点:实验时间:2016 年 5月 6 日一、实验目的与实验要求1、实验目的将书本上抽象的概念与具体实现技术结合,通过网络软件编程的实践,深入理解理论课上学习到的ARP、IP、TCP 等重要网络协议的原理,通过自己动手编程封装与发送这些数据包,加深对网络协议的理解,掌握协议帧的结构和工作原理及其对协议栈的贡献。
2、实验要求网络课程设计包含两个部分的内容:题目一是数据包的封装发送和解析(ARP/IP/TCP),要求使用 Winpcap 技术和Socket 技术,根据 ARP/IP/TCP 帧的结构,封装数据包发送到局域网中。
另外要捕获网络中的TCP/IP/ARP 数据包,解析数据包的内容,并将结果显示,并同时写入日志文件。
题目二是从可选题目中选择一个,可选题目均是网络应用小程序,要求小组使用网络编程技术设计并实现一个网络应用程序,加深对网络协议协的理解,并锻炼网络编程能力。
二、实验设备(环境)及要求1、实验硬件设备:计算机型号:联想ThinkPad T430u处理器型号: Intel i5 主频: 1.8Hz网卡型号: (1)Realtek PCIe GBE (2)Broadcom 802.11n2、实验软件要求:操作系统: Windows10应用软件: Visual Studio 2015 Pro3、小组成员及分工:三、实验内容与步骤1、实验 1:数据包的封装发送和解析(ARP/IP/TCP)(1)实验内容1)程序目标:根据 IP 帧的结构,封装 IP 数据包发送到局域网中。
并捕获网络中的IP 数据包,解析数据包的内容,并将结果显示,并同时写入日志文件。
2)程序功能:以命令行形式运行在标准输出中显示捕获的 IP 报文的首部字段的内容。
使用 winpcap 访问网卡,手动封装定义 IP 首部的数据结构填充数据包,发送数据包,捕获数据包使用 winpcap,捕获 IP 数据包(2)主要步骤1)总体设计:a.获取设备列表并打印,打开所选择的适配器;b.准备工作:定义 ip 相关的结构体、打开要存放结果的文件,设置过滤器,手写ip 数据报(内容有无效的 MAC 源和目的地址,和均为本机地址的 ip 源地址和目的地址,即发给自己一个 ip 报文),设置抓到数据报的解析和输出到文件的操作函数(解析 ip 报,打印并写入文件:报文的版本、协议、源和目的地址等)。
c.发包、抓包。
d.分析获取的数据。
获取设备列表打开选择适配器过滤数据包解析数据包2)具体实现:#define HAVE_REMOTE#include "pcap.h"#include "remote-ext.h"#include "stdio.h"#include "stdlib.h"/*4 字节的 IP 地址 */typedef struct ip_address{u_char byte1;u_char byte2;u_char byte3;u_char byte4;}ip_address;/*IPv4 首部 */typedef struct ip_header{u_char ver_ihl;//版本(4bits) +首部长度(4bits)u_char tos;//服务类型u_short tlen;// 总长类型u_short identification;// 标识u_short flags_fo;//标志位+段偏移量u_char ttl;// 存活时间u_char proto;//协议u_short crc;//首部校验和ip_address daddr;//目的地址ip_address saddr;//源地址u_int op_pad;// 选项与填充}ip_header;void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);/* packet handler函数原型*/void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);int main(){pcap_if_t *alldevs;pcap_if_t *d;int inum;int i=0;pcap_t *adhandle;char errbuf[PCAP_ERRBUF_SIZE];u_int netmask;char packet_filter[] = "ip";// 抓包类型pcap_dumper_t *dumpfile;/* 获取本机设备列表*/if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1) {fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);exit(1);}/* 打印适配器列表*/for(d=alldevs; d; d=d->next){printf("%d. %s", ++i, d->name);if (d->description)printf(" (%s)\n", d->description);elseprintf(" (No description available)\n");}if(i==0){printf("\nNo interfaces found! Make sure WinPcap is installed.\n");return -1;}printf("Enter the interface number (1-%d):",i);scanf("%d", &inum);if(inum < 1 || inum > i)printf("\nInterface number out of range.\n");/* 释放设备列表*/pcap_freealldevs(alldevs);return -1;}/* 跳转到选中的适配器*/for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);/* 打开设备*/if ( (adhandle= pcap_open(d->name,// 设备名65536,// 65535 保证能捕获到不同数据链路层上每个数据包的全部内容PCAP_OPENFLAG_PROMISCUOUS,// 混杂模式1000,// 读取超时时间NULL,// 远程机器验证errbuf// 错误缓冲池) ) == NULL){fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);/* 释放设备列表*/pcap_freealldevs(alldevs);return -1;}/* 打开堆文件 */dumpfile = pcap_dump_open(adhandle, "D:\\save.txt");if(dumpfile==NULL)fprintf(stderr,"\nError opening output file\n");return -1;}/* 检查数据链路层,只考虑以太网*/if(pcap_datalink(adhandle)!=DLT_EN10MB){fprintf(stderr, "nThis program works only on Ethernet networds.n");/* 释放设备列表*/pcap_freealldevs(alldevs);return -1;}if(d->addresses != NULL)//获得接口第一个地址的掩码netmask = ((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr; else//如果接口没有地址,那么我们假设一个 C 类的掩码netmask=0xffffff;//编译过滤器if(pcap_compile(adhandle,&fcode,packet_filter,1,netmask)<0){fprintf(stderr,"nUnable to compile the packet filter. Check the syntax.n");//释放设备列表pcap_freealldevs(alldevs);return -1;}//设置过滤器if(pcap_setfilter(adhandle,&fcode)<0){//释放设备列表pcap_freealldevs(alldevs);return -1;}printf("\nlistening on %s...\n", d->description);//释放设备列表pcap_freealldevs(alldevs);/* 手写数据包 */u_char packet[100];/* 假设在以太网上,设置MAC 的目的地址为1:1:1:1:1:1*/ packet[0]=1;packet[1]=1;packet[2]=1;packet[3]=1;packet[4]=1;packet[5]=1;/* 设置 MAC 的源地址为2:2:2:2:2:2*/packet[6]=2;packet[7]=2;packet[8]=2;packet[9]=2;packet[10]=2;packet[11]=2;/* 设置 ip 类型 */packet[12]=0x08;packet[13]=0x00;packet[15]=0x20;packet[16]=0x00;packet[17]=0x28;packet[18]=0xcb;packet[19]=0x16;packet[20]=0x00;packet[21]=0x00;packet[22]=0x2e;packet[23]=0x06;packet[24]=0x3e;packet[25]=0xe6;packet[26]=0xc0;//192packet[27]=0xa8;//168packet[28]=0x01;//1packet[29]=0x64;//100packet[30]=0xc0;packet[31]=0xa8;packet[32]=0x01;packet[33]=0x64;packet[34]=0x8f;packet[35]=0x50;/* 填充剩下的内容*/for(i=36;i<100;i++){packet[i]=i%256;}/* 发送数据包 */if (pcap_sendpacket(adhandle, packet, 100 /* size */) != 0)fprintf(stderr,"nError sending the packet: n", pcap_geterr(adhandle));return 0;}else{printf("Send successed");}/* 开始捕获*/pcap_loop(adhandle, 0, packet_handler, (unsigned char *)dumpfile);//回调方式捕获数据包pcap_close(adhandle);return 0;}/*每次捕获到数据包时,libpcap 都会自动调用这个回调函数*/void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) {struct tm *ltime;char timestr[16];ip_header *ih;u_int ip_len;time_t local_tv_sec;//保存数据包到文件中pcap_dump((u_char*)param, header, pkt_data);/* 将时间戳转换成可识别的格式*/local_tv_sec = header->_sec;ltime=localtime(&local_tv_sec);strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);//打印数据包的时间戳和长度printf("%s,%.6d len:%d\n", timestr, header->_usec, header->len);//获得 IP 数据包头部的位置ih = (ip_header*)(pkt_data+14);// 以太网头部长度/* 打印IP 地址和UDP 端口*/printf(" 版本 +首部长度 :[%u]",ih->ver_ihl);printf(" 协议 :[%u]",ih->proto);printf("首部校验和:[%u]",ih->crc);printf("目的地址:[%u.%u.%u.%u]", ih->daddr.byte1,ih->daddr.byte2,ih->daddr.byte3,ih->daddr.byte4);:[%u.%u.%u.%u]\n", printf(" 源地址ih->saddr.byte1,ih->saddr.byte2,ih->saddr.byte3,ih->saddr.byte4);FILE *fp;fp=fopen("D:\\jiexi.txt", "a+");fprintf(fp," 解析结果: ");fprintf(fp," 版本 +首部长度 :[%u]",ih->ver_ihl);fprintf(fp," 协议 :[%u]",ih->proto);fprintf(fp," 首部校验和 :[%u]",ih->crc);fprintf(fp,"目的地址:[%u.%u.%u.%u]", ih->daddr.byte1,ih->daddr.byte2,ih->daddr.byte3,ih->daddr.byte4);fprintf(fp,"源地址:[%u.%u.%u.%u]\n", ih->saddr.byte1,ih->saddr.byte2,ih->saddr.byte3,ih->saddr.byte4);fclose(fp);}2、实验 2:子网内文件传送(1)实验内容(明确的实验内容)设计并实现一个局域网内部的文件传送工具,使用TCP协议进行可靠文件传输。