加载中
fork+execve+dup2

linux系统中,如果需要调用可执行文件.大致模式如下: 1.建立socketpair用于父子进程通信 2.fork子进程 3. 在子进程中使用dup2绑定标准输出到socketpair中子进程使用的fd 使用execve族函数执行...

2018/10/25 10:33
2
TCP握手与挥手

标识位&&Sequence Number&&Acknowledgment Number的变化 (关于标识位/Sequence Number/Acknowledgment Number定义,作用以及在协议中的位置请参考博文<<TCP协议>>) 第一次握手: 标志位SYN = 1...

2018/03/28 15:47
19
TCP协议

TCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...

TCP
2018/03/28 11:23
23
sed

持续记录: 1.将源文件中第一次出现'开始字符串'的位置开始,一直到出现'结束字符串'为止的内容存入目标文件. 命令: sed -n '/开始字符串/,/结束字符串/p' 源文件 > 目标文件 2.替换所有匹配...

2018/03/27 17:04
9
IP协议

IP协议 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...

2018/03/27 15:42
9
const限定符

const对象特性为创建后不可改变,所以必须初始化 1.const引用: 常引用不能改变所引用的对象 int a = 1; const int &b = a;//a的值不可以通过b修改 2.指向常量的指针 指向常量的指针,不能通过该...

2018/03/26 18:37
7
MS-Chapv2认证过程--RFC2759

1.客户端发送request 2.服务端返回16字节的服务端AuthenticatorChallenge(随机数) 3.客户端生成16字节的客户端peerChallenge(随机数) 4.客户端计算根据password计算NTpasswordHash,并使用pee...

2017/12/27 16:45
150
gdb调试常用命令

gdb ./待调试程序 b 函数名 //在该函数上打断点 p 变量名 // 打印变量 cont // 在断点停下后此命令使程序继续执行 s //单步调试,有函数则进入 n //单步调试 ,不进入函数内部 gdb调试core文件...

GDB
2017/12/01 16:49
7
windows 记事本utf8编码BOM头问题

windows记事本另存为utf-8编码会在文件开头加上EF BB BF三个字节.即BOM 我在linux下从文本文件读取utf8转为GBK时,发现第一行转换永远错误,从第二行开始则全部成功. 所以希望如果不确定文本文...

c++数组析构(delete delete[])

对于基本数据类型 例如char tmp = new char[100]; delete tmp 和 delete[] tmp 效果一样(在vc++和g++下测试) 所以基本类型new的数组使用std::auto_ptr管理应该不会有泄露,不过还是不建议这样...

2017/09/20 13:58
53
linux编译undefined reference to "xxxxx"

编译时报错undefined reference to 共享库中的函数 通过nm -C xxxx.so |grep "连接函数名" , 可以判定库中包含该函数,函数名和参数完全对应 最后定位是,由于编译库时有编译选项-pie , 去掉该...

c++ STL string的引用计数

STL string的引用计数,多个通过拷贝构造和复制操作具有相同值的string共享一块内存,由引用计数该参数保存共享内存的string个数, 通过写时拷贝防止修改共享内存的值. 但是,如果强制转换可能会...

c++程序内存隔段时间上涨一次(跳涨)

如果相隔基本固定的时间上涨,则基本可以确定是定时任务引起的. 如果上涨的内存特别大,要么你的系统中有这样大的对象; 要么99.9%这个内存泄露是在循环中, 最后向map中添加键值对时记得先检查k...

2017/08/30 17:26
15
查看库文件是64位 or 32位

windows : dumpbin /headers 文件路径\xxx.dll linux: objdump -a xxx.a file xxx.so

2017/07/21 10:13
22
调试国密算法验签遇到的问题

项目要求服务端与客户端支持国密证书建立ssl通道.在本地demo中可以建立完整的ssl连接并通信. 服务端建立ssl时直接使用openssl加载根证书,服务端证书,服务端私钥.这里毫无问题. 但是客户端必须...

2017/07/08 10:11
196
关于C++锁

一,锁的作用是用来保护全局变量的,例如,static静态数据,global全局数据,或者new和malloc等数据,还有单例模式的类。 二,锁的范围是什么,锁的范围是以{ }为生命周期。 三,不出现死锁的...

2017/07/07 11:12
6
openssl建立tls1连接过程(s->state的变化过程)

以下是调用openssl建立tls1连接过程中,openssl内部对握手阶段的处理过程,可以对照抓包观察 以下服务端和客户端是并行进行的,只是需要接收对端消息时才会进入等待状态.为方面理解,所以将客户端...

2017/06/24 18:16
183
部分国密算法OID

1.2.156.197.1.104 SM4分组密码算法 1.2.156.197.1.301 SM2椭圆曲线密码算法 1.2.156.197.1.301.1 SM2-1椭圆曲线数字签名算法 1.2.156.197.1.301.2 SM2-2椭圆曲线密钥交换协议 1.2.156.197....

2017/06/23 11:00
394
linux64位系统编译32位openssl

setarch i386 ./config -m32 --prefix=你要安装的目录 (推荐--prefix=./ --openssldir=./原因见博文<Windows编译release版本和debug版本的openssl>) make depend make make install 注意事项...

2017/06/09 14:29
214
linux C程序内存空间组成

linux下内存空间布置: 一个典型的Linux C程序内存空间由如下几部分组成: 代码段(.text)。这里存放的是CPU要执行的指令。代码段是可共享的,相同的代码在内存中只会有一个拷贝,同时这个段...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部