抓包的原理

https://blog.csdn.net/bytxl/article/details/45397967

网络抓包的原理解析,在看网络收包的代码时,有个关键的结构体叫packet_type,这个结构体就是网络收包时对包的各种乱七八糟的操作函数的链表,这篇文章解析了该函数。  

https://blog.csdn.net/dean_gdp/article/details/34427609

下面这篇博客有两个使用AF_PACKET的例子:

https://www.cnblogs.com/Anker/p/6040873.html

例子中有recvmsg函数,对这类函数一直会有个疑问,如果信息太多满了咋办,其实内核中许多地方都遇到这个这个问题,perf的buffer缓冲区满了咋办,满了就是你用户态的事情了,你没有及时地从buffer中把数据给读出来,这个buffer要么被覆盖,要么多的部分被丢弃;

【测试:一个server,一个client,server不断给clinet发信息,把clinet端的buffer设计得非常小,看看client端的收包的结果】

原文地址:https://www.cnblogs.com/honpey/p/8661630.html