3第三章 网络安全基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3第三章 网络安全基础.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 程序中三个线程共享全局变量x,三个线程都给变量x做加1的操作 这种多线程共享变量的编程的方法一般在端口扫描或者暴力破解的时候使用。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3.4.2 编程语言 C语言 C语言经过不断的发展,在编程体系中可以将其分成四个阶段:面向过程的C语言→面向对象的C++语言→SDK编程→MFC编程(Microsoft Foundation Class:微软基类库)。 (1)C语言可用于多种场合,由于它的效率高,可移植性较高,并具备很强的数据处理能力,因此适于编写系统软件,也比较适合编写网络安全程序。C语言简洁紧凑、灵活方便、数据结构丰富。C语言是结构式语言,语法限制不太严格,程序设计自由度大,并且允许直接访问物理地址,可以直接对硬件进行操作,它还可以直接调用操作系统提供的API函数编写非常强大的程序。所以,C语言是进行网络安全程序编程的首选语言。 (2)C++是建立在C语言之上的,最初被称为带类的C语言,C++没有取代C,而是补充和支持了C。C++在保留C原有精华的基础上,提供了全面的面向对象的编程支持,使得程序和结构更加清晰、更容易维护和扩充,同时又不丧失其高效性。其优点主要是与C语言的兼容,既支持面向对象的程序设计,也支持结构化的程序设计。修补了C语言中的一些漏洞,提供了更好的类型检查和编译时的分析,使得程序员在C++环境下继续写C代码,也能得到直接的好处。C++还提供了异常处理机制,简化了程序的出错处理。一般而言,用C++编写的执行程序执行速度与C语言不相上下。 (3)SDK编程。理解SDK之前,我们要先明确下面两个概念。首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。在 Windows 中,系统 API 是以函数调用的方式提供的。例如同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。DLL,即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。 跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。 (4)MFC编程。SDK的功能非常强大,需要记很多的函数,当面向对象编程成为主流的时候,微软将SDK的函数分类进行封装,这样就诞生了MFC(Microsoft Foundation Class)。传统的Win32开发(直接使用Windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱。而MFC的出现,将面向对象程序设计与Application framework的完美结合,将传统的API进行了分类封装,并且为使用者创建了程序的一般框架, 大大简化了编程者的工作。 Shell语言 Shell就是UNIX系统提供给用户的使用接口,Shell处在内核与外层应用程序之间,起着协调用户与系统的一致性、在用户与系统之间进行交互的作用,Shell本身也是一种可编程的程序设计语言。Shell允许通过编程来完成复杂的功能处理,它是解释性的,而大部分高级语言是编译性的。Shell与系统有密切的关系,Shell易编写、易调试,灵活性较强,但速度低。Shell作为命令级语言,命令组合功能强。Shell有两种主要语法类型,即Bourne Shell和C Shell,它们彼此不兼容。Shell语言的功能非常强大,有时候用它可以轻易实现多种复杂的事情。 其它编程语言 除了C/C++有时候也使用其它的语言进行网络安全编程,例如汇编语言、Java语言、C#语言、Perl语言等,用户可以根据实际需要来选择。 3.4.3 网络编程 套接字编程 套接字(Socket)是用来实现主机和主机通信的一个接口。通过它可以完成主机间的通信操作,它屏蔽了底层的协议,让用户能够实现各种类型的通信操作。它的出现,为网络应用程序的编写提供了极大的方便。它是网络通信中应用程序对应的进程和网络协议之间的接口。套接字的位置如图3-17所示。 图3-17 套

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档