C/C++的socket、ssl/tls网络编程

C/C++的socket、ssl/tls网络编程
共62节 87人在学 课程详情
  • 本课程的教学内容、适用对象和教学方法

    • 本课程的教学内容、适用对象和教学方法
  • 不了解socket编程,如何上手编写socket程序

    • 如何查找网络资料,开始动手编写网络通讯代码
  • 编写socket服务端代码

    • 根据查到的资料,实战编写socket服务端代码
  • 编写socket客户端代码

    • 根据查到的资料,实战编写客户端代码
  • 服务端客户端连测,并完善服务端客户端代码

    • 客户端连接服务端测试,分析socket阻塞和增加监听超时事件
    • 分析之前查找到的资料的缺陷,继续完善代码,增加设置socket属性
    • 继续完善代码,增加错误信息和错误码输出,并学习系统中断事件
    • 将服务端代码放到外网服务器连测,客户端通过域名连接服务端测试
  • 通过网络抓包学习TCP/IP协议理论知识

    • 通过服务端和客户端的连测,网络抓包学习TCP/IP协议理论
    • 继续抓包学习TCP/IP协议,进一步完善服务端代码
  • 封装socket系统函数,便于在大型工程中使用

    • 使用Kdevelop的IDE编辑工具封装socket的API,定义接口函数
    • 根据之前学习的socket的相关知识,编写封装的实现部分函数
    • 继续编写socket封装的实现部分函数
    • 完善封装接口,便于使用重载部分函数,并使用封装编写客户端代码
    • 使用封装socket编写服务端代码,客户端和服务端连测
  • 根据实战项目使用封装socket类编写客户端程序

    • 实战C++编码,使用封装socket编写服务器机群内部的通讯程序
    • 实战C++编码,使用封装socket编写http协议发送请求数据
    • 实战C++编码,编写解析Http协议
  • 分析SSL/TLS/HTTPS加密通讯,并实战编写代码

    • 学习SSL/TLS/HTTS通讯原理,分析X509V3证书
    • linux下openssl多版本安装,openssl的目录说明及源码编译和调试
    • 如何学习openssl,从手册到源代码,一层层深入学习BIO和METHOD
    • 使用openssl封装的BIO编写客户端程序,并分析相关openssl源码
    • 使用openssl封装的BIO编写服务端程序,并使用客户端测试
    • 从openssl源代码深入剖析BIO的用法,为学习ssl通讯打下基础
    • 使用openssl的BIO编写ssl通讯客户端,https访问百度web端
    • 编写ssl客户端验签服务端SSL证书代码,并解析X509 V3证书
    • 直接使用socket套接字和ssl编写ssl加密https客户端访问百度web端
    • ssl编程,使用openssl的BIO编写ssl服务端代码,并用客户端联测
    • 直接使用socket套接字和ssl编写ssl加密通讯的服务端,不使用BIO
    • 编写ssl双向认证代码,使用新方式加载证书链和根证书
  • 分析openssl源码,修改代码以适应生产环境

    • 为什么要分析openssl源码,从TLS_method开始入手分析ssl通讯源码
    • 分析openssl的ssl通讯捂手前期的socket读写初始化源码
    • 分析openssl的ssl通讯源码,修改服务端代码处理握手超时提高效率
    • 分析系统中断对ssl捂手的影响,分析bio_s_socket系统错误码封装
    • 增加BIO读写回调函数验证TLSv1.3版本握手使用1-RTT
    • 编写和设置SSL握手回调函数,进一步分析ssl捂手协议类型
    • 编写SSL通讯的记录层协议格式解析代码,进一步分析SSL捂手协议
    • 编写服务端TLS的ClientHello捂手协议回调函数,实现捂手挂起功能
    • 分析openssl源码,编写版本控制代码,分析TLS1.2和1.3握手差异
    • TLS1.3及1.2如何选择加密套件和套件的区别,并编码控制选择套件
    • 分析openssl源码,TLS各版本在client/server的session复用机制
    • 编写session tickets复用session代码,使用TLS1.3和1.2版本测试
    • 编写使用session id复用session代码,分析两种复用机制设置方式
    • 编写服务端控制只使用sessionTicket复用和服务端禁止session复用
    • 结合RFC文档和openssl源码,进一步详述TLS各版本session复用机制
    • 分析openssl的session复用源码,编写PSK客户端无证书SSL通信程序
    • 编写openssl的PSK无证书ssl通信服务端代码,并和客户端联调测试
    • 编写指定加密套件PSK无证书SSL通信服务端客户端代码,并进行测试
    • 设置校验Key和加密Key,StatelessTicket复用session,并进行测试
    • 设置session复用时,服务端在session中添加应用数据,并进行测试
    • 分析CH协议中的psk扩展源码,及相关的签名算法验签CH包
    • 分析openssl源码的TLS1.3和1.2的身份认证、密钥交换和扩展交互
    • 分析openssl源码,TLS各版本的如何根据主密钥生成会话密钥
    • 分析状态机并编写early data发送和接收代码,以实现TLS1.3的0RTT
    • 分析状态机并编写服务端返回early data数据,以实现TLS1.3的0RTT
    • 分析SSL_write源码,编写如何正确使用SSL_write发送数据
    • 分析SSL_read源码,编写如何正确使用SSL_read接收数据
    • 分析openssl的异步功能,并打上异步标记进行测试,然后课程小结
  • 封装openssl的ssl通讯class、自定义证书和课后总结

    • 封装openssl的ssl通讯的class类,讲述封装思路和封装的接口
    • 讲解openssl的ssl封装class类的实现部分、demo程序并测试class类
    • 生成自签名证书,双向认证使用在SSL/TLS通讯程序中,并测试
    • 课程内容总结、课后研究学习内容说明

    订阅失败

    C/C++的socket、ssl/tls网络编程
    C/C++的socket、ssl/tls网络编程 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    close套接字后,可以检测到POLLIN事件,但read读取是0字节,要处理该事件。继续抓包学习TCP/IP协议的套接字系统级别的发送数据机制和应答机制,引入TCP_NODELAY套接字属性,并进行测试,并讲解使用场景。

    课程介绍

    c语言编写socket服务端和客户端代码,封装socket的class类,分析openssl的ssl源码,编写SSL/TLS客户端和服务端加密通讯代码,封装openssl的class类。

    课程知识点

    课程核心内容

    标题说明

    课程目录

    课程目录

    课程目录

    学后成果

    适合人群

    教学方法

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 927人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22859人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4297人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 838人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 900人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5204人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1535人在学

    Python Django 深度学习 小程序

    钟翔 · 2413人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 685人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 4085人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00
    课件正在飞速打包中,请耐心等待几秒钟~