计算机网络课程设计报告



计算机网络课程设计


第一章、绪论

1.1 引言…………………………………………………..2

1.2 Socker编程机制………………………………….2

第二章、课程设计目的

 2.1 基本目的…………………………………………….3

2.2 学会自我学习.........................................4

第三章、课程设计内容与要求

 3.1 课程设计内容与要求……………………………..4

3.2  思路分析................................................4

第四章、实验步骤

4.1 vs 2010 创建简单的基本对话框 ……….......6

4.2添加相应的控件........................................11

4.3给控件添加代码........................................13

4.4编译测试..................................................14

第五章、重点分析

 5.1问题分析………………………………………………16

 第六章、总结

 ......………………………………………………………….





  1. 绪论  


1.1 引言


随着 Internet日益广泛的应用,黑客攻击行为也是有增无减。如何有效地抵御这种攻击行为,一直是信息安全领域的焦点。


而其中,端口扫描技术吸引了越来越多人的关注,端口扫描是黑客搜集,目标主机信息的一种常用的方法。为了有效地对付网络入侵行为,对端口扫描进行研究是非常有益和必要的。攻击者在攻击一个目标时,首先要获取目标的一些基本信息,端口扫描就是其中最简单最重要的方法之一,它可以扫描目标主机中开放的端口,从而确定目标主机中提供的服务,为下一步攻击做准备。针对端口扫描技术,相应的端口扫描检测技术显得越发重要,作为网络安全技术中的一个重要课题,端口扫描检测技术意义重大。


本课程设计就是设计一个简单的端口扫描程序,判断主机的相应端口的开放情况,从而加强对端口的保护,达到抵御黑客攻击的效果。


1.2 Socket编程机制


我们可以简单的把Socket理解为一个可以连通网络上不同计算机程序之间的管道,把一堆数据从管道的A端扔进去,则会从管道的B端(也许同时还可以从CDEF……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。IP地址的含义所有人都知道,所谓端口号就是程序员指定的一个数字,许多著名的木马程序成天在网络上扫描不同的端口号就是为了获取一个可以连通的端口从而进行破坏。  


比较著名的端口号有http80端口和ftp21端口。当然,建议大家自己写程序不要使用太小的端口号,它们一般被系统占用了,也不要使用一些著名的端口,一般来说使用1000~5000之内的端口比较好。


Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方法对准某个IP/端口进行数据发送;接收端也首先创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出。如同读出文件中的数据一样。


  1. 课程设计目的


2.1 基本目的


通过本次的一个简单的课程设计,了解并掌握简单的socket编程和web程序的设计,学会VC++或者VS 2010在设计应用程序的使用方法,能独立完成简单的MFC的应用程序设计,了解控件的相应属性的设置,了解相应MFC的库函数的调用和重写。


 


 


2.2 学会自我学习


在进行课程设计的同时,学会自我学习,自我解决问题,不能太依赖他人,学会独立的完成任务。


  1. 课程设计内容与要求


3.1 课程设计题目与要求


设计一个基于主机端口扫描的应用程序,要求能扫描出主机相应端口是开启(opend)还是关闭状态(closed)。并且要有相应的密码登录过程,不允许随意查询。至少要求基于UDPTCP两种方式的扫描。可以多次进行扫描,重新扫描前需要清空以前的数据。



 

3.2 思路分析



 



第四章、实验步骤


4.1 VS创建简单的基本对话框


1)新建,项目,新建一个MFC应用程序




2)如图所示,给项目起一个名字如MFC





3)进入MFC应用程序向导


 



4)选择基于对话框的类型,下一步




5)下一步





6)选择Window套接字,下一步


7)点击下一步



8)完成



9)生成界面如下,一个.exe简单界面形成了



10)删除“TODO:在此放置对话框控件“



4.2添加相应的控件


1)在工具栏中选择相应的控件,添加到界面上,如下



2)右键属性,修改每个控件的ID和名称,以及相应的属性得到结果如下



3)在项目类向导中,给控件添加成员变量和设置类型




4.3给控件添加功能代码


1)双击相应功能按钮,进入编写代码区。列如双击清空按钮,则进去如下代码编写区



// TODO:在此添加控件通知处理程序代码。处编写相应的功能代码




4.4编译测试


1)完成代码编写后,点击调试->开始执行(Ctrl + F5)进行编译测试




2)在出现的应用程序中输入相应的内容进行测试,测试结果如下:




 

第五章、结果分析


5.1问题分析


在设计过程中遇到很多问题,下面是遇到的一些问题和具体的解决办法


问题一:


编译的exe应用程序在本机上能运行,但是不能再其他PC上运行。(既然设计了一个应用程序当然是希望在所有的PC上都能成功的运行,但是在开始设计的时候往往自己编译的程序只能在本机上运行。)


解决方案:


在项目属性中,常规设置中的MFC的使用,修改成在静态库中使用MFC即可!



