《网络扫描技术揭秘 原理、实践与扫描器的实现》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:李瑞民著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111365327
  • 页数:499 页
图书介绍:网络扫描技术是一种针对Internet远程目标网络或本地主机进行判断的技术,该技术在主机安全性、漏洞的判断、服务发现、设备监控等领域都有具体的应用。本书概述了网络扫描技术的概念、原理和分类,并用实例讲解了几种扫描器的设计方法和使用场景,例如:TCP/UDP端口、NETBIOS、SNMP、应用服务、ICMP扫描器,最后还给出了防扫描器的研究成果。本书适合网络开发人员、安全技术人员参考,也适合所有想了解网路扫描技术的学生、教师以及安全技术爱好者。

第1章 绪论 1

1.1网络安全的概念 1

1.2网络扫描的概念 2

1.2.1服务和端口 2

1.2.2网络扫描 4

1.3网络扫描原理概述 5

1.4扫描编程与客户端编程的区别 5

1.5网络扫描的目的 5

1.6网络扫描算法 6

1.6.1非顺序扫描 6

1.6.2高速扫描 8

1.6.3分布式扫描 8

1.6.4服务扫描 8

1.6.5指纹识别算法 8

1.6.6漏洞扫描 9

1.6.7间接扫描 9

1.6.8秘密扫描 9

1.6.9认证扫描 10

1.6.10代理扫描 10

1.6.11手工扫描 10

1.6.12被动扫描 10

1.7网络扫描器的分类 11

1.8网络扫描技术的发展史 12

1.8.1手工扫描阶段 12

1.8.2使用通用扫描器阶段 13

1.8.3设计专用扫描器阶段 14

1.9扫描器的限制 14

1.10当前网络常见的漏洞 14

1.10.1 DOS和DDOS 15

1.10.2缓冲区溢出 15

1.10.3注入式攻击 17

1.10.4明文传输 17

1.10.5简单密码 18

第2章 网络协议和网络编程例程 19

2.1常用的网络编程 19

2.1.1 TCPIP协议编程 20

2.1.2 NetBIOSNetBEUI协议编程 41

2.1.3 Win Inet高层编程 47

2.1.4命名管道和邮槽高层编程 48

2.2扫描器中公用编程示例 49

2.2.1 CTreeCtrl控件的应用 49

2.2.2 CListCtrl控件的应用 51

2.2.3 INI文件的操作 53

2.2.4数据库ADO的简单应用 56

2.2.5 IP格式的互换 59

2.2.6 Windows操作系统类型的判断 62

2.2.7多线程的局限性和使用方式 63

2.2.8 VC++下Windows Socket的使用 66

2.2.9网卡的混杂模式 69

2.3嵌入外部程序 71

2.3.1可执行外部程序的几个函数 71

2.3.2编程实例:使用重定向接收外部程序运行结果 76

2.3.3编程实例:使用管道接收外部程序运行结果 80

第3章TCPUDP端口扫描器的设计 85

3.1端口扫描的概念 85

3.1.1端口的概念 85

3.1.2端口扫描原理 87

3.2端口扫描技术 87

3.2.1网络通信实例分析 87

3.2.2 TCP扫描 90

3.2.3 UDP扫描 92

3.3手工扫描 93

3.3.1检测单主机单端口开与否 93

3.3.2检测单主机单端口是否有相应服务 94

3.3.3检测多主机或多端口 95

3.4编程实例:TCP端口扫描器 98

3.4.1程序主界面 99

3.4.2程序代码 100

3.5编程实例:UDP端口扫描器 112

3.5.1程序主界面 112

3.5.2程序代码 113

第4章NetBIOS扫描器的设计 120

4.1 NetBIOS协议的使用 120

4.1.1查看和修改NetBIOS配置 120

4.1.2查看NetBIOS配置的命令 122

4.2 IP和主机名的互换 127

4.2.1主机名转IP地址 127

4.2.2 IP地址转主机名 127

4.3 MAC地址的读取 128

4.4本地域名、子网掩码、网卡类型的读取 129

4.5用户名、共享目录、组列表的读取 134

4.5.1 Unicode编程与ANSI之间的互换 134

4.5.2用户名列表的读取 137

4.5.3共享目录的读取 150

4.5.4组列表的读取 156

4.5.5远端主机时间的读取 159

4.5.6远端服务支持类型的读取 161

4.5.7主机信息的读取 163

4.6 NetBIOS的安全性 166

4.7编程实例:反“IP欺骗”——MAC地址扫描器的设计 169

4.7.1反“IP欺骗”的原理 169

4.7.2 MAC地址扫描器的主界面 170

4.7.3程序代码 170

4.8编程实例:NetBIOS的通用扫描器 176

4.8.1程序主界面 176

4.8.2程序代码 177

第5章SNMP扫描器的设计 186

5.1 SNMP协议 186

5.1.1管理信息结构 187

5.1.2管理信息库 187

5.1.3通信协议 191

5.2 SNMP的API 193

5.2.1数据类型和常用结构 194

5.2.2管理程序API 197

5.3 SNMP安装和验证 204

5.4编程实例:SNMP通用读设工具 207

5.4.1程序主界面 208

5.4.2程序代码 209

5.5编程实例:基于SNMP的主机扫描器 213

5.5.1程序主界面 214

5.5.2程序代码 214

第6章ICMP扫描器的设计 221

6.1 ICMP协议简介 222

6.2 ping与tracert命令简介 222

