当前位置: 技术问答>linux和unix
求助一个关于LINUX中网卡驱动的问题
来源: 互联网 发布时间:2016-03-17
本文导语: 我想在LINUX下直接抓取网卡收取到的以太网帧,不经过操作系统,而用自己的协议进行处理,然后也要通过网卡发送一些不属于TCP/IP的协议,请问LINUX中要如何做到这两点?要看哪些方面的资料?谢谢了!! (前提: ...
我想在LINUX下直接抓取网卡收取到的以太网帧,不经过操作系统,而用自己的协议进行处理,然后也要通过网卡发送一些不属于TCP/IP的协议,请问LINUX中要如何做到这两点?要看哪些方面的资料?谢谢了!!
(前提:
1、网卡这一块我已经比较明白,发送收取协议在裸奔的情况下已经测试正确
2、刚接触LINUX,目前水平只能够一些进行LINUX中基本的命令操作,简单Makefile的编写,设备驱动那本书看了一点点,但是时间不够,想针对性的看,就是想知道有没有专门这方面的资料? 网上搜了下搜不到。)
(前提:
1、网卡这一块我已经比较明白,发送收取协议在裸奔的情况下已经测试正确
2、刚接触LINUX,目前水平只能够一些进行LINUX中基本的命令操作,简单Makefile的编写,设备驱动那本书看了一点点,但是时间不够,想针对性的看,就是想知道有没有专门这方面的资料? 网上搜了下搜不到。)
|
把报文拦截住,可以注册钩子函数
发送自己特定的报文,需要改动driver xmit函数吧!
发送自己特定的报文,需要改动driver xmit函数吧!
|
在LINUX中,网卡驱动的包要上传到IP层,或者从IP层通过MAC发送出去,
都是通过软中断实现的,
要达到你的目的,我觉得可以更改接收/发送的软中断处理程序。
都是通过软中断实现的,
要达到你的目的,我觉得可以更改接收/发送的软中断处理程序。
|
找个网络驱动看代码,譬如drivers/net/cs89x0.c(网上有很多关于此网卡的参考文章),搞清楚网络数据流程,对症下药。