如何在C中更改来自NIC的传入数据包?

时间:2011-04-20 15:03:47

标签: c network-programming

libpcap只能读取数据包,我怎样才能更改呢?

基本上我想注册一个对所有传入数据包进行操作的回调函数,

怎么办呢?

1 个答案:

答案 0 :(得分:2)

这是什么类型的流量?你想怎么修改它?什么操作系统?

在linux上,您可以使用iptables让内核为您修改数据包。

如果那不能做你想要的(即你需要把数据包送到用户空间),你可以查看netfilter_queue。或者作为一个更简单的替代方法,使用iptables REDIRECT规则将所有数据包发送到单个端口,并编写应用程序以侦听该端口。