忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: ubuntuer

教你修改以及重构skb [复制链接]

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
发表于 2011-07-12 22:14 |显示全部楼层

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
发表于 2011-07-12 22:24 |显示全部楼层
强大啊,学习了

请教问题我在netfilter的NF_IP_PRE_ROUTING点注册了函数,用这个函数skb_copy数据包然后把数据包用dev_queue_xmit()函数发送出去,这时候内核就挂掉了,请问是不是由于mac地址没有加上的原因?

那么加载MAC地址是不是可以用这个方法:
ethdr = (struct ethhdr *)skb->mac.raw;

    memcpy (ethdr->h_dest, dmac, ETH_ALEN);

    memcpy (ethdr->h_source, smac, ETH_ALEN);

    ethdr->h_proto = __constant_htons (ETH_P_IP);

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
发表于 2011-07-12 22:34 |显示全部楼层
楼主 我现在就是主要 用linux来开发路由器 方面的东西,就是搞端口镜像这些东西,有没有好的建议,我现在不知道从什么地方开始学,主要看那些东西,请问下楼主建议,就是我该看些linux哪方面的知识。
谢谢楼主了,楼主V5

论坛徽章:
0
发表于 2011-10-20 11:23 |显示全部楼层
回复 1# ubuntuer


    请教楼主:
在static unsigned int modify() 99行:dev_hold(nskb->dev);那在什么地方dev_put呢?
在int cp_dev_xmit_tcp ()119行:  if (0 != nret && NULL != skb) {dev_put (dev); kfree_skb (skb);} dev_hold呢?
我初学者,对这里不懂,老觉得有增加引用就应该有释放。。。望楼主扫扫盲,谢谢

论坛徽章:
0
发表于 2012-12-04 13:21 |显示全部楼层
学习了!很强!

论坛徽章:
1
技术图书徽章
日期:2013-10-29 15:46:41
发表于 2012-12-04 13:44 |显示全部楼层
mark      

论坛徽章:
0
发表于 2013-01-25 12:25 |显示全部楼层
我现在的情况是PC机器两个网卡,eth4接笔记本,eht0接外网,现在笔记本和PC机都能上网,我想用modify修改笔记本访问的数据,比如笔记本浏览器访问163.com,我把它的IP改成我PC机器本地IP:192.168.0.1,显示PC机本地的一个html主页。失败了,不知道什么原因,楼主能帮我看看吗?

论坛徽章:
0
发表于 2013-03-26 17:17 |显示全部楼层

楼主,求指导!

本帖最后由 gaozongning 于 2013-03-29 15:17 编辑

楼主你好,我想修改IPV6报头格式,由原来的40字节改为36字节的固定首部,去掉一些字段、修改有些字段。以便修改后的数据包能在自己搭建的局域网里传递以及用wireshark(注:可能会改动wireshark,使得其能识别改动后的数据包报头)查看修改后的数据包格式。请问我要达到这个目的,要怎样修改skb,要修改ipv6内核代码的哪些部分及怎样修改。期待您的回复。  邮箱:1002964158@qq.com               回复 1# ubuntuer


   

论坛徽章:
0
发表于 2013-06-21 11:01 |显示全部楼层
很好的帖子,不过有个地方有问题:

第三段代码99行:
dev_hold(nskb->dev);

应当是,dev_put(nskb->dev),否则设备将无法释放

对于“我是历经几十次的死机才成功的”,握手……

论坛徽章:
0
发表于 2013-12-19 14:16 |显示全部楼层
最近在做这方面的,借鉴一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP