自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 配置Stunnel加密socket通信

Stunnel是一个自由的跨平台软件,用于提供全局的TLS/SSL服务。针对本身无法进行TLS或SSL通信的客户端及服务器,Stunnel 可提供安全的加密连接。安装Stunnelsudo apt-get install stunnel4配置Stunnel打开配置文件sudo vim /etc/stunnel/stunnel.conf添加如下内容;调试等级debug = 7;输出日志所在的位置output = /tmp/stunnel.log;启动系统日志syslog = yes

2020-08-09 19:34:47 809

原创 Linux OpenSSL生成证书

概念数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发。一般证书分有三类,根证书、服务器证书和客户端证书。根证书,是生成服务器证书和客户端证书的基础,是信任的源头,也可以叫自签发证书,即CA证书。服务器证书,由根证书签发,

2020-08-09 17:51:36 893

原创 OpenSSL源码安装

**openssl是一个安全套接字层密码库,囊括主要的密码算法、常用密钥、证书封装管理功能及实现ssl协议。OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库libssl、应用程序命令工具以及密码算法库libcrypto。下载地址:https://www.openssl.org/source/**选择版本号进行下载下载wget https://www.openssl.org/source/openssl-1.1.1.tar.gz解压tar -zxvf openssl-1.1.

2020-08-09 16:50:41 812

原创 初识SSL

简介SSL协议是一种安全传输协议,SSL是SecureSocketLayer的缩写,即安全套接层协议。该协议最初由daoNetscape企业发展而来,目前已经成为互联网上用来鉴别网站和网页浏览者的身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准协议。由于SSL技术已建立到了所有主要的浏览器和WEB服务器程序当中,因此,仅需安装数字证书,或服务器证书就可以激活服务器功能了。SSL协议提供的安全服务有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器;认证用户和服务器的合法性,使

2020-07-22 15:39:02 191

原创 Unix环境高级编程多路复用之Select的基本实现

目录select函数简介参数说明select的不足之处select的多路复用实现网络socket的多并发服务器的流程图代码示例select函数简介select()函数允许进程指示内核等待多个事件(文件描述符)中的任何一个发生,并只在有一个或多个事件发生或经历一段指定时间后才唤醒它,然后接下来判断究竟是哪个文件描述符发生了事件并进行相应的处理。#include <sys/time.h&...

2020-04-04 18:21:53 120

原创 Liunx下的五种网络I/O模型

在Linux下进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。阻塞和非阻塞的概念描...

2020-04-04 14:10:18 90

原创 Liunx进程间通信:信号

常用的进程间通信(IPC,InterProcess Communication)的方法◆信号 ( Sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;◆管道(Pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系(通常是指父子进程关系) 的进程间使用;◆命名管道FIFO:命名管道(Named Pipe)也是半双工的通信方式,但是它允许...

2020-03-28 19:03:57 81

原创 网络socket服务器并发解决之多线程模型

目录1.线程介绍2.创建线程3.代码实现1.线程介绍在操作系统原理的术语中,线程是进程的一条执行路径。线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可以看作是Unix进程的表亲,所有的线程都是在同一进程空间运行,这也意味着多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等,一个进程可以有很多线程,每条线程并行执行不同的任务。典型的UNIX进...

2020-03-28 17:16:53 195

原创 网络socket服务器并发解决之多进程模型

目录1.服务器并发访问2.多进程编程创建进程fork()系统调用3.多进程改写服务器程序4.代码实现1.服务器并发访问服务器按处理方式可以分为迭代服务器和并发服务器两类。上一节介绍了网络socket服务器的编程,但是服务器每次只能处理一个客户的请求,它实现简单但效率很低,通常这种服务器被称为迭代服务器。 然而在实际应用中,不可能让一个服务器长时间地为一个客户服务,而需要其具有同时处理 多个客户...

2020-03-28 15:01:29 149

原创 网络socket编程:网络通信简介

目录OSI七层模型1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7.应用层TCP/IP协议TCP/IP——网络接口层(数据链路层)TCP/IP——网络层TCP/IP——传输层UDP协议:UDP报文结构:TCP协议:TCP报文结构:TCP建立连接的三次握手:TCP断开连接的四次握手:互联网的本质就是一系列的网络协议,按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层,...

2020-03-21 18:27:40 145

原创 网络socket编程:服务器端

目录socket操作API函数bind()函数listen()函数accept()函数setsockopt()函数下面是网络socket通信的基本流程:#include <stdio.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <sys/ty...

2020-03-21 16:31:55 227

原创 网络socket编程:客户端

目录socket操作API函数socket()函数connect()函数read()、write()等函数close()、shutdown()函数inet_pton()和inet_ntop()函数网络字节序和主机字节序下面是网络socket通信的基本流程:socket客户端代码:#include <stdio.h> #include <sys/type...

2020-03-17 16:00:33 312

原创 Linux下文件I/O系统调用

1.文件扩展名与文件描述符文件扩展名在Linux中,扩展名对Linux内核没有实际意义,但是可以用来人为区分不同的文件,方便用户使用。◆.tar, .tar.gz, .tgz, .zip, .tar.bz表示压缩文件,创建命令为tar, gzip, unzip等◆.sh 文件表示shell脚本文件◆.pl 表示perl语言文件◆.py 表示python语言文件◆.conf 表示系统服...

2020-03-10 18:53:39 244

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除