total: 13
「转」Linux内核数据包bridge上转发流程
原文地址 blog.csdn.net @hhhhhyyyyy8 @4.15.1
¶前言
linux 内核源代码变动怎么这么大,handle_bridge 函数居然没有了,本来接着准备以 3.9.1 分析的,但发现和后面的又变了,还是以 4.15.1 现在电脑上用的版本分析吧。
linux kernel:4.15.1
best of best [link](https://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg)
先看三张图片
tips: linux 内核版本不一样,流程函数会发生细微改变。
「转」tcpdump是在哪儿抓到的包?
原文地址 cloud.tencent.com
最近使用 tcpdump 的时候突然想到这个问题。因为我之前只存在一些一知半解的认识:比如直接镜像了网卡的包、在数据包进入内核前就获取了。但这些认识真的正确么?针对...
最近使用 tcpdump 的时候突然想到这个问题。因为我之前只存在一些一知半解的认识:比如直接镜像了网卡的包、在数据包进入内核前就获取了。但这些认识真的正确么?针对这个问题,我进行了一番学习探究。
先说结论:通过 PF_PACKET 这个特殊的套接字协议,直接接收来自链路层的帧。数据包并非没有进入内核,而是在进入内核后直接跳过了内核中三层 / 四层的协议栈,直达套接字接口,被应用层的 tcpdump 所使用。实际上,在网卡驱动程序通知内核接受到数据帧的时候,数据包就已经进入了内核处理流程。具体的区别,可以见下图。
内核网络协议栈示意图