Chapter01 網路連線-Socket
1.1 簡單介紹 socket
1.2 Python 的 socket 模組-socket
1.2.1 不保證傳輸-UDP
1.2.2 保證傳輸正確-TCP
1.3 TCP 函式
1.3.1 開啟-socket()
1.3.2 綁定埠號-bind()
1.3.3 等待連線-listen()
1.3.4 接受連線-accept()
1.3.5 傳輸資料-recv() 和 send()
1.3.6 關閉連線-close()
1.3.7 客戶端連線-connect()
Chapter02 最小的連線程式
2.1 伺服器端
2.2 客戶端
2.3 讓伺服器持續服務
Chapter03 傳送檔案
3.1 將 str 變成 bytes
3.2 最短的檔案傳輸程式
3.3 雙方同時進入等待
3.4 加上傳送檔名的問題
3.5 檔案大小的傳遞-數字的傳遞
3.5.1 整數 int 和 bytes 之間的轉換
3.5.2 位元序的問題-大端(big-endian)和小端(little-endian)
3.6 不定長度資料的傳送問題
Chapter04 協定的設計和實作
4.1 什麼是協定
4.2 基本資料標籤的設計
4.3 傳送數值的程式
4.4 超大數值
4.5 傳送不定長度資料(字串)實作
Chapter05 檔案訊息標籤
5.1 基本的檔案標籤
5.2 回傳狀態標籤
5.3 溝通的函式
5.4 輸出入包成物件
5.5 檔案標籤前面是否加基本標籤?
5.6 檔案資料存取包成物件
5.7 伺服器端存檔的檔名
5.8 大型檔案
Chapter06 例外處理
6.1 例外的狀況
6.2 try ... except 例外處理的利用
6.3 INOUT 的修改
6.3.1 Exception 的基本知識
6.3.2 INOUT 的修改
6.3.3 NetAPI 的修改
6.4 檔案傳遞的速度
Chapter07 掃描目錄
7.1 遞迴掃描目錄
7.2 掃瞄的起始目錄
Chapter08 多客戶端連線-執行緒
Chapter09 檔案更新自動上傳
9.1 判斷檔案修改
9.2 判斷值(檔案大小及修改時間)存檔-JSON
9.3 JSON 的函式
Chapter10 鍵盤記錄
10.1 鍵盤記錄的種類
10.2 Python 的鍵盤記錄
10.2.1 Virtual-Key Code
10.2.2 GetAsyncKeyState()
10.3 建立對照表
10.3.1 定義編碼名稱
10.3.2 定義編碼對照的字元
10.3.3 win32api
Chapter11 合併
11.1 傳送目錄函式
11.2 鍵盤記錄及傳送記錄
11.3 三個執行緒
Chapter12 其他話題補充
12.1 Banner
12.2 還有更多
12.2.1 選擇性上傳
12.2.2 斷點續傳
12.2.3 IP 以外的連絡方式
12.2.4 只是個開始
Chapter13 木馬的設定
13.1 前一版的木馬
13.2 設定的工具
13.3 需要設定的變數
13.4 IP是藏在木馬裡
13.5 取得外部IP
13.6 取得內部IP
13.7 設定檔
13.8 產生設定檔(config.py)的程式
13.9 其他
Appendix A 本書所有程式碼
Appendix B 下載 Python
Appendix C 安裝 Python
Appendix D 安裝 Python 模組
Appendix E 把程式放進目錄中
Appendix F 製作木馬的exe可執行檔