安全的 UDP 套接字编程
Secure UDP Socket Programming
关于阻止UDP客户端/服务器上的DoS攻击,有哪些好的编程实践? 目前唯一想到的是忽略具有错误来源的数据包,例如(使用 WinSock2):
if (oSourceAddr.sa_family == AF_INET) {
uSourceAddr = inet_addr(oSourceAddr.sa_data);
if (uSourceAddr == oCorrectDestAddr.sin_addr.S_un.S_addr) {
queueBuffer.push(std::string(aBuffer));
}
}
足够快的攻击可能会导致这种情况在循环中阻塞 - 尤其是在数据包大小较小的情况下。 有没有办法防止数据包从某个来源或正确来源以外的任何来源到达? 我还应该注意什么? 如果解决方案已内置到 API 中,则代码形式的说明将特别有用。
有没有办法防止数据包从某个来源或正确来源以外的任何来源到达?
是的。只需将套接字connect()
到正确的源即可。然后UDP将过滤掉来自其他地址的所有数据报。请参阅人 2 连接,关于SOCK_DGRAM套接字的段落。
相关文章:
- 我们可以在套接字编程中将自定义数据作为辅助数据发送吗?
- 如何读取套接字编程(c ++)中的所有数据?
- MFC套接字编程
- C++套接字编程无限循环
- C++ 套接字编程:创建多个流
- 多线程套接字编程服务器仅从 1 个客户端线程获取消息
- 套接字编程 C++ setsockopt()
- 使用套接字编程的怪异HTTP响应
- 使用套接字编程的c++中的字符串流与ifstream(ofstream)
- 如何使用套接字编程获取系统日期和时间
- 处理插座Boost ASIO TCP IP -C 套接字编程
- Connect()返回0 Linux套接字编程(C/C )
- 用于 Windows 7 中的 C 套接字编程的 IDE
- 本地主机在套接字编程以及一般应用中需要什么
- 蓝牙可以接收数据,但不能传输数据(用C++进行套接字编程以与Matlab通信)
- MPI 中套接字编程的 select() 等效于什么?
- 套接字编程:"接受:错误的文件描述符"
- Linux套接字编程:读取Sigio的数据
- 接收二进制数据并写入(C++ 中的套接字编程)
- Cc 套接字编程 select() 的第一个参数