网络编程
三十而立90后
90后的天下
展开
-
tcpdump的详细用法
1. TCPDump介绍 TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Free转载 2014-10-08 12:35:33 · 316 阅读 · 0 评论 -
SNAT, DNAT, MASQUERADE
SNAT, DNAT, MASQUERADE都是NAT MASQUERADE是SNAT的一个特例 SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机 MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分转载 2016-11-07 09:25:28 · 256 阅读 · 0 评论 -
The Log: What every software engineer should know about real-time data's unifying abstraction
分布式经典文章I joined LinkedIn about six years ago at a particularly interesting time. We were just beginning to run up against the limits of our monolithic, centralized database and needed to sta原创 2016-04-11 18:16:52 · 2499 阅读 · 0 评论 -
在Linux中使用线程
再来详细地复习一遍线程我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:[cpp] view pla转载 2016-04-10 17:08:48 · 567 阅读 · 0 评论 -
SSL握手过程
一、SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致;2. 它们需要确立一组由那些算法所使用的加密密钥;3. 握手还可以选择对客户端进行认证。二、SSL握手过程:1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认转载 2016-04-08 14:36:28 · 357 阅读 · 0 评论 -
C++11 写个线程池
#ifndef THREAD_POOL_H#define THREAD_POOL_H#include #include #include #include #include #include #include #include #include class ThreadPool {public: ThreadPool(size_t); template原创 2016-03-22 21:39:28 · 670 阅读 · 0 评论 -
epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 ep转载 2016-03-09 14:44:25 · 252 阅读 · 0 评论 -
Github 的持续集成小伙伴 Travis
以前在三星工作时接触过持续集成。当时用的OBS。前几天发现 GitHub 也有一个自动集成的工具——Travis.Travis 地址:https://travis-ci.org/1.进入首页,选择 Sign in with Github, 即用 github账号登陆2. 登陆后,选择My Repositories 后的+ , 添加Gith原创 2016-01-24 20:34:15 · 583 阅读 · 0 评论 -
Reactor And Proactor
1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个转载 2015-12-15 00:02:04 · 354 阅读 · 0 评论 -
Comparing Two High-Performance I/O Design Patterns
SummaryThis article investigates and compares different design patterns of high performance TCP-based servers. In addition to existing approaches, it proposes a scalable single-codebase, multi-platf转载 2015-12-15 15:02:49 · 426 阅读 · 0 评论 -
OPENSSL https 证书的使用Demo(证书加密码)
一、初始 SSL *ssl;SSL_CTX *ctx;SSL_load_error_strings();SSL_library_init();ctx = SSL_CTX_new(SSLv23_client_method());if ( ctx == NULL ){ util_err_log( LERROR, "init SSL CTX failed:%s\n", ERR_原创 2015-10-29 20:36:38 · 1544 阅读 · 0 评论 -
C++ 简单实现HTTP GET/POST 请求
HTTP(超文本传输协议)是一种客户端与服务端的传输协议,最早用于浏览器和服务器之间的通信,后来因为其使用灵活、方便等特点,广泛用于客户端与服务端的通信。文章将简单介绍HTTP协议,同时以C++方式分别实现HTTP GET、POST 请求HTTP 请求报文HTTP请求报文的一般格式由4部分组成:请求行、请求头部、空行、请求数据。如下图所示:请求行:包含3部分转载 2015-08-12 09:00:04 · 12809 阅读 · 1 评论 -
HTTPS与SSL详解(二)
CACa介绍电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改转载 2015-09-14 15:41:32 · 303 阅读 · 0 评论 -
HTTPS与SSL详解(一)
1. HTTPSHTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输转载 2015-09-14 15:35:18 · 715 阅读 · 0 评论 -
正向代理和反向代理区别
正向代理和反向代理正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录。结论就是,正向代理,转载 2017-02-07 17:47:19 · 243 阅读 · 0 评论