- 论坛徽章:
- 0
|
10可用积分
利用iptables 的一些命令,过程如下:
#modprobe iptable-filter
#modprobe ip_queue
#iptables –A forward –p tcp –j QUEUE
先说一下,我的目的是捕获数据包后修改一些数据包的内容,然后重新放回去,但是在实际的项目中用tcpdump发现包还是原样的发出去了,好像我没有做这个改数据包的操作,
请教一下这个现象的原因和如何来解决这个问题,谢谢了
除了校验和,还有其他的原因么?
启动应用程序,贴一段代码如下:
- ipq_packet_msg_t *m;
- u_int8_t length;
- int count;
- m=getPacket(&status);//获得数据包,我也做了次封装,
- length==m->data_len;
- attr = (unsigned char*)(m->payload +48);
- count=length-48;
- while(count>0)
- {
- if (*attr== 8)
- {
- *attr=0;
- }
- attr++;
- count--;
- }
- int ret=setResult(m,1,errbuf);//将数据包重新注入内核,1表示NF_ACCEPT,我已经做了封装。
复制代码
[ 本帖最后由 jajaa 于 2009-7-12 10:55 编辑 ] |
|