0%

socket选项

读取和设置socket文件描述的方法如下

1
2
3
4
5
#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>

int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

sockfd参数指定被操纵的目标socket,level参数指定要操作的协议选项,optname参数则指定选项的名字,optvaloptlen参数分别是操作选项的值和长度。截图了一下书中的表格。

阅读全文 »

socket地址信息函数

学习《Linux高性能服务器编程》第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记。这一篇主要记录Linux中socket地址信息函数。

阅读全文 »

socket数据读写

学习《Linux高性能服务器编程》第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记。这一篇主要记录Linux中socket数据读写的部分,包括TCP数据读写、UDP数据读写和通用数据读写。

阅读全文 »

socket相关命令

学习《Linux高性能服务器编程》第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记。这一篇主要记录Linux中socket相关的命令,包括创建socket、命名socket、监听socket、接受连接、发起连接和关闭连接。

阅读全文 »

Linux中socket地址API

学习《Linux高性能服务器编程》第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记。这一篇主要记录Linux中socket地址的基础,包括主机字节序和网络字节序、socket地址和IP地址转化函数。

阅读全文 »

Linux网络编程基础API

学习《Linux高性能服务器编程》第五章Linux网络编程基础API,为了印象深刻一些,多动手多实践,所以记下这个笔记。

阅读全文 »

tcpdump进行IP抓包

在学习《Linux高性能服务器编程》中,看到作者对IP头部使用tcpdump进行抓包,所以本着实践出真知、多看多练的道理,也进行抓包,顺带记录一下。

注意这里的IP协议都是指IPv4协议。

阅读全文 »

tcpdump进行DNS抓包

在学习《Linux高性能服务器编程》中,看到作者对DNS使用tcpdump进行抓包,所以本着实践出真知、多看多练的道理,也进行抓包,顺带记录一下。

我们先用host命令查询一下百度域名的IP地址

1
host -t A www.baidu.com

其中-t A是指 查询你A类型的地址,不过我也没有弄清楚这个A是什么类型

查询结果如下

image-20220805191657175

www.baidu.com是www.a.shifen.com的别名。www.a.shifen.com有两个地址112.80.248.75和112.80.248.76

阅读全文 »

tcpdump进行ARP抓包

在学习《Linux高性能服务器编程》中,看到作者对ARP使用tcpdump进行抓包,所以本着实践出真知、多看多练的道理,也进行抓包,顺带记录一下。

ARP协议的功能是实现网络层地址到任意物理地址的转换,简单理解ARP能够实现从IP地址转化为MAC地址的转化。

阅读全文 »