免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2525 | 回复: 2
打印 上一主题 下一主题

libipq捕获数据包然后修改在发送出去出现问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-12 10:51 |只看该作者 |倒序浏览
10可用积分
利用iptables 的一些命令,过程如下:
#modprobe iptable-filter
#modprobe ip_queue
#iptables –A forward –p tcp –j QUEUE



先说一下,我的目的是捕获数据包后修改一些数据包的内容,然后重新放回去,但是在实际的项目中用tcpdump发现包还是原样的发出去了,好像我没有做这个改数据包的操作,
请教一下这个现象的原因和如何来解决这个问题,谢谢了
除了校验和,还有其他的原因么?
启动应用程序,贴一段代码如下:


  1. ipq_packet_msg_t *m;  
  2.   u_int8_t  length;   
  3. int count;
  4. m=getPacket(&status);//获得数据包,我也做了次封装,
  5. length==m->data_len;
  6. attr = (unsigned char*)(m->payload +48);
  7. count=length-48;
  8. while(count>0)
  9. {
  10. if (*attr== 8)
  11. {
  12. *attr=0;
  13. }
  14. attr++;
  15. count--;
  16. }
  17. int ret=setResult(m,1,errbuf);//将数据包重新注入内核,1表示NF_ACCEPT,我已经做了封装。

复制代码

[ 本帖最后由 jajaa 于 2009-7-12 10:55 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-07-12 21:35 |只看该作者
你的程序是否已经跟踪到了发包处?

论坛徽章:
0
3 [报告]
发表于 2009-07-12 23:18 |只看该作者

回复 #2 emmoblin 的帖子

请问什么意思?
A 发送数据包到C,经过B,B有两块网卡,然后B上跑了这个程序,包是可以抓到的,但是发现我修改这个数据包后,C仍然能收到,但是受到的数据包并没有任何改变,好像B的操作没有一样。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP