免费注册 查看新帖 |

Chinaunix

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

拷贝e1000e发送的包 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-25 17:45 |只看该作者 |倒序浏览
我想把通过某个网口"eth0"发送和接受的数据拷贝一份到我的程序,进行分析。
在e1000_clean_rx_irq的e1000_receive_skb之前拷贝出接收包,现在看起来好像没有什么问题。
在e1000_xmit_frame的e1000_tx_map之前考出发送包。但是拷贝的包好像不对。我又试着在e1000_tx_map在dma_map_single和dma_map_page拷贝数据包,貌似也不对。
问一下应该在哪里拷贝发送出去的数据包?skb->data和frag->page里面的数据包都是完整的吗?都是ethheader开头的吗?我需要ethheader开头的完整数据包
对驱动不了解,搞得一头雾水,请高手指点

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2013-03-25 18:24 |只看该作者
回复 1# lxl8768


    网上有 etherpuppet  程序,可以下下来看。

 那程序是 把一个eth 端口的所有包,都发送到另外一个端口

论坛徽章:
0
3 [报告]
发表于 2013-03-25 18:29 |只看该作者
谢谢,我还是想问一下,如果我在e1000e驱动中加入一段拷贝代码的话应该放在那里?在e1000_clean_rx_irq中的skb->data直接用好像没用问题,在e1000_xmit_frame中的为什么就不行啊?回复 2# goldenfort


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2013-03-25 18:34 |只看该作者
回复 3# lxl8768

    etherpuppet  程序地址  http://www.secdev.org/projects/etherpuppet/
    你的办法搞不懂,etherpuppet 是应用空间程序,kernel 本来应该就提供了整包copy 的机制,调用就可以了,不用另外加接口吧

论坛徽章:
0
5 [报告]
发表于 2013-03-25 18:44 |只看该作者
好的,谢谢,就是不知道这个程序会不会多一次拷贝。我去研究下代码。回复 4# goldenfort


   

论坛徽章:
0
6 [报告]
发表于 2013-03-26 18:49 |只看该作者
哎,还是要继续等待回答啊,有木有搞过e1000e的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP