【急】如何在Linux内核修改收到的数据包?

我初学Linux内核编程,学习了一点netfilter方面的知识,想问一下:如果有个B/S架构的系统,我想在B与S之间加个类似代理的软件,每次B与S之间的通信都要经过该软件,不知道如何能让该软件对每个收到的数据包进行修改,而又不影响正常通信呢?比如:简单点的功能就是修改源ip或者目的ip之类的(该功能与NAT一样么?),复杂的情况就是修改数据包中的内容了!该如何实现呢?能否实现呢?
请各位大虾指教!!!
谢谢!!

作者: G_VAR   发布时间: 2011-03-10

那就参考一下 NAT 修改数据包的 IP 地址和端口吧。
同时,仔细比对一下你的需求,是不是已经有相关的实现了,避免重复造轮子

作者: Godbach   发布时间: 2011-03-11