随笔分类 - Linux
摘要:简介 套接字是操作系统中用于网络通信的重要结构,它是建立在网络体系结构的传输层,用于主机之间数据的发送和接收,像web中使用的http协议便是建立在socket之上的。这一节主要讨论网络套接字。 套接字接口时一组函数,它们和Unix I/O结合起来,用于创建网络应用。许多操作系统都实现了自己的套接字
阅读全文
摘要:在上篇 "Unix系统级I/O" 中,我们介绍了有关在Unix环境下读取和写入文件的函数 和`write read write read write`去处理,知道传送完所需要的字节。在csapp一书中,给我们提供了一个健壮可靠的I/O包来自动处理这种不足值的情况,称为RIO(Robust I/O)。
阅读全文
摘要:在Unix系统中,一且皆为文件。一个Linux文件就是一个字符序列,并且所有的I/O设备都被模型化成了文件。而所有的输入输出都被当作对对应文件的读和写。Linux提供了一组简单、低级的接口,使得所有的输入输出都可以用一种简单通用的方式来执行。 Linux文件的分类 每一个文件都有一个类型(type)
阅读全文
摘要:在Linux C/C++的开发过程中,当源代码文件较少时,我们可以手动使用gcc或g++进行编译链接,但是当源代码文件较多且依赖变得复杂时,我们就需要一种简单好用的工具来帮助我们管理。于是,make应运而生。 make主要用来管理C/C++项目,通过Makefile书写的规则来对项目中的源代码文件进
阅读全文
摘要:前言 在现在的网络攻击中,缓冲区溢出方式的攻击占据了很大一部分,缓冲区溢出是一种非常普遍的漏洞,但同时,它也是非常危险的一种漏洞,轻则导致系统宕机,重则可导致攻击者获取系统权限,进而盗取数据,为所欲为。 其实缓冲区攻击说来也简单,请看下面一段代码: int main(int argc, char *
阅读全文
摘要:内核版本 Linux 4.7 Note:64位系统中,不再使用 来进行系统调用,取而代之的是 指令 %rax| System call| %rdi| %rsi| %rdx| %r10| %r8| %r9 | | | | | | | 0| sys_read| unsigned int fd| char
阅读全文

浙公网安备 33010602011771号