6.2.1 ping程序使用 222

6.2.2 tracert程序使用 224

6.3 ICMP通信实例分析 226

6.4 ICMP协议内容 227

6.4.1目的不可达消息 227

6.4.2超时消息 228

6.4.3参数问题消息 229

6.4.4源拥塞消息 229

6.4.5重定向消息 230

6.4.6回送请求或回送响应消息 231

6.4.7时间戳请求和时间戳响应消息 231

6.4.8信息请求或信息响应消息 232

6.5 ICMP扫描的安全性 233

6.6编程实例:快速多IP的ICMP扫描器 234

6.6.1程序主界面 234

6.6.2程序原理 237

6.6.3程序代码 238

第7章基于协议的服务扫描器的设计 250

7.1 WWW服务扫描 251

7.1.1 WWW服务器架构 251

7.1.2协议消息格式 254

7.1.3 W W W服务器的安装与配置 260

7.2编程实例:WWW服务扫描器 264

7.2.1扫描原理 265

7.2.2程序主界面 266

7.2.3程序代码 266

7.3 FTP服务扫描 272

7.3.1 FTP简介 272

7.3.2 FTP服务器的安装与配置 274

7.4编程实例:FTP服务扫描器 278

7.4.1程序主界面 278

7.4.2程序代码 278

7.5 Telnet服务扫描 281

7.5.1 Telnet协议简介 281

7.5.2 Telnet的安装与配置 284

7.6编程实例:Telnet服务扫描器 286

7.6.1程序主界面 287

7.6.2程序代码 287

7.7 Email服务扫描 291

7.7.1电子邮件协议简介 291

7.7.2电子邮件服务器的安装与配置 299

7.8编程实例:Email服务扫描器 306

7.8.1程序主界面 306

7.8.2程序代码 307

第8章 基于应用的服务扫描器的设计 314

8.1 Win Inet编程接口 314

8.1.1 CInternetSession类 315

8.1.2 CIntemetConnection类 322

8.1.3 CHttpConnection类 323

8.1.4 CFtpConnection类 324

8.1.5 CInternetFile类 237

8.1.6 CInternetException类 329

8.2编程实例:基于应用的WWW服务扫描器 329

8.3编程实例:基于应用的FTP服务扫描器 330

8.4网络资源协议 332

8.4.1 NETRESOURCE结构 332

8.4.2 WNetOpenEnum函数 333

8.4.3 WNetEnumResource函数 334

8.4.4 WNetCloseEnum函数 335

8.5编程实例:网络资源扫描器 336

8.5.1程序主界面 336

8.5.2程序代码 337

第9章 命名管道扫描器的设计 341

9.1命名管道 341

9.2命名管道API 342

9.2.1命名管道的UNC格式 342

9.2.2命名管道编程的API 342

9.3命名管道编程示例 349

9.3.1命名管道服务器端 349

9.3.2命名管道客户端 350

9.4邮槽 352

9.4.1邮槽的UNC格式 352

9.4.2邮槽编程的API 352

9.5邮槽编程示例 354

9.5.1邮槽服务器端编程 354

9.5.2邮槽客户端编程 355

9.6编程实例:SQL Server命名管道扫描器的设计 356

9.6.1 Microsoft SQL Server简介 356

9.6.2程序主界面 359

9.6.3程序代码 360

第10章 服务发现扫描器的设计 364

10.1服务发现简介 364

10.2 UPnP协议 365

10.2.1寻址 367

10.2.2发现 367

10.2.3描述 368

10.2.4控制 369

10.2.5事件 369

10.2.6展示 370

10.3 XML协议 371

10.4 SSDP协议分析实例 373

10.4.1设备类型 374

10.4.2协议消息格式 377

10.5编程实例:服务发现扫描器 381

10.5.1程序主界面 382

10.5.2程序代码 383

第11章 漏洞扫描器的设计 395

11.1注入式漏洞扫描器 395

11.1.1 SQL注入式攻击原理 396

11.1.2注入式攻击的局限性 398

11.1.3单机模式或CS模式的攻击 398

11.1.4 BS模式下扫描程序设计 401

11.2主机弱密码扫描 412

11.2.1 网络连接的API 412

11.2.2密码穷举分析 416

11.2.3程序主界面 418

11.2.4程序代码 419

11.3 DOSDDOS攻击 425

11.3.1程序主界面 427

11.3.2程序代码 427

11.4明文密码嗅探 432

11.4.1程序主界面 433

11.4.2程序代码 434

11.5端口对照 443

11.5.1程序主界面 443

11.5.2程序代码 445

第12章 扫描防范技术的研究 451

12.1更换端口 452

12.2预留陷阱技术 453

12.3基于哨兵的端口扫描监测 454

12.3.1程序主界面 455

12.3.2程序代码 456

12.4基于嗅探的端口扫描监测及DDOS拒绝服务监测 460

12.4.1程序主界面 461

12.4.2程序代码 462

12.5实时监测本地所有TCPUDP连接及端口 467

12.5.1程序主界面 467

12.5.2结构与函数API 468

12.5.3程序代码 471

12.6如何关闭端口 478

12.6.1 FTP端口 478

12.6.2 WWW端口 480

12.6.3 Telnet端口 480

12.6.4 NetBIOS端口 481

附录A本书容易混淆概念解析 482

附录B Windows Socket错误返回码 486

附录C Win Inet错误返回码 491

附录D HTTP错误返回码 493

参考文献 498

后记 499