资 源 简 介
网络安全编程技术与实例.pdf( 网络安全编程技术与实例.pdf )页码,2/6出版说明随着信息科学与技术的迅速发展,人类每时每刻都会面对层出不穷的新技术、新概念。毫无疑问,在节奏越来越快的工作和生活中,人们需要通过阅读和学习大量信息丰富、具备实践指导意义的图书,来获取新知识和新技能,从而不断提高自身素质,紧跟信息化时代发展的步伐。众所周知,在计算机硬件方面,高性价比的解决方案和新型技术的应用一直备受青睐在软件技术方面,随着计算机软件的规模和复杂性与日俱增,软件技术受到不断挑战,人们一直在为寻求更先进的執件技术而奋斗不止。目前,计算机在社会生活中日益普及,随着因特网延伸到人类世界的层层面面,掌握计算机网络技术和理论已成为大众的文化需求。由于信息科学与技术在电工、电子、通信、工业控制、智能建筑、工业产品设计与制造等专业领域中已经得到充分、广泛的应用,所以这些专业领域中的研究人员和工程技术人员越来越迫切需要汲取自身领域信息化所带来的新理念和新方法。针对人们对了解和掌握新知识、新技能的热切期待,以及由此促成的人们对语言简洁、“内容充实、融合实践经验的图书迫切需要的现状,机槭工业出版社适时推出了“信息科学与技术丛书”。这套丛书涉及计算机软件、硬件、网络、工程应用等内容,注重理论与实践相结合,内容实用,层次分明,语言流畅,是信息科学与技术领域专业人员不可或缺的图书。现今,信息科学与技术的发展可谓一日千里,机械工业出版社欢迎从事信息技术方面工作的科研人员、工程技术人员积极参与我们的工作,为推进我国的信息化建设作出贡献。机械工业出版社本回发点A93http://www.zhengzhifl.cn/printing.htm2010-4-30页码,3/6m前言m随着计算机网络的飞速发展,安全问题日益突出。为了保护网络安全,一些网络安全技术应运而生,对网络安全技术的研究也变得至关重要。网络安全是一门实践性很强的学科。理论联系实际,实践出真知,本书就是在这个背景下产生的,以实例为指导,以编程为中心旨在让读者对网络安全相关技术有更深的理解。本书主要对网络安全方面的一些技术进行了案例分析,通过编程实现了一些常用的网络安全技术,包括网络安全扫描、网络协议分析、网络数据包生成和网络入侵检测本书不是讲解网络安全理论的书籍,关于网络安全理论的书籍市面上很多,读者可以参考很多经典作品。本书主要讲解关于网络安全的编程技术,对常用网络安全技术进行了编程实现。由于网络安全涉及的内容很多,本书主要对网络安全扫描、网络协议分析、网络数据包生成和网络入侵检测进行了編程实现。其他的网络安全内容,限于篇幅没有涉及。第1章介绍了一些网络安全方面的基本知识第2章主要介绍了一些基本的网络安全编程,包括 Winsock套接字編程,还涉及进程、计时器以及注册表编程等。在 Winsock套接字編程中主要介绍了套接宇编程的基本原理,以及基于流式套接字和基于数据报套接字的编程方法。重点介绍了原始套接字的基本原理,对其发送数据包和接收数据包的过程进行了分析。在本章还介绍了获取网络接口的编程方法,此功能在网络安全编程中经常要用到。第3章对网络安全扫描进行丁編程实现,首先简单阐述」一些剛络安全扫描的知识,其中包括各种端口扫描、隐秘扫描、漏洞扫描、远程操作系统识别、服务器扫描、木马扫描等技术。然后通过实例程序对每种网络安全扫描技术进行了编程实现,其中涉及 Winsock原始套接字编程技术以及多线程技术等。在端口扫描中实现了TCP扫描,包括TP连接扫描、TCP SYN扫描以及 TCP FIN扫描等。还实现了LCMP扫描、UDP扫描、多线程扫描技术等。对服务器扫描实现了Web服务器扫描、FIP服务器扫描以及Emai服务器扫描。第4章讲述网络协议分析系统的实现过程,使用编程工具 Visual C++6.0介绍了多种协议分析实现方法,包括使用 Winsock原始套接字方法以及 WinPcap方法。本章详细阐述了网络协议分析系统的实现原理,包括数据包捕获技术、协议分析技术。介绍了利用 Winsock原始套接字捕获网络数据包的过程,列举了利用 Winsock原始套接字方法对IP协议分析、TCP协议分析、UDP协议分析以及ICMP协议分析的编程案例。最后利用 WinPcap方法实现了一个基于MFC的协议分析系统,实现了对以太网、ARP、IP、TCP、UDP、ICMP协议的分析功能,是一个内容比较综合的网络协议分析系统实例。第5章介绍网络数据包生成编程技术,阐述了几种生成网络数据包的方法,包括 Winsock原始套接字方法, WinPcap生成数据包的方法以及使用 Libnet生成数据包的方法。介绍了使用这些方法生成数据包的基本过程以及它们的区别,并且列举了利用这些方法分别实现常用协议数据包的生成实例,具体包括以太网数据包生产、ARP数据包生成、IP数据包生成、UDP数据包生成、TCP数据包生成和ICMP数据包生成。http://www.zhengzhifl.cn/printing.htm2010-4-30页码,4/6第6章介绍了网络入侵检测系统的编程技术,在本章设计和实现了一个简单的基于Windows的入侵检测系统,本系统是在第4章的协议分析系统基础上实现的,添加了入侵检测功能部分。在本章对基本的模式匹配入侵检测技术和基于协议分析的入侵检测技术进行了简单实现。本书设计和实现的所有案例短小精悍,以阐述和实现网络安全原理为目的。侧重于网络安全的编程实践,而不是纯坦论的介绍。在书中,对每个程序都有比较详尽的解释,每个程序实例力求完整、简洁、清晰,以说明问题为主,不增加过多的次要功能。书中所有实例都是用ⅵsuC++60编写而成的。如果读者想要理解这些网络安全技术,又想通过编程实现这些技术,本书是一个很好的参考样本。本书可供网络安全研究和开发人员以及网络安全爱好者参考也可以作为计算机网络和网络安全专业的教学参考书,还可以作为课程设计参考书。随书的代码可在http://www.cmpbook.com下载在本书编写过程中李元香帮助查阅资料,在此表示感谢。还要感谢我的同事和朋友以及不断支持我的家人。由于作者水平有限,书中难兔有不妥和疏漏之处,欢迎指正。本书联系 Email: liuwentao268@l63com刘文涛武汉工业学院http://www.zhengzhifl.cn/printing.htm2010-4-30页码,5/6目。录一出版说明前言第1章网络安全概述…………111网络安全原理………1n11信息安全………………11.12网络安全¨"¨¨¨¨¨1.13网络安全模型………………31.14安全策略……………41.1.5安全管理""""""""12网络安全的组成……………51.21客户端安全……………51,22服务器安全……………………"""""…………51.23网络设施安全………513研究网络安全的必要性13.1技术层面………“132社会层面…614网络安全技术………………………………14.网安全扫描……"""¨"¨614.2网络协议分析……17143网络数据包生成·………"""""""""""""144网络入侵检测……………………………………………8第2章网络安全编程基础…………………92.1协议基础…2.1.1 TCP/IP协议“………““2.1.2OS[协议模型………………+*…22网络编程……112221套接字编程…………………………1222.2 WinSock编程142.3原始套接字…吾+2.3.1原始套接字基本原理………………23.2发送数据…452.3.3监听数据……5224操作系统……………………5724Lirx操作系统42 Windows操作系统……http://www.zhengzhifl.cn/printing.htm2010-4-30页码,6/625编程语言“””里4““““““““””““……592.51C语言5902.5.2C++语言·111,40253 Shell语言25.4其他编程语言16026ⅥisuC++网络安全编程基础…261进程处理1600826,2线程处理6326.3定时器处理·…6508264注册表处理…1672.6.5获取网络接口信息→“171第3章网络安全扫描编程……831网络安全扫描介绍803.1.1何为网络安全扫描803.1.2网络安全扫描的作用………:803.13应用场合·目目副主主甚当世由南3.2端口扫描…………:813.21端口的意义…8123.22端口扫描过程…"…18233高级ICMP扫描技术……11111134高级TCP扫描技术3.41SYN扫描…86342ACK扫描…8734,3FIN扫描…88344NULL扫描·883.5高级UDP扫描技术……““想…“·8836木马扫描技术37隐秘扫描技术…………………89本……9039操作系统探测技术……913.10端口扫描实现3.10.1ICMP扫描实现·111113.102TCP扫描实现3.103UDP扫描实现“1123104木马扫描实现·中年平平+“击如……………………1243,10.5隐秘扫描实现1273.11操作系统探测实现…………中“138312服务器扫描实现…*52312IWeb服务器…1152http://www.zhengzhifl.cn/printing.htm2010-4-30页码,1/33122H服务器……………1573.123 E-mail服务器…165313多线程扫描技术……………………………………16903,13.1 Windows多线程原理…1693.13.2VC++多线程技术……………:…174313·多线程扫描编程实现…175第4章网络协议分析编程………18041网络协议分析系统概述…………………………………1804.11网络嗅探…1004.12应用场合………·1804.13基本功能…………1…18142网络协议原理……814.2.1网络分层…81422络协议………………,,:11834.3协议类型…………………………………………184431 TCP/IP协议…mt重重…11844.3.2 NETBIOS协议·……:,,……“……“………………4.33 IPX/SPX协议…■■套国面福画1864.4 TCP/IP协议族原理187441分解与封装………18744.2 Ethernet"""t………18844.3 ARP/RARP··…在“……44.4IP………"""":19344.5UDP…14195446TCpP………112044.7ICMP…“20644.8 Httpftp“2174.5编程实现…………“…………“:22245.1基于原始套接字…2224.52基于 win Pcap:11222453其他技术……………234.6网络数据包捕获………4461网卡混杂模式124462交换网络2254.7基于原始套接字的编程实现方法…………………………2264.7.1捕获数据包……:264.7.2协议分析……………………………122948基于 WinPcap的编程实现方法24148 I Wir Pcap编程模式……241VIlhttp://www.zhengzhifl.cn/printing.htm2010-4-30页码,2/34.82捕获数据包……………………………………………2444.83整体框架………………247484协议分析……………………255第5章网终数据包生成编程…………2695.1网络数据包生成技术概述……11269511基本原理·………*26951.2作用………26952网络数据包生成编程实现…:270521原始套接字方法……270522基于 winPcap方法…………2715.23基于 Libnet方法…2715.3原始套接字的方法…27105.3.1生成P数据包………2715.3.2生成TCP数据包…1278533生成UDP数据包·………2885.34生成ICMP数据包“…和和54基于 winPcap的方法·申日日日自串1日日日a中日干是中↓平干干普音+普出世分世出世出量54.1基本流程…31542生成ARP数据包…,………,………,,………………306543生成IP数据包…1312544生成TCP数据包…………………………………………………………31954.5生成UDP数据包…1328546生成ICMP数据包…3555基于 Libnet的方法…114255l基本方法…11342552数据包生成·343第6章入侵检测编程……………………35261入侵检测系统概述……………………261入侵检测的分类…1352612入侵检测的标准化…1352613入侵检测的作用…135262入侵检测原理…135362.1入侵检测模型·353622异常检测………………………………………………………………353623误用检测…………………………………………………………,35363入侵检测技术……………………………………………………35363.1模式匹配…5363,2统计分析35463,3状态转换分析1354IXhttp://www.zhengzhifl.cn/printing.htm2010-4-30页码,3/363专家系统……35463.5神经网络·135463.6模型推理…,,“……3546.3.7数据挖掘·t……35463.8基于协议分析………35564编程实现……………………………………………*…*…:113556.5数据包的捕获实现……………………和本年:3566数据包分析………………………………:361661分析流程……361662协汉种类……………………362663程序实现………36267入侵检测模块……………………………………………………………37067.1检测方法…3706.72实现一世出普十世世世世甘世t出出t世t世世曾建376参考文献………………1386Xhttp://www.zhengzhifl.cn/printing.htm2010-4-30