python图书管理系统类_Python使用传输层安全协议TLS/SSL实现信息加密传输

清华科技大讲堂免费直播课预告:

免费直播课|Python数据可视化与科学计算可视化案例分享,5月28日晚20:00-21:30

============

哔哩哔哩网站免费视频观看地址:

董老师在哔哩哔哩网站免费分享的本学期“Python编程技术”讲课录屏视频,已更新到第11次课共27小时,观看地址:

https://www.bilibili.com/video/BV137411u7tJ/

0f81ca61fbc0dd0c58ed522d8426043c.png

============== 推荐图书: 《Python可以这样学》,ISBN:9787302456469,董付国,清华大学出版社,第9次印刷 a5c690761c5730e24404ee296f599f36.png 图书详情(京东)c04f5e13cccf4f78481babee3a5711a2.png 董付国老师17本Python系列图书均提供配套教学资源。 =============

问题描述:

TCP协议是明文传输的,并不对信息进行加密,很容易被窃听和还原。所以重要信息不适合使用TCP直接传输,需要进行加密传输,具体的实现有很多种,其中一种是安全套接字SSL(传输层安全协议TLS)。本文中我们先使用标准的TCP协议进行通信,然后改用TLS协议进行通信,并对通信过程进行抓包来比较两种协议的不同。

文中用到的软件npcap、wireshark、openssl可以后台发送信息“安全套接字”获取云盘下载地址。

1、安装npcap和wireshark,后面抓包会用到。

2、编写代码实现TCP套接字,模拟服务端和客户端通信。

服务端代码:

efe99cbdb368870dc9153e31c145786b.png

客户端代码:

285aed4b599ba97e72a7b11a144a02fa.png 3、使用管理员身份启动wireshark,选择本地回环地址,如图 f48c6ed618f3a606b61f933fca2be446.png

4、设置抓包规则,只关心TCP协议且端口号为6666的数据,开始抓包,如图

237eeb0fb18deefec836234508ad37cd.png

5、运行前面编写的TCP通信服务端和客户端程序,然后切换到wireshark窗口,查看抓到的信息,除了通信双方的握手信息,还有互相发送的明文信息,如图

638e7de49ce901a6cd0b92d92be5a17c.png 617edf9a496ac230a8ca5c4e0f6bb808.png

6、安装Win64OpenSSL,用来生成安全证书,安装后把安装路径以及bin文件夹添加到系统的环境变量Path中(如果不添加Path变量的话需要在安装路径中执行下面的命令),然后打开cmd命令提示符,执行下面的命令生成安全证书,

db36865cb997b7f6643642012c4eb7be.png

生成的文件如下:

358623b2f940328dedc878b36a46636d.png

7、编写代码,使用TLS/SSL实现安全套接字通信。

服务端代码:

2b9bfded24e012fa291b1f0ffee90a80.png

客户端代码:

bdea7569a249610ad1b66efc3c1bfc35.png

8、切换到wireshark窗口,重新开始抓包,然后运行上面的安全套接字程序,回到wireshark窗口查看抓到的信息,可以看到,服务端和客户端之间的信息全部被加密了,抓不到明文。

b0c86301c49236af638df5e86d35f342.png 温馨提示 关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的1000篇原创技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看500节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源,海量宝藏等你来挖掘

e99cff09f93f17f83e8508c0eeab870b.png

---董付国老师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相关课程教材选用参考与建议 董付国老师Python在线课程资源使用方法 董付国老师6本Python教材PDF版免费阅读 《Python数据分析、挖掘与可视化》前3章书稿PDF免费阅读 《Python程序设计基础与应用》前3章书稿PDF免费阅读 号外号外--Python小屋刷题神器上线啦 《中学生可以这样学Python》84节微课免费观看地址 相关阅读: Python演示--UDP套接字真的无连接吗?

Python标准库socketserver使用线程混入实现异步TCP服务器

Python标准库socketserver实现UDP协议时间服务器

Python实现TCP协议套接字多路复用

Python使用爬虫技术获取本机所在公网IP地址

Python在应用层实现UDP协议的可靠传输

Python使用UDP协议实现局域网内屏幕广播

Python+socket完美实现TCP长连接保持存活

完美解决Python套接字编程时TCP断包与粘包问题

Python实现多进程/多线程同时下载单个文件

Python 3.8实现支持断点续传的网络文件下载功能

Python+winreg+netifaces查看网络接口信息

Python自动接收微信群消息并推送相应的公众号文章

Python+psutil获取本机所有联网的应用程序信息

Python多线程编程的一个掉进去不太容易爬出来的坑

Python+socket+多线程实现同时应答多客户端的自助聊天机器人

Python实现机房管理软件的文件分发功能

技术要点|Python监控学生端电脑屏幕自动识别学习状态

Python多线程与Socket编程综合案例:素数

Python批量下载电子邮件附件并汇总合并Excel文件

Python监视电子邮箱并提示收到新邮件

Python版课堂管理系统中使用UDP广播远程关闭客户端程序思路与源码

使用Python实现电子邮件群发功能

基于Python的电子教室软件中远程关机功能的原理与实现

Python获取本机所有IP地址

Python实现局域网内屏幕广播的技术要点分析

使用Python开发SQLite代理服务器

Python获取局域网内所有机器IP地址与网卡MAC地址

Python获取本机所有网卡的MAC地址

Python+flask+flask-email发送带附件的电子邮件

Python使用UDP协议打造在线时间服务器

使用Python开发会聊天的智能小机器人

Python使用TCP协议编写会聊天的小机器人

Python实现本机网络流量监视器

Python使用UDP广播实现服务器自动发现

Python网页注入挂马

Python监视域名对应IP地址变化情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值