IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 15. 使用stunnel加密tcp数据传输 -> 正文阅读

[系统运维]15. 使用stunnel加密tcp数据传输

主题:使用stunnel加密隧道对tcp数据进行加密传输。

开发环境:

客户端:

stunnel5 + Win10

服务端:

stunnel5 + Ununtu18.04(虚拟机) + Qt5.9.9

对于stunnel,前面博客有所提及,有兴趣可以自行观看,此处不再赘述。

在正式讲解之前,需要做一些说明:
1、 客户端和虚拟机需双向ping通;
2、 stunnel客户端配置文件:
在这里插入图片描述

此处的[test]可以自由命名,无所谓。
3、服务端stunnel配置文件:
在这里插入图片描述
此处的[mysql_test]可以自由命名,无关紧要。
4、确保客户端和服务端的stunnel进程已分别启动,查看1088端口和1099端口是否处于监听状态。
(1) 客户端的stunnel进程已启动,如下所示:
在这里插入图片描述
(2) 服务端的stunnel进程已启动,如下所示:
在这里插入图片描述
也可以查询服务端stunnel的日志,日志内容和客户端的基本一致。
5、与此同时,我们可以查询出客户端stunnel进程的1088端口 和 服务端stunnel进程的1099端口已处于监听状态。
(1) 客户端stunnel进程的1088端口已处于监听,如下所示:
在这里插入图片描述
(2) 服务端stunnel进程的1099端口已处于监听,如下所示:
在这里插入图片描述

正式篇:

1、开启客户端,服务端的stunnel进程,上述中我们已经开启;
2、建立客户端和服务端之间的加密隧道, 我们在客户端打开NetAssist网络调试工具,按图输入并连接,此时观看stunnel客户端,服务端打印的日志,可以看出,客户端和服务端之间的加密隧道已经成功建立,如下图所示:
在这里插入图片描述
(1) 客户端stunnel日志:
在这里插入图片描述

(2) 服务端stunnel日志:
在这里插入图片描述
(3) 此时的客户端端口:
在这里插入图片描述
(4) 此时的服务端端口:
在这里插入图片描述

3、好,回到服务端,stunnel存在的目的无非是对我们传输的数据进行加密,当从客户端加密的数据传输到服务端后,它会自动将解密后的数据传输到我们服务端指定的位置,按照服务端stunnel的配置文件,来自客户端加密的数据,经服务端解密后将传输到服务端的 127.0.0.1:1010位置处。
所以在服务端,我们需要还需要监听1010端口,获取来自客户端的数据。
此处我们采用QT进行快速写一个tcp服务器,并监听1010端口,代码非常简单,如下图所示:

在这里插入图片描述
运行结果如图所示:
在这里插入图片描述
此时我们运行此程序,并点击 listen 1010按钮,开启1010端口的监听…
4、回到客户端,我们在NetAssist中输入 一段json数据,
{ "sites": [ { "name":"ZhanSan" , "url":"www.runoob.com" }, { "name":"LiSi" , "url":"www.google.com" }, { "name":"WangWu" , "url":"www.weibo.com" } ] },然后点击发送,我们可以看到服务端接受到了数据,如下图所示,
(1) 客户端发送数据截图:

在这里插入图片描述
(2) 服务端接受数据截图:
在这里插入图片描述
(3) 那怎样判断数据被加密了,实际上我们通过抓包工具wireshark,可以清晰的看出,如下所示:
服务端的ip地址是:192.168.93.132,虚拟机采用的是NAT模式。
抓包时,选择的网卡是v8网卡。

在这里插入图片描述
客户端 -> 服务端的数据确实被加密了,当然这个加密过程无需我们关心,对于我们来说这个过程是透明的,我们看不到。同理我们可以从服务端 -> 客户端发送加密数据,点击服务端QT程序的 jiami write to client按钮,并看其效果,如下图所示:
我们在客户端中收到了来自服务端的数据:

在这里插入图片描述
在这里插入图片描述
至此,客户端 <-> 服务端的数据加密传输完毕。
我再解析一下client -> server的过程:在客户端,实际上我们发送的json数据,是发到了1088端口上,然后json数据会被加密传输到服务端的1099端口,而后经过解密达到服务端的1010端口。从server -> client亦如此。

5、断开客户端的1088端口,分别看看客户端和服务端的stunnel的日志
(1) 客户端stunnel日志:

在这里插入图片描述
表示发送了 358bytes数据到服务端,接受了来自服务端的 11bytes数据。
(2) 服务端stunnel日志:

在这里插入图片描述
表示发送了 11bytes数据到客户端,接受了来自客户端的 358bytes数据。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:43:44  更:2022-12-25 11:45:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 22:08:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码