推荐图书:

《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使用传输层安全协议TLS/SSL实现信息加密传输相关推荐

  1. 网络安全——传输层安全协议

    作者简介:一名云计算网络运维人员.每天分享网络与运维的技术与干货.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.传输层安全协议 二.SSL协议背景 1.SSL协 ...

  2. 计算机网络4小时速成:网络安全,被动攻击,主动攻击,对称加密,公钥秘钥,数字签名,鉴别,网络层安全协议IPsec,传输层安全协议SSL,防火墙,入侵检测系统

    计算机网络4小时速成:网络安全,被动攻击,主动攻击,对称加密,公钥秘钥,数字签名,鉴别,网络层安全协议IPsec,传输层安全协议SSL,防火墙,入侵检测系统 2022找工作是学历.能力和运气的超强结合 ...

  3. TSL 传输层安全性协议

    一. 介绍 传输层安全性协议 Transport Layer Security,TLS 及其前身安全套接层 Secure Sockets Layer,SSL是一种安全协议,目的是为互联网通信提供安全及 ...

  4. 传输层安全(TLS)笔记

    一.什么是TLS TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Laye ...

  5. 网络安全——传输层安全协议(3)

    作者简介:一名云计算网络运维人员.每天分享网络与运维的技术与干货.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.SSL密钥更改协议 二.SSL告警协议 关闭报警 ...

  6. OSI七层模型详解物理层、数据链路层、网络层、传输层.....应用层协议

    OSI七层模型详解(物理层.数据链路层.网络层.传输层.....应用层协议与硬件) OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型 ...

  7. 网络工程师课程---5、传输层(传输层常用协议有哪些)

    网络工程师课程---5.传输层(传输层常用协议有哪些) 一.总结 一句话总结: TCP/IP协议:端口80:传输控制协议:Transmission Control Protocol-TCP UDP协议 ...

  8. 网络原理 --- 传输层Ⅱ TCP协议中的确认应答,超时重传和连接管理

    文章目录 网络原理 传输层 TCP 协议 TCP的基本特性 1.确认应答 2.超时重传 3.连接管理 ❗❗①建立连接(三次握手) ②断开连接(四次挥手) 总结 网络原理 介绍TCP/IP协议中每一层里 ...

  9. 网络OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

最新文章

  1. android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕
  2. 使用opencv自带的融合函数
  3. 使用jsonpath解析json内容
  4. shujufenxi:一组数据透视复工复产“进度条”
  5. java函数求方程,Commons Math学习笔记——函数方程求解
  6. python创建一个集合_python如何创建一个集合
  7. 【Linux】一步一步学Linux——hostname命令(73)
  8. 几种常见光端机的作用介绍
  9. 《C++Primer》复习——with C++11 [1]
  10. javascript 数组合并与去重
  11. 如何在.NET控制台应用程序中获取应用程序的路径?
  12. linux系统怎么刷新,Fedora Linux如何更新系统
  13. WWF中Conditioned Activity Group的子Activity扩展CAG的WhenCondition属性代码解析
  14. A-priori算法的简单实现
  15. groovy 变量和字符串
  16. 巧用天翼云盘备份云主机数据
  17. 微信:签名不对,请检查签名是否与开放平台上填写的一致
  18. Mysql 5.7 取分组第一条
  19. w ndows7启动项怎么关,(让Wndows7让系统“飞”起来二级精华.doc
  20. 智力问答选择题_智力问答题库

热门文章

  1. gd动态曲线 php_PHP 高级编程之多线程
  2. python基本数据类型float_Python基本数据类型
  3. 开发Flex for Android第一个ANE(ActionScript Native Extensions)本地扩展
  4. html中为什么style中不显示发光点,css实现发光文字,以及一点点js特效
  5. 成都信息工程大学计算机分数线,2017年成都信息工程大学录取分数线
  6. python将图片作为变量_遍历图像列表并在python中将其作为变量分配
  7. 反恐精英的服务器存在哪个文件夹,反恐精英地图放在哪里 CS1.6地图放置位置详细介绍_游侠网...
  8. SpringBoot2.0使用Spring WebFlux之HelloWord篇
  9. phantomjs php 登录,PHANTOMJS PHP:空响应对象
  10. 3D中国跳棋 —— 记与子禾童鞋的结对编程(附网站地址及完整源码)