《網絡掃描技術揭秘:原理、實踐與掃描器的實現》
前 言
第 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 tcp/ip協議編程 / 20
2.1.2 netbios/netbeui協議編程 / 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 章 tcp/udp端口掃描器的設計 / 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 www服務器的安裝與配置 / 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 cinternetconnection類 / 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 單機模式或c/s模式的攻擊 / 398
11.1.4 b/s模式下掃描程序設計 / 401
11.2 主機弱密碼掃描 / 412
11.2.1 網絡連接的api / 412
11.2.2 密碼窮舉分析 / 416
11.2.3 程序主界麵 / 418
11.2.4 程序代碼 / 419
11.3 dos/ddos攻擊 / 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 實時監測本地所有tcp/udp連接及端口 / 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
· · · · · · (
收起)