清华科技大讲堂免费直播课预告:
免费直播课|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广播远程关闭客户端程序思路与源码