问题二:


成功编译后想加个按钮,添加后双击这个按钮后进去编译代码区,但是没写代码觉得这个按钮没用,想删除,但是删除后,重新编译出现错误,怎么解决。(明明把按钮删除了,开始都可以成功编译,为什么现在会出现错误呢?)


解决方案:


在使用MFC编译应用程序时,双击按钮后不单单只是生成一个功能函数,还会生成一个关联,往往在下面图中的代码上,找到并删除与按钮相关的相应的语句即可。





问题三:


MFC中如何彻底的删除一个类呢?(往往添加了一个类,后来发现不对,要删除,怎样才能彻底的删除呢?)


解决方案:


首先在解决方案资源管理器中,找到相应的头文件和源文件,删除掉。然后关闭项目,到项目文件中删除相应的.h.cpp文件。


问题四:


UpdateData()函数的使用方法


解决方案:


UpdateData()函数有两个参数,分别是truefalse


UpdateData(true)用窗体上控件中的内容来更新和控件相关连的变量的值(只能更新value类型的变量)


例如:


你在你的窗体中有一个Edit控件,为这个控件关联了


CString类型的变量


m_strName;你在控件中添入内容之后,必须调用


UpdateData(true);才能把你添入的内容传给m_strName这个变量


UpdateData(false);


和上面的正好相反,还是以上面的Edit为例,当你在程序中改变了m_strName变量的内容的时候,如果你想让那个Edit也显示更新后的


m_strName,就必须调用


UpdateData(false);


这样在你的Edit中才能显示更新完的变量的值!



第六章、总结



经过长达一个星期的课程设计终于完成了,虽然这个星期也辛苦,每天都是在电脑旁,不停的编写代码和测试程序。但是当一个应用程序设计出来了过后,一切的痛苦感觉都是值得的,看着自己辛辛苦苦写出来的东西,虽然不是很高大上,但是那种喜悦感还是有的。还是有点成就感的,尽管这是个非常简单的MFC的应用程序的设计,但是不管怎么说是自己这个星期的劳动成果。


这个星期虽然只是做个简单的设计,但是还是学到了很多的知识。从一开始连MFC是什么都不知道,到自己可以写一个应用程序,我觉得这就是进步,就是学习。在这段时间里,我不仅学到了专业知识,更重要的是我学会了如何去学习,如何在自己一无所知的时候,利用身边的工具去学习知识。这几天我不断的查书,不断的从网上找资料,教程,自己学习有关MFC的编程知识。在设计的过程中,遇到了很多问题,自己也学会了如何独立的去解决问题,而不是像以前一样,遇到问题的时候要么去问别人要么就是逃避,我觉得这才是最重要的。


另外,在做课设的时候我还发现了,作为一个程序员不管在什么时候都要做好备份的工作,因为你不知道什么时候会出现一些不可预料的错误,轻者修改一些就ok了,重者会让你这一段时间的成果毁于一旦。。。。。。那时候才知道什么叫一失足成千古恨。


 



