对于数据包的截取,使用linux中的netfilter钩子函数

利用netfilter机制,实现内核防火墙把http请求和回应的数据包截获后,解释出其中的http层数据 #include #include #include #include #include #include #include #include #include unsigned int change(int aChar,int hex) {     int ch;     ch = aChar - hex;     return ch; } unsigned cha 阅读详情

netfilter可以过滤数据包,也就对数据包经行了截获,它通过调用内核网络代码中的一些hook函数完成所需要的工作。

而当一个当数据包游历Linux内核的网络堆栈时,它穿过了几个hook点,在这里,数据包可以被分析并且选择是保留还是丢弃,这些hook点就是Netfilter hook。

 

而钩子函数(回调函数)也是系统内核为驱动程序提供的一些特定的函数,在驱动程序中某个变量的状态发生改变或将要改变或改变完成时,将会自动调用该回调函数,在netfilter中的状态就有五个(针对IPV4):

hook调用的时机
NF_IP_PRE_ROUTING              在完整性校验之后,选路确定之前
NF_IP_LOCAL_IN               在选路确定之后,且数据包的目的是本地主机
NF_IP_FORWARD                     目的地是其它主机地数据包
NF_IP_LOCAL_OUT                  来自本机进程的数据包在其离开本地主机的过程中
NF_IP_POST_ROUTIN

netfilter 五个钩子点实现SNAT和DNAT的方案 netfilter_queue的安装包所需依赖包,先安装libmnl然后libnfnetlink最后netqueue。在钩子点可以通过return NF_QUEUE对所需数据包进行地址转换 立即下载

相关推荐

MTK 人工智能生态系统 <一> 简介

Neuropilot

New_Tank的博客 3467

FID指标实战:如何用Python快速计算生成图像的质量分数(附完整代码)

本文详细介绍了如何使用Python计算Fréchet Inception Distance(FID)指标,以评估生成图像的质量。通过完整的代码示例和优化技巧,帮助开发者快速实现FID计算,并解读分数背后的实际意义,适用于GAN和扩散模型的性能评估。

weixin_28718487的博客 356

Research Proposal:自动驾驶 行人运动预测

Research Proposal about Pedestrian/Cyclist Motion Prediction for Self-Driving Vehicles   If I can be provided with the opportunity to conduct PhD research in pedestrian/cyclist motion prediction for...

Poetry Wanderer的博客 3070

GitHub 国内加速完全指南(最新):镜像、代理与优化技巧

在国内使用 GitHub 时,经常遇到 clone 慢、打开仓库卡、GitHub Actions 不稳定 等问题。下面是整理好的 GitHub 国内镜像和加速方法大全,高效使用 GitHub。

moton2017的博客 1万+

大数据在电力行业的应用案例解析 -【电力技术】(十)电力数字化运营与大数据精准服务体系建设

电力数字化运营,是大数据在电力行业从技术场景走向业务价值的最终落点。它以数据为纽带,将用户、设备、服务、收益、风险全部纳入统一闭环,实现从 “管好电” 向 “运营好能源资产” 升级。在新型电力系统与市场化改革双重驱动下,谁能用好数据、建好闭环、做好运营,谁就能在服务、成本、效益、安全上建立长期优势。

getusushu的博客 57

基于STM32单片机设计的红外测温仪(带人脸检测)_34

当前设计的这款红外非接触式测温仪由测温硬件+上位机软件组合而成,主要用在地铁、车站入口等地方,可以准确识别人脸进行测温,如果有人温度超标会进行语音提示并且保存当前人脸照片。

8739

GDB交叉编译与问题解决:从零到精通的深度指南

完成后,GDB会安装到/usr/local/gdb-aarch64/bin,可以用aarch64-linux-gnu-gdb --version检查。:得有支持目标架构的交叉编译工具链,比如gcc-arm-none-eabi(用于ARM裸机)或aarch64-linux-gnu-gcc(用于ARM Linux)。:在配置工具链时,运行aarch64-linux-gnu-gcc --version检查版本,确保工具链没问题。这种场景下用GDB调试,就像在荒野求生,但别慌,GDB依然是你的好伙伴。

大模型大数据攻城狮的专栏 1万+

成都臻识相机 opensdk_r3_20210414.rar

成都臻识相机 车牌识别相机 OPENSDK 开发包 最新R3版本相机

exact_alm_rpca_rpca_RPCA代码_alm背景分离_低秩稀疏_低秩.zip

exact_alm_rpca_rpca_RPCA代码_alm背景分离_低秩稀疏_低秩.zip

RTL8376千兆网交换机原理图、pcb文件

RTL8376千兆网交换机原理图、pcb文件PADS格式

基于Simulink与CarSim联合仿真的MPC轨迹跟踪模型优化研究,Simulink与CarSim联合仿真下的MPC轨迹跟踪模型研究与应用,simulink和carsim联合仿真的mpc轨迹跟踪模

基于Simulink与CarSim联合仿真的MPC轨迹跟踪模型优化研究,Simulink与CarSim联合仿真下的MPC轨迹跟踪模型研究与应用,simulink和carsim联合仿真的mpc轨迹跟踪模型。,关键词:Simulink; Carsim; 联合仿真; MPC轨迹跟踪模型;,Simulink-CarSim MPC轨迹跟踪仿真模型

上一篇: linux 函数hook实现数据包过滤基本框架
下一篇: Linux 钩子函数 实现数据包的过滤实例
hack8
博客等级 码龄18年 109粉丝 128原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值