gpt4 book ai didi

networking - 过滤意外发送到我的端口的 UDP 数据包

转载 作者:行者123 更新时间:2023-12-05 06:45:34 30 4
gpt4 key购买 nike

我正在 UDP 之上设计一个简单的协议(protocol),现在我意识到其他人可以将数据包发送到我正在监听的端口。这样的数据包对于我的应用程序来说显然是不正确的(我现在不担心安全问题)

是否有过滤这些无效消息的方法?我正在考虑在每个数据包的开头添加一些固定的魔数(Magic Number),但它应该有多大? 16 位是否足够?

最佳答案

我认为典型的解决方案是在 session 开始时要求握手(可能包括一个“足够长”的魔数(Magic Number))。当然,“ session ”是您的协议(protocol)需要跟踪的东西,UDP 没有这个概念。为所有当前 session 保留一个列表 ip、端口和最后一个数据包接收时间应该这样做:然后你可以丢弃来自事先没有完成握手的对等点的所有数据包。这不仅可以防止随机的未知应用流量破坏您的应用程序,还可以防止多个合法对等方搞砸彼此的流量。

此外,如果您需要确保对等方同意您同意这是哪个 session ,则可以向数据包添加 session ID 或增加的数据包序列号(允许丢失数据包)。

关于networking - 过滤意外发送到我的端口的 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007823/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com