参考文献:

  1.百度文库

  1. C++语言程序设计(第四版)郑莉董渊何江舟编著

  2. MFC编程技巧与范例详解曾凡锋苗雨编著


  • 9
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目 录 一、设计目的 1 二、需求分析 1 2.1用户需求 1 2.2网络需求 2 2.2.1可恢复性 2 2.2.2病毒的防护 2 2.2.3安全性 2 三、网络总体设计 2 3.1各关键设备简单介绍: 2 3.2网络接入类型的选择 3 3.3网络的综合布线 3 3.4网络拓扑图 4 3.4.1星型结构 4 3.4.2环形结构 6 3.4.3树型结构 7 四、总结 8 五、主要参考文献 8 一、设计目的 随着计算机网络的普及,为了能让公司更好的与现代社会的发展接轨。更快的获取市场 信息,为了让外界厂解该公司的相关信息组建企业网,以实现对"公司档案管理"、"产品 信息"、"供求信息"等进行计算机网络化的管理,通过建立公司内部的局域网,员工之间 可以进一步加强联系,实现信息共享。降低厂打印、分发各护文件、资料、报表的纸张 费用。 二、需求分析 现代化的公司需要的是一个现代化的办公环境,高速的工作效率可以创造好的企业文化 。通过调查某公司,该公司办公地点共一层楼,两积约为600平方多米,集团总公司:董 事长助理(1台电脑)、总经理室(1台电脑)、财务部(6台电脑)、人力资源(4台电脑) 、审计监察(3台电脑〕、营运管理部(2台电脑〕、后勤部(2台电脑)、企划设计部(4 台电脑〕、营销部(5台电脑)。共28台电脑。 2.1用户需求 公司的员工对电脑的需求有下列几点: 2.1.1信息的及时性和可预测性 快速的访问、传输和修改信息,对于一个公司的交易系统是至关重要的。用户是都希望 网速更快一点,提高工作的效率。一旦有了对响应时间的具体需求。我们就能确定设备 能力、连接速度和其他直接影响网络性能的因素。 2.1.2可靠性和有效性 在用户的角度看来,可靠性就是能稳定地提供服务,在一个可靠的系统里。在绝大部分 时间内系统资源可被用户使用。可靠性也意味着提供给用户的服务水平也必须持久有效 。 2.1.3适应性 适应性是系统适应用户改变需求的能力,网络适应用户的需求而带给用户所需的信息。 2.1.4可升级性 用户是通过网络对他自己的计算机的影响来评价网络的。现在科技发展的速度飞快。 计算机的系统也不断更新,因此必须具有可升级性。 2.1.5安全性 安全性是对用户所需的信息和设备的完整性的保证,用户安全需要包括经常 自动备份、发生问题后及时恢复和对关键数据进行管理。 2.2网络需求 这个公司内部对网终有几方面的要求: 2.2.1可恢复性 存储在服务器或主要硬件上的信息是公司的生命线。重要数据的丢失是致命的。所以, 正确备份数据是网络可恢复性的关键因素。良好的备份和归档程序只是一方面,还需要 考虑预防发生范围灾难的应对措施。 2.2.2病毒的防护 一个病寿可能在几分钟内感染整个网络。因此,防毒软件是很重要的,保护公司的整个 网络正常运行。 2.2.3安全性 所有在网上流动或暂存于网络结点中的数据都面临着危险。网络的安全就是保护资源包 括数据的保密性、完整性和可靠性。 三、网络总体设计 3.1各关键设备简单介绍: 局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米 以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、 电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组 成,也可以由一个公司内的上千台计算机组成。 路由:是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这 种行为动作的机器,它的英文名称为Router。是使用一种或者更多度量因素的网络层设 备,它决定网络通信能够通过的最佳路径。路由器依据网络层信息将数据包从一个网络 前向转发到另一个网络。偶尔也称为网关(尽管网关的这个定义现在己经过时)。 路由器的功能简单的讲,路由器主要有以下几种功能: 第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网 ,实现不同网络互相通信; 第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙 等功能;第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制 等功能。 交换机(Switch)是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网 络节点提供独享的电信号通路。最常见的交换机是以太网交换机。 3.2网络接入类型的选择 以太网:物理介质由同轴电缆或双绞线组成,传输速率是10Mbit/s,,是现在常用的网络 ,可以满足公司对网络需求。 令牌环:物理介质是双绞线,传输速率是4Mbit/s或16Mbit/s,公司方面是满足要求的.但 是不是现在流行通用的网络。 光纤分布式数据接口:物理介顶是光纤。传轮速率是 100Mbit/s。是局域网的主干部分。 快速以太网:
1.课程设计目的 计算机网络课程设计计算机及相关专业的实践环节之一,是学习完《计算机网络》课程后进行的一次全面的综合练习。其目的在于加深对OSI七层模型、TCP/IP模型的各层功能和设计思想的理解,掌握组建计算机网络的基本技术,特别是网络规划、路由器的基本配置,提高学生的应用能力和动手实践能力。 2.课程设计任务与要求: 1.设计任务 以淮海工学院本部校园为背景,设计一个校园网方案。 淮海工学院的本部分为办公区、教学区和生活区三部分。现假设:办公区和教学区中各楼宇名为:教务处,党政办公楼,图书馆,计算机系大楼、讲堂楼、机械楼、土木楼、海洋学院楼、大学生活动中心楼、教学主楼、第三教学楼等,办公区和教学区每个楼宇需要的信息点数需要调研;生活区中每个建筑物有楼号,每个门洞的每户需要设置1个信息点。假设使用预留的INTERNET地址,试根据本部校园网的应用需求和管理需求、各建筑物的地理分布、信息点个数、分布,设计出本部的校园网方案。方案中应明确学院网管中心的位置,确定拓扑方案,IP地址划分,完成设备选型,注明各种设备、设施和软件的生产商、名称、型号、配置与价格,并分别给出其价格的出处(如网站等),基本确定方案的预算。 2.设计要求 (1)通过资料查阅和学习,了解园区网络规划、设计的一般方法。 (2)参考和研究一些公司和高校/企业园区网的规划和建设方案,结合《计算机网络》课程中所学知识,积极完成设计任务。 (3)认真完成需求分析,并根据需求分析完成园区网络的总体方案设计,确定网络逻辑拓扑结构和所采用的网络技术、主要设备的性能指标,进而完成设备的选型和经费预算。 (4)动手够架一个具体的LAN,要求实现WEB服务器、FTP服务器的安装,并能实现WEB信息发布。 (5)认真按时完成课程设计报告课程设计报告内容包括:课程设计目的、设计任务与要求、设计说明书、设计成果和设计心得五个部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值