Nmap是目前非常受關注的網絡安全審計技術工具,是絕大多數從事網絡安全人員的必備工具。本書由一線網絡安全教師親筆撰寫,凝聚了作者多年教學與實踐開發經驗,內容涉及網絡安全審計的作用、價值、方法論,Nmap在網絡安全管理方面的方法與應用,以及Nmap強大的腳本編寫功能等。本書內容並不局限於某個具體功能的使用,而是系統深入地結合Nmap與網絡審計原理進行講解,幫助網絡安全人員全面深入了解使用Nmap進行網絡安全審計的相關技術。本書講解的內容通俗易懂、深入淺出,特別是書中所用示例的設計,它們不僅可以讓讀者理解某個知識點的用法,更能讓讀者明白具體知識點所使用的場景,從而更深入地理解具體內容。
本書內容安排合理,架構清晰,注意理論與實踐相結合,適合那些希望學習Nmap進行網絡安全審計的網絡安全滲透測試人員、運維工程師、網絡管理人員、網絡安全設備設計人員、網絡安全軟件開發人員、安全課程培訓人員、高校網絡安全專業方向的學生等閱讀。
李華峰,畢業於東北師范大學,目前在河北省一所高校任教,也是《精通MetaSploit滲透測試》一書的譯者。他自幼便是一個狂熱的黑客技術追求者,現在主要從事網絡安全與滲透測試方面的教育工作。作為一名資深的計算機安全領域的研究人員,研究的主要方向為網絡掃描技術、漏洞檢測、入侵檢測等。
目錄
第1章 走近Nmap 1
1.1 Nmap簡介 2
1.2 Nmap的下載與安裝 3
1.2.1 在Windows系統下安裝與下載Nmap 3
1.2.2 在Linux系統下安裝Nmap 6
1.3 Nmap的基本操作 6
1.4 掃描范圍的確定 7
1.4.1 對連續范圍內的主機進行掃描 7
1.4.2 對整個子網進行掃描 8
1.4.3 對多個不連續的主機進行掃描 8
1.4.4 在掃描的時候排除指定的目標 9
1.4.5 對一個文本文件中的地址列表進行掃描 9
1.4.6 隨機確定掃描目標 10
小結 10
第2章 活躍主機發現技術 11
2.1 活躍主機發現技術簡介 12
2.2 網絡協議與主機發現技術 12
2.3 基於ARP協議的活躍主機發現技術 14
2.3.1 ARP協議解析 14
2.3.2 在Nmap中使用ARP協議進行主機發現 16
2.4 基於ICMP協議的活躍主機發現技術 18
2.4.1 ICMP協議解析 18
2.4.2 使用ICMP協議進行主機發現 19
2.5 基於TCP協議的活躍主機發現技術 22
2.5.1 TCP協議解析 22
2.5.2 使用TCP協議進行主機發現 23
2.6 基於UDP協議的活躍主機發現技術 29
2.6.1 UDP協議解析 29
2.6.2 使用UDP協議進行主機發現 30
2.7 基於SCTP協議的活躍主機發現技術 31
2.7.1 SCTP協議解析 31
2.7.2 使用SCTP協議進行主機發現 31
2.8 使用IP協議進行主機地址發現 32
2.9 Nmap活躍主機發現中與DNS協議相關的選項 33
2.9.1 DNS協議解析 33
2.9.2 Nmap中的DNS選項 34
2.10 主機發現技術的分析 36
小結 38
第3章 端口掃描技術 39
3.1 端口的概念 39
3.2 端口的分類 40
3.3 Nmap中對端口狀態的定義 41
3.4 Nmap中的各種端口掃描技術 41
3.4.1 SYN掃描 42
3.4.2 Connect掃描 43
3.4.3 UDP掃描 43
3.4.4 TCP FIN掃描 44
3.4.5 NULL掃描 44
3.4.6 Xmas Tree掃描 45
3.4.7 idle掃描 45
3.5 指定掃描的端口 46
小結 48
第4章 遠程操作系統與服務檢測技術 49
4.1 遠程操作系統檢測簡介 50
4.2 操作系統指紋簡介 51
4.3 操作系統指紋掃描作為管理工具 52
4.4 為什麼要進行服務發現 57
4.5 如何使用Nmap進行服務發現 60
小結 62
第5章 Nmap的圖形化操作工具—Zenmap 63
5.1 Zenmap簡介 63
5.2 啟動Zenmap 64
5.3 Zenmap掃描操作 68
5.4 使用Zenmap的命令向導來創建命令 69
5.5 對Zenmap的配置進行管理 75
5.6 對Zenmap掃描的結果進行管理和比較 76
5.7 Zenmap中的拓撲功能 82
小結 83
第6章 Nmap的高級技術與防御措施 84
6.1 Nmap的偽裝技術 84
6.2 TCP Connect掃描的檢測 93
6.3 操作系統掃描的防范 96
6.4 Nmap的格式化輸出 96
小結 100
第7章 NSE的基礎部分 101
7.1 NSE腳本的運行 102
7.1.1 NSE中腳本的分類 102
7.1.2 NSE腳本的選擇 103
7.2 如何向NSE腳本傳遞參數 105
7.2.1 NSE中傳遞參數的方式 105
7.2.2 從文件中載入腳本的參數 106
7.2.3 NSE腳本調試 107
7.4 NSE常見腳本的應用 109
7.4.1 信息收集類腳本 109
7.4.2 高級主機發現類腳本 111
7.4.3 密碼審計類腳本 112
7.4.4 漏洞掃描類腳本 114
小結 116
第8章 NSE的編寫基礎 117
8.1 NSE腳本的基本格式 117
8.2 NSE腳本的規則 118
8.3 NSE開發環境的設置 119
8.4 編寫簡單的NSE腳本 123
8.5 實例應用:垃圾郵件木馬的檢測 127
小結 128
第9章 Lua語言 129
9.1 Lua的編程環境 130
9.1.1 在Windows系統上安裝Lua編程環境 130
9.1.2 在Linux系統上安裝Lua編程環境 130
9.2 第一個Lua程序 131
9.3 Lua流程控制 132
9.4 Lua中的循環結構 133
9.5 Lua數據類型 135
9.6 Lua字符串 136
9.7 Lua文件I/O操作 142
9.8 Lua協同程序 144
9.8.1 什麼是協同程序 144
9.8.2 線程和協同程序的區別 144
9.8.3 coroutine基本語法 144
9.9 Lua語言中的注釋和虛變量 145
9.9.1 Lua語言中的注釋說明 145
9.9.2 Lua語言中的虛變量 145
小結 146
第10章 NSE中的API 147
10.1 Nmap API 147
10.1.1 host table 148
10.1.2 port table 154
10.2 NSE中的異常處理 157
10.3 NSE中的注冊表 159
小結 159
第11章 NSE中的庫文件 160
11.1 NSE庫文件的編寫 161
11.2 擴展一個現有NSE庫文件的功能 163
11.3 使用C/C++編寫的NSE模塊 168
11.4 常見的NSE庫文件 170
11.4.1 shortport 170
11.4.2 http 173
11.4.3 stdNSE 176
11.4.4 OpenSSL 176
11.4.5 target 177
11.4.6 creds 177
11.4.7 vluns 177
小結 178
第12章 對服務發現功能進行增強 179
12.1 NSE中的服務發現模式 179
12.1.1 服務發現的過程 180
12.1.2 調整版本掃描的級別 180
12.1.3 更新版本偵測探針數據庫 181
12.1.4 從版本檢測中排除指定端口 181
12.1.5 post-processors簡介 182
12.2 自定義版本檢測腳本 182
12.2.1 將腳本的分類定義為version檢測 182
12.2.2 定義版本檢測腳本的portrule 182
12.2.3 更新端口服務版本信息 183
12.3 服務發現腳本的實例 184
12.3.1 modbus-discover 184
12.3.2 ventrilo-info 185
12.3.3 rpc-grind 187
小結 188
第13章 NSE中的數據文件 189
13.1 Nmap中數據文件所在的位置 190
13.2 Nmap中選擇數據文件的順序 190
13.3 暴力窮舉時所使用的用戶名和密碼列表數據文件 190
13.3.1 用戶名數據文件 190
13.3.2 密碼數據文件 191
13.4 Web應用審計數據文件 191
13.4.1 http-fingerprints.lua 191
13.4.2 http-sql-errors.lst 192
13.4.3 http-web-files-extensions.lst 192
13.4.4 http-devframework-fingerprints.lua 193
13.4.5 http-folders.txt 193
13.4.6 vhosts-default.lst 194
13.4.7 wp-plugins.lst 194
13.5 DBMS-auditing數據文件 195
13.5.1 mysql-cis.audit 195
13.5.2 oracle-default-accounts.lst 196
13.5.3 oracle-sids 196
小結 197
第14章 密碼審計腳本的開發 198
14.1 使用NSE庫進行工作 199
14.1.1 NSE中brute模式的設定 199
14.1.2 NSE中Driver類的實現 200
14.1.3 NSE中庫文件和用戶選項的傳遞 202
14.1.4 NSE中通過Account對象返回有效的賬戶 203
14.1.5 NSE中使用Error類來處理異常 204
14.2 使用unpwdb NSE庫讀取用戶名和密碼信息 204
14.3 對掃描中得到的用戶憑證進行管理 205
14.4 針對FTP的密碼審計腳本 205
14.5 針對MikroTik RouterOS API的密碼審計腳本 208
小結 212
第15章 漏洞審計與滲透腳本的編寫 213
15.1 Nmap中的漏洞掃描功能 213
15.2 NSE中的exploit腳本 215
15.3 RealVNC的滲透腳本 217
15.4 Windows系統漏洞的檢測 218
15.5 對heartbleed漏洞進行滲透 220
15.6 vulns庫中的漏洞功能 224
小結 227
第16章 NSE的並發執行 228
16.1 Nmap中的並發執行 228
16.2 Nmap中的時序模式 229
16.3 Lua中的並發執行 230
16.4 NSE中的並發執行 235
16.4.1 NSE中的線程 236
16.4.2 NSE中的條件變量 236
16.4.3 NSE中的互斥變量 238
小結 239
1.1 Nmap簡介 2
1.2 Nmap的下載與安裝 3
1.2.1 在Windows系統下安裝與下載Nmap 3
1.2.2 在Linux系統下安裝Nmap 6
1.3 Nmap的基本操作 6
1.4 掃描范圍的確定 7
1.4.1 對連續范圍內的主機進行掃描 7
1.4.2 對整個子網進行掃描 8
1.4.3 對多個不連續的主機進行掃描 8
1.4.4 在掃描的時候排除指定的目標 9
1.4.5 對一個文本文件中的地址列表進行掃描 9
1.4.6 隨機確定掃描目標 10
小結 10
第2章 活躍主機發現技術 11
2.1 活躍主機發現技術簡介 12
2.2 網絡協議與主機發現技術 12
2.3 基於ARP協議的活躍主機發現技術 14
2.3.1 ARP協議解析 14
2.3.2 在Nmap中使用ARP協議進行主機發現 16
2.4 基於ICMP協議的活躍主機發現技術 18
2.4.1 ICMP協議解析 18
2.4.2 使用ICMP協議進行主機發現 19
2.5 基於TCP協議的活躍主機發現技術 22
2.5.1 TCP協議解析 22
2.5.2 使用TCP協議進行主機發現 23
2.6 基於UDP協議的活躍主機發現技術 29
2.6.1 UDP協議解析 29
2.6.2 使用UDP協議進行主機發現 30
2.7 基於SCTP協議的活躍主機發現技術 31
2.7.1 SCTP協議解析 31
2.7.2 使用SCTP協議進行主機發現 31
2.8 使用IP協議進行主機地址發現 32
2.9 Nmap活躍主機發現中與DNS協議相關的選項 33
2.9.1 DNS協議解析 33
2.9.2 Nmap中的DNS選項 34
2.10 主機發現技術的分析 36
小結 38
第3章 端口掃描技術 39
3.1 端口的概念 39
3.2 端口的分類 40
3.3 Nmap中對端口狀態的定義 41
3.4 Nmap中的各種端口掃描技術 41
3.4.1 SYN掃描 42
3.4.2 Connect掃描 43
3.4.3 UDP掃描 43
3.4.4 TCP FIN掃描 44
3.4.5 NULL掃描 44
3.4.6 Xmas Tree掃描 45
3.4.7 idle掃描 45
3.5 指定掃描的端口 46
小結 48
第4章 遠程操作系統與服務檢測技術 49
4.1 遠程操作系統檢測簡介 50
4.2 操作系統指紋簡介 51
4.3 操作系統指紋掃描作為管理工具 52
4.4 為什麼要進行服務發現 57
4.5 如何使用Nmap進行服務發現 60
小結 62
第5章 Nmap的圖形化操作工具—Zenmap 63
5.1 Zenmap簡介 63
5.2 啟動Zenmap 64
5.3 Zenmap掃描操作 68
5.4 使用Zenmap的命令向導來創建命令 69
5.5 對Zenmap的配置進行管理 75
5.6 對Zenmap掃描的結果進行管理和比較 76
5.7 Zenmap中的拓撲功能 82
小結 83
第6章 Nmap的高級技術與防御措施 84
6.1 Nmap的偽裝技術 84
6.2 TCP Connect掃描的檢測 93
6.3 操作系統掃描的防范 96
6.4 Nmap的格式化輸出 96
小結 100
第7章 NSE的基礎部分 101
7.1 NSE腳本的運行 102
7.1.1 NSE中腳本的分類 102
7.1.2 NSE腳本的選擇 103
7.2 如何向NSE腳本傳遞參數 105
7.2.1 NSE中傳遞參數的方式 105
7.2.2 從文件中載入腳本的參數 106
7.2.3 NSE腳本調試 107
7.4 NSE常見腳本的應用 109
7.4.1 信息收集類腳本 109
7.4.2 高級主機發現類腳本 111
7.4.3 密碼審計類腳本 112
7.4.4 漏洞掃描類腳本 114
小結 116
第8章 NSE的編寫基礎 117
8.1 NSE腳本的基本格式 117
8.2 NSE腳本的規則 118
8.3 NSE開發環境的設置 119
8.4 編寫簡單的NSE腳本 123
8.5 實例應用:垃圾郵件木馬的檢測 127
小結 128
第9章 Lua語言 129
9.1 Lua的編程環境 130
9.1.1 在Windows系統上安裝Lua編程環境 130
9.1.2 在Linux系統上安裝Lua編程環境 130
9.2 第一個Lua程序 131
9.3 Lua流程控制 132
9.4 Lua中的循環結構 133
9.5 Lua數據類型 135
9.6 Lua字符串 136
9.7 Lua文件I/O操作 142
9.8 Lua協同程序 144
9.8.1 什麼是協同程序 144
9.8.2 線程和協同程序的區別 144
9.8.3 coroutine基本語法 144
9.9 Lua語言中的注釋和虛變量 145
9.9.1 Lua語言中的注釋說明 145
9.9.2 Lua語言中的虛變量 145
小結 146
第10章 NSE中的API 147
10.1 Nmap API 147
10.1.1 host table 148
10.1.2 port table 154
10.2 NSE中的異常處理 157
10.3 NSE中的注冊表 159
小結 159
第11章 NSE中的庫文件 160
11.1 NSE庫文件的編寫 161
11.2 擴展一個現有NSE庫文件的功能 163
11.3 使用C/C++編寫的NSE模塊 168
11.4 常見的NSE庫文件 170
11.4.1 shortport 170
11.4.2 http 173
11.4.3 stdNSE 176
11.4.4 OpenSSL 176
11.4.5 target 177
11.4.6 creds 177
11.4.7 vluns 177
小結 178
第12章 對服務發現功能進行增強 179
12.1 NSE中的服務發現模式 179
12.1.1 服務發現的過程 180
12.1.2 調整版本掃描的級別 180
12.1.3 更新版本偵測探針數據庫 181
12.1.4 從版本檢測中排除指定端口 181
12.1.5 post-processors簡介 182
12.2 自定義版本檢測腳本 182
12.2.1 將腳本的分類定義為version檢測 182
12.2.2 定義版本檢測腳本的portrule 182
12.2.3 更新端口服務版本信息 183
12.3 服務發現腳本的實例 184
12.3.1 modbus-discover 184
12.3.2 ventrilo-info 185
12.3.3 rpc-grind 187
小結 188
第13章 NSE中的數據文件 189
13.1 Nmap中數據文件所在的位置 190
13.2 Nmap中選擇數據文件的順序 190
13.3 暴力窮舉時所使用的用戶名和密碼列表數據文件 190
13.3.1 用戶名數據文件 190
13.3.2 密碼數據文件 191
13.4 Web應用審計數據文件 191
13.4.1 http-fingerprints.lua 191
13.4.2 http-sql-errors.lst 192
13.4.3 http-web-files-extensions.lst 192
13.4.4 http-devframework-fingerprints.lua 193
13.4.5 http-folders.txt 193
13.4.6 vhosts-default.lst 194
13.4.7 wp-plugins.lst 194
13.5 DBMS-auditing數據文件 195
13.5.1 mysql-cis.audit 195
13.5.2 oracle-default-accounts.lst 196
13.5.3 oracle-sids 196
小結 197
第14章 密碼審計腳本的開發 198
14.1 使用NSE庫進行工作 199
14.1.1 NSE中brute模式的設定 199
14.1.2 NSE中Driver類的實現 200
14.1.3 NSE中庫文件和用戶選項的傳遞 202
14.1.4 NSE中通過Account對象返回有效的賬戶 203
14.1.5 NSE中使用Error類來處理異常 204
14.2 使用unpwdb NSE庫讀取用戶名和密碼信息 204
14.3 對掃描中得到的用戶憑證進行管理 205
14.4 針對FTP的密碼審計腳本 205
14.5 針對MikroTik RouterOS API的密碼審計腳本 208
小結 212
第15章 漏洞審計與滲透腳本的編寫 213
15.1 Nmap中的漏洞掃描功能 213
15.2 NSE中的exploit腳本 215
15.3 RealVNC的滲透腳本 217
15.4 Windows系統漏洞的檢測 218
15.5 對heartbleed漏洞進行滲透 220
15.6 vulns庫中的漏洞功能 224
小結 227
第16章 NSE的並發執行 228
16.1 Nmap中的並發執行 228
16.2 Nmap中的時序模式 229
16.3 Lua中的並發執行 230
16.4 NSE中的並發執行 235
16.4.1 NSE中的線程 236
16.4.2 NSE中的條件變量 236
16.4.3 NSE中的互斥變量 238
小結 239
網路書店
類別
折扣
價格
-
新書87折$256