修改linux网卡驱动,终于成功通过重构skb实现vlan功能(原创)
测试环境:mips核cpu,linux-2.4
测试工具:用wrieshark抓包看现在的ip包格式
一、思路:
1.先能进行编译、烧写内核
2.打开现有的debug开关,看有关的打印信息
3.烧录bin文件到/dev/mtd1
4.用wrieshark抓包看现在的ip包格式
5.开始修改包
6.另外,需要学习skbuff
二、了解802.1Q TAG
1、802.1Q:
目标MAC 源MAC 802.1Q 协议类型/长度数据 FCS 6字节 6字节 4字节 2字节未知 4字节
802.1Q报头中有以下字段:
Protocol Type:指明该数据包是一个802.1Q数据包,取值0x8100;
Priority:指明该数据包的优先级,一般情况下置0;
CFI:此位一般忽略,置0;
VLAN ID:这是一个12位的域,指明VLAN的ID,一共4096个;
三、学习skbuff:
unsigned char *head
unsigned char *end
unsigned char *data
unsigned char *tail