免费注册 查看新帖 |

Chinaunix

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

请问各位 在驱动中如果想发TCP包该用哪个函数的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-29 10:21 |只看该作者 |倒序浏览
请问各位 在驱动中如果想发TCP包该用哪个函数的? 我自己写了个驱动可以加载的LINUX中,但如果我想在这个驱动里给指定IP发TCP包,该怎么实现的,谢谢

论坛徽章:
0
2 [报告]
发表于 2010-03-29 10:23 |只看该作者
在内核中建立连接、传输、关闭?

论坛徽章:
0
3 [报告]
发表于 2010-03-29 10:25 |只看该作者
本帖最后由 firabc 于 2010-03-29 10:26 编辑

这么个流程的我知道的,就是该用那个API或什么的 需要引用什么库的吗,我的LINUX版本是6.22的,最后又能有参考的代码 ,谢谢各位的

论坛徽章:
0
4 [报告]
发表于 2010-03-29 10:33 |只看该作者
在内核中直接调用接口发送TCP段意义不是很大。
网络层接口:
ip_queue_xmit(),此函数是TCP传输中被调用得最多的函数,普通的数据输出最后都是由它进行打包处理的。
ip_build_and_send_pkt(),此函数用于在TCP建立连接过程中,打包输出SYN+ACK类型的TCP段。
ip_send_reply(),主要用于构成并输出RST和ACK段,在tcp_v4_send_reset()和tcp_v4_send_ack()中被调用。
TCP层接口你基本用不了,因为跟传输控制块是绑在一起的。

论坛徽章:
0
5 [报告]
发表于 2010-03-29 10:33 |只看该作者
mark 以后可能会用的上 呵呵

论坛徽章:
0
6 [报告]
发表于 2010-03-29 11:08 |只看该作者
谢谢 lmarsin

我驱动是用的HOOK的

nfho.hook=check_address;
        nfho.hooknum=NF_IP_PRE_ROUTING;
        nfho.pf=PF_INET;
        nfho.priority=NF_IP_PRI_FIRST;

        ret=nf_register_hook(&nfho);

然后我在check_address中判断,如果是想要的,我就想给指定的IP在check_address里发阻断包的如RST那种的 ,所以想问问该用什么API或什么的? 谢谢你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP