Visual C++黑客编程揭秘与防范
分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 梁洋洋 编著
出 版 社: 人民邮电出版社
出版时间: 2009-7-1字数:版次: 1页数: 392印刷时间:开本: 16开印次:纸张:I S B N : 9787115206640包装: 平装编辑推荐
5大编程案例:
网络扫描器编程、远程控制软件开发、基于认证的网络程序、U盘防火墙工具实现、Windows底层Rootkit编程;
20多个黑客编程关键技术:Socke、监听、绑定、后门、扫描、线程、注入、拒绝服务、杀毒工具、远程控制等;
从Socket、API基础到案例,全实例呈现黑客VC编程技术。
内容简介
本书全面介绍了在Visual C++环境中,使用Windows Socket及API开发各类防范黑客软件及安全防护工具的编程实现方法,深入剖析了目前热门的黑客编程技术。本书通过基础篇、提高篇、综合篇和拓展篇这种循序渐进地方式,向读者介绍了防范黑客攻击程序、安全防护工具、远程控制软件和网络安全管理软件的原理及具体编程实现方法。
本书内容丰富,实用性和实战性强,不仅包括读者必备的防范黑客的编程知识,更深入阐述了网络编程方面的高级技术。不仅适用于黑客程序开发,在读者掌握了本书介绍的各种编程技术后,还能用于开发各类网络安全防护软件。
本书适合初、中级网络安全爱好者学习网络安全知识时使用,同时也可作为程序员和网络高级安全工程师的参考用书。
作者简介
梁洋洋,历任程序员、测试工程师、技术支持工程师等职位,曾在国内著名的安全公司做研发工作,在远程控制、黑客攻防技术、网络编程、Windows编程、杀毒工具实现上有丰富的软件开发经验。
目录
第一篇基础篇
第1章开发网络安全程序基础
1.1认识Windows API和Socket
1.1.1Windows API编程的优点
1.1.2Socket通信流程
1.2服务器端Socket编程
1.2.1使用Socket前的准备工作
1.2.2建立Socket
1.2.3绑定端口
1.2.4监听端口
1.2.5创建服务器端接受客户端请求
1.2.6服务器端响应客户端连接请求
1.2.7完成服务端与客户端Socket连接
1.3客户端Socket编程
1.3.1建立客户端的Socket
1.3.2发起连接申请
1.4用Socket实现数据的传送
1.4.1认识TCP Socket与UDP Socket
1.4.2发送和接收数据的函数
1.5自定义Socket通信类
1.5.1使用类的意义
1.5.2VC中创建通信类
1.5.3通信类的代码实现
1.6小结
第2章网络扫描器程序的实现和代码分析
2.1扫描器的产生及原理
2.1.1扫描器的产生
2.1.2各种扫描器的原理及性能简介
2.2主机扫描技术
2.2.1ICMP Echo扫描
2.2.2ARP扫描
2.3端口扫描技术
2.3.1常用端口简介
2.3.2TCP connect扫描
2.3.3TCP SYN扫描
2.4操作系统识别技术
2.4.1根据ICMP协议的应用得到TTL值
2.4.2获取应用程序标识
2.4.3利用TCP/IP协议栈指纹鉴别
2.4.4操作系统指纹识别依据
2.4.5操作系统指纹识别代码实现
2.4.6Web站点猜测
2.4.7综合分析
2.5扫描器程序实现
2.5.1ICMP echo扫描原理
2.5.2ICMP echo扫描的实现方法
2.5.3ARP扫描的原理
2.5.4ARP扫描的实现方法
2.5.5TCP SYN扫描的原理
2.5.6TCP SYN扫描的实现方法
2.5.7综合应用实例-ARP欺骗程序
2.5.8ARP欺骗的原理
2.5.9环境初始化
2.5.10欺骗主程序实现
2.6资产信息扫描器开发
2.6.1资产信息扫描器的应用范围
2.6.2扫描器的原理(基于SNMP协议)
2.6.3扫描器的实现方法(基于SNMP协议)
2.7小结
第3章基于认证的扫描程序
3.1通信认证的暴力破解剖析
3.1.1FTP协议暴力破解原理
3.1.2FTP协议暴力破解实现方法
3.1.3IMAP协议破解原理
3.1.4IMAP协议破解实现方法
3.1.5POP3协议暴力破解原理
3.1.6POP3协议暴力破解实现方法
3.1.7Telnet协议暴力破解原理
3.1.8Telnet协议暴力破解实现方法
3.2防范恶意扫描及代码实现
3.2.1防范恶意扫描的原理
3.2.2防范恶意扫描的实现方法
3.3小结
第二篇提高篇
第4章拒绝服务攻击剖析及防范
第5章感染型下载者
第6章下载者程序的防范
第7章浅谈RootKit
第三篇综合篇
第8章用VC开发远程控制软件
第9章远程控制软件的通信架构
第10章远程控制软件功能模块的实现——基础功能
第11章远程控制软件功能模块的实现——标准功能
第12章远程控制软件功能模块的实现——高级功能
第13章远程控制软件功能模块的实现——扩展功能
第14章控制软件后期设计完善
第四篇拓展篇
第15章网络安全编程技术延伸
书摘插图
第一篇基础篇
第1章开发网络安全程序基础
1.1认识Windows API和Socket
稍微有过Windows API编程经验的人员都知道,强大的Windows网络程序都是通过灵活的API编程实现的。这些Win32 API函数是网络编程中最基础的函数,在任何网络程序中都会用到。下面各小节中,将介绍这些基础的Win32API函数,掌握此类函数,对后面的网络编程很有帮助。
1.1.1 Windows API编程的优点
大多数Windows程序员已经熟悉MFC的编程开发。实际上,如果要开发出更灵活、更实用、更有效率的应用程序,尤其是网络程序,必然要直接使用API函数进行编程。与使用MFC编写出来的程序相比,使用Win32API编写出来的程序有很多优势:
生成的可执行程序体积小:
执行效率高;
更适用于编写直接对系统进行底层操作的程序,其所生成的代码质量也更加高效简洁。
目前,大多数的黑客程序都依赖于网络,因此,开发黑客程序必然离不开网络通信,即在两台计算机间进行通信。在网络编程中应用最广泛的是Winsock编程接口,即Windows SocketAPl。所有在Win32平台上的Winsock编程都要经过下列步骤:定义变量-获得Winsock 版本-加载 Winsock库-初始化-创建套接字-设置套接字选项-关闭套接字-卸载Winsock库-释放所有资源,如图1.1所示。
……