首页 > Linux操作系统 > Linux操作系统 > tcpdump抓包原理
1.先创建socket,内核dev_add_packet()挂上自己的钩子函数
2.然后在钩子函数packet_recvmsg中,把skb放到自己的接收队列中,
3.接着系统调用recv取出skb来,把数据包skb->data拷贝到用户空间
4.最后关闭socket,内核dev_remove_packet()删除自己的钩子函数
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31410005/viewspace-3121186/ ,如需转载,请注明出处,否则将追究法律责任。