Python使用传输层安全协议TLS/SSL实现信息加密传输

推荐图书:

《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窗口查看抓到的信息,可以看到,服务端和客户端之间的信息全部被加密了,抓不到明文。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值