出于某种原因,我需要更改 linux 协议(protocol)表。例如,我想 linux 将协议(protocol) 1 识别为 ipv4(协议(protocol) 4)或协议(protocol) 47 到 l2tp。 有谁知道如何在 linux 内核中或最好在/sys 文件夹中更改它,所以我的客户端将协议(protocol) tcp 作为 icmp 协议(protocol)发送,而在另一端它接收 icmp 并将其识别为 tcp。 谢谢,
最佳答案
协议(protocol)号在include/uapi/linux/in.h
中定义。更改那里的东西时要格外小心,你将使你的操作系统与那里几乎所有其他东西不兼容。
编辑:当心驱动程序公然忽略 IPPROTO_TCP
的值以支持硬编码值...我刚刚在 drivers/infiniband/hw/nes/中找到了这个“ gem ” nes_cm.c
:
451 iph->protocol = 0x06; /* IPPROTO_TCP */
关于linux - 修改linux协议(protocol)表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314114/