计算机网络课程设计

第一章、绪论

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端(也许同时还可以从C、D、E、F……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。IP地址的含义所有人都知道,所谓端口号就是程序员指定的一个数字,许多著名的木马程序成天在网络上扫描不同的端口号就是为了获取一个可以连通的端口从而进行破坏。

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

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

  1. 课程设计目的

2.1 基本目的

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

2.2 学会自我学习

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

  1. 课程设计内容与要求

3.1 课程设计题目与要求

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

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()函数有两个参数,分别是true,false

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编程技巧与范例详解曾凡锋苗雨编著

计算机网络课程设计报告相关推荐

  1. 计算机课程设计局域网广域网,计算机网络课程设计报告组建小区局域网

    <计算机网络课程设计报告组建小区局域网>由会员分享,可在线阅读,更多相关<计算机网络课程设计报告组建小区局域网(10页珍藏版)>请在人人文库网上搜索. 1.计算机网络课程设计报 ...

  2. 中南大学计算机网.doc,中南大学计算机网络课程设计报告.doc

    中南大学计算机网络课程设计报告 通信原理课程设计报告 专业班级 电子信息11xx 姓名学号 xxx(090911xxxx) 指导教师 陈科文.张金焕 设计时间 2014年7月 电子信息工程系 信息科学 ...

  3. 计算机网络课程设计综合实验,计算机网络课程设计报告实验报告

    计算机网络课程设计报告实验报告 (21页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.9 积分 中南大学课程设计报告课程:计算机网络课程设计 题目: ...

  4. 大专计算机网络课程毕业设计,《计算机网络课程设计报告毕业设计论文》

    <计算机网络课程设计报告毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<计算机网络课程设计报告毕业设计论文>相关文档资源请在帮帮文库(www.woc88.com) ...

  5. 计算机网络课程设计报告 组建校园局域网,计算机网络课程设计报告-组建校园局域网.pdf...

    课程设计报告 课程设计题目:组建校园局域网 专 业: 班 级: 姓 名 : 学 号 : 指导教师 : 2015 年 7 月 3 日 计算机网络课程设计 目录 一.课程设计目的及要求 - 2 - 1.1 ...

  6. 广工计算机网络课程设计FTP服务器,计算机网络-课程设计报告(FTP客户端的设计和实现).doc...

    课程设计报告 课程名称: 计算机网络 设计题目: FTP客户端的设计与实现 系 别: 计算机与信息工程学院 专 业: 计算机科学与技术 组 别: 第一组 起止日期: 2011年11月25 日~ 201 ...

  7. 计算机网络课程设计报告 计算校验和 湖南文理学院,湖南文理学院课程设计 计算机网络实验室综合布线系统的设计与测试...

    内容简介: 湖南文理学院课程设计 计算机网络实验室综合布线系统的设计与测试 共23页,6337字. 摘 要 计算机网络技术与综合布线系统息息相关.计算机和通信技术的飞速发展,网络应用已成为人们日益增长 ...

  8. 计算机网络课程设计即时通讯,计算机网络课程设计报告-基于LAN的即时通信软件.doc...

    一.概述 1.1 设计目的: 利用MFC编程实现客户端之间通过服务器进行通信. 1.2 设计内容: 网络通信软件的数据通信是通过网络套接字进行的.根据该原理,其编程步骤应分为创建套接字.在套接字上进行 ...

  9. 计算机网络ip数据包分析题,计算机网络课程设计_IP数据包的捕获及分析.doc

    CENTRAL SOUTH UNIVERSITY 计算机网络课程设计报告 目录 第一章 课程设计的目的与要求1 1.1 课程设计的目的1 1.2 课程设计的要求1 第二章 课程设计的内容3 2.1 课 ...

  10. 计算机网络课程设计聊天,计算机网络课程设计-简单聊天程序.doc

    计算机网络课程设计-简单聊天程序 黔南民族师范学院 计算机科学系 计算机网络课程设计报告 课题名称: 简单聊天程序 姓 名: 学 号: 专业班级: 系 (院): 计算机科学系 指导老师: 设计时间: ...

最新文章

  1. python辗转相除法求最大公约数的递归函数_Python基于辗转相除法求解最大公约数的方法示例...
  2. Outlets 和Referencing Outlets的区别
  3. 安装Xcode在Mac OS X10.7.3上
  4. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。
  5. c++ 返回数组中最大的值_4个代码块教您如何在C中动态分配2D数组
  6. android layer-list,Android layer-list的属性和使用具体解释
  7. 空投坐标怎么看6_嗦粉不咯?桂林米粉店将分三四五星级,你怎么看? 旅行 6 月 4 日热点速递...
  8. linux-history历史命令-光标的移动操作-命令行上的字符删除操作
  9. 中国港口年鉴(2000-2020年)
  10. 工具学习——在线访问远程服务器的SSH工具
  11. 轨迹优化 | Minimum-jerk
  12. 软件测试,2019.2.15中移物联网面试心路历程。
  13. spss数据处理--数据检查
  14. 机器人技术-HC-SR04超声波传感器数据及机器人避障的应用
  15. 五层协议体系结构的各层功能
  16. 锤子android 7,锤子正式加入安卓7.1.1阵容 一加3/3T尝鲜氢OS公测版
  17. 百度服务器保存信息多久,百度快照在百度服务器里保存多长时间???
  18. html项目的致谢词,毕业论文致谢词范文200字(精选10篇)
  19. BZOJ 5010: [Fjoi2017]矩阵填数
  20. Vhost Architecture

热门文章

  1. 新浪微博API使用入门:申请应用、授权、使用官方java版本SDK
  2. Fluent API Development in C# C#中流畅的API开发 Lynda课程中文字幕
  3. Java中文和拼音相互转换
  4. MFC 进行界面设计与编程
  5. HGO工具CoordTool坐标七参数转换
  6. Mnist数据集介绍
  7. 刷课在线支付系统(新手入门编写,大佬勿喷)
  8. java web对cpu要求_java web服务器cpu占用过高 (转载)
  9. java自动签到_原来实现钉钉自动签到如此简单,每天准时上下班不是梦
  10. 汇编程序debug的使用完整使用