由于某种原因,我需要更改linux协议表。例如,我想将linux识别为协议1为ipv4(协议4)或协议47为l2tp。 有谁知道如何在linux内核或最好在/ sys文件夹中更改此内容,因此我的客户端将协议tcp作为icmp协议发送,而在另一方面它接收icmp并将其识别为tcp。 感谢,
答案 0 :(得分:2)
协议号在include/uapi/linux/in.h
中定义。在那里更换东西时要特别小心,你会使你的操作系统与其他所有东西都不兼容。
编辑:注意那些公然忽略IPPROTO_TCP
价值而支持硬编码值的驱动程序......我只是在drivers/infiniband/hw/nes/nes_cm.c
中找到了这个'宝石':
451 iph->protocol = 0x06; /* IPPROTO_TCP */