清華科技大講堂免費直播課預告:
免費直播課|Python數據可視化與科學計算可視化案例分享,5月28日晚20:00-21:30
============
嗶哩嗶哩網站免費視頻觀看地址:
董老師在嗶哩嗶哩網站免費分享的本學期“Python編程技術”講課錄屏視頻,已更新到第11次課共27小時,觀看地址:
https://www.bilibili.com/video/BV137411u7tJ/
==============
推薦圖書:
《Python可以這樣學》,ISBN:9787302456469,董付國,清華大學出版社,第9次印刷
圖書詳情(京東):
董付國老師17本Python系列圖書均提供配套教學資源。
=============
問題描述:
TCP協議是明文傳輸的,並不對信息進行加密,很容易被竊聽和還原。所以重要信息不適合使用TCP直接傳輸,需要進行加密傳輸,具體的實現有很多種,其中一種是安全套接字SSL(傳輸層安全協議TLS)。本文中我們先使用標準的TCP協議進行通信,然後改用TLS協議進行通信,並對通信過程進行抓包來比較兩種協議的不同。
文中用到的軟件npcap、wireshark、openssl可以後臺發送信息“安全套接字”獲取雲盤下載地址。
1、安裝npcap和wireshark,後面抓包會用到。
2、編寫代碼實現TCP套接字,模擬服務端和客戶端通信。
服務端代碼:
客戶端代碼:
3、使用管理員身份啓動wireshark,選擇本地迴環地址,如圖
4、設置抓包規則,只關心TCP協議且端口號爲6666的數據,開始抓包,如圖
5、運行前面編寫的TCP通信服務端和客戶端程序,然後切換到wireshark窗口,查看抓到的信息,除了通信雙方的握手信息,還有互相發送的明文信息,如圖
6、安裝Win64OpenSSL,用來生成安全證書,安裝後把安裝路徑以及bin文件夾添加到系統的環境變量Path中(如果不添加Path變量的話需要在安裝路徑中執行下面的命令),然後打開cmd命令提示符,執行下面的命令生成安全證書,
生成的文件如下:
7、編寫代碼,使用TLS/SSL實現安全套接字通信。
服務端代碼:
客戶端代碼:
8、切換到wireshark窗口,重新開始抓包,然後運行上面的安全套接字程序,回到wireshark窗口查看抓到的信息,可以看到,服務端和客戶端之間的信息全部被加密了,抓不到明文。
溫馨提示
關注本公衆號“Python小屋”,通過菜單“最新資源”==>“歷史文章”可以快速查看分專題的1000篇原創技術文章列表(可根據關鍵字在頁面上搜索感興趣的文章),通過“最新資源”==>“微課專區”可以免費觀看500節Python微課,通過“最新資源”==>“培訓動態”可以查看近期Python培訓安排,通過“最新資源”==>“教學資源”可以查看Python教學資源,海量寶藏等你來挖掘。
---董付國老師Python系列圖書---
友情提示:不建議購買太多,最好先通過京東、噹噹、天貓查閱圖書瞭解目錄和側重點,然後再選擇購買適合自己的書。
(1)《Python程序設計(第2版)》(ISBN:978-7-302-43651-5),清華大學出版社,2016年8月出版,2019年度清華大學出版社暢銷圖書
(2)《Python可以這樣學》(ISBN:978-7-302-45646-9),清華大學出版社,2017年2月
(3)《Python程序設計基礎(第2版)》(ISBN:978-7-302-49056-2)清華大學出版社,2018年1月出版,2019年度清華大學出版社暢銷圖書
(4)《中學生可以這樣學Python》(ISBN:978-7-302-48039-6)清華大學出版社
(5)《Python程序設計開發寶典》(ISBN:978-7-302-47210-0)清華大學出版社,2018年10月
(6)《玩轉Python輕鬆過二級》(ISBN:978-7-302-49916-9)清華大學出版社,2018年5月
(7)《Python程序設計基礎與應用》(ISBN:978-7-111-60617-8),機械工業出版社,2018年9月
(8)《Python程序設計實驗指導書》(ISBN:9787302525790),清華大學出版社,2019年4月
(9)《Python編程基礎與案例集錦(中學版)》(ISBN:978-7-121-35539-4),電子工業出版社,2019年4月
(10)《大數據的Python基礎》(ISBN:978-7-111-62455-4),機械工業出版社,2019年5月出版
(11)譯作《Python程序設計》,機械工業出版社(華章),2018年11月出版
(12)繁體版《Python也可以這樣學》,臺灣博碩文化股份有限公司,2017年10月出版,本書爲《Python可以這樣學》在臺灣發行的繁體版,兩本書內容一樣,不建議重複購買。
(13)《Python程序設計實例教程》(ISBN:978-7-111-63198-9),機械工業出版社
(14)《Python數據分析、挖掘與可視化》(ISBN:978-7-115-52361-7),人民郵電出版社,2019年12月
《Python數據分析、挖掘與可視化》前3章書稿PDF免費閱讀
相關閱讀:
Python標準庫socketserver使用線程混入實現異步TCP服務器
Python標準庫socketserver實現UDP協議時間服務器
Python+winreg+netifaces查看網絡接口信息
Python+socket+多線程實現同時應答多客戶端的自助聊天機器人
Python版課堂管理系統中使用UDP廣播遠程關閉客戶端程序思路與源碼