修改linux协议表

时间:2013-03-09 18:07:45

标签: linux linux-kernel ip

由于某种原因,我需要更改linux协议表。例如,我想将linux识别为协议1为ipv4(协议4)或协议47为l2tp。 有谁知道如何在linux内核或最好在/ sys文件夹中更改此内容,因此我的客户端将协议tcp作为icmp协议发送,而在另一方面它接收icmp并将其识别为tcp。 感谢,

1 个答案:

答案 0 :(得分:2)

协议号在include/uapi/linux/in.h中定义。在那里更换东西时要特别小心,你会使你的操作系统与其他所有东西都不兼容。

编辑:注意那些公然忽略IPPROTO_TCP价值而支持硬编码值的驱动程序......我只是在drivers/infiniband/hw/nes/nes_cm.c中找到了这个'宝石':

451     iph->protocol = 0x06;   /* IPPROTO_TCP */