相关疑难解决方法(0)

设置UDP套接字的源IP

我有一个UDP套接字绑定到INADDR_ANY来监听我的服务器上的所有IP数据包.我通过同一个套接字发送回复.

现在,当发送数据包时,服务器会自动选择将哪个IP用作源IP,但我希望能够自己设置传出源IP.

有没有办法做到这一点,而无需为每个IP创建一个单独的套接字?

sockets ip udp interface

26
推荐指数
2
解决办法
3万
查看次数

如何判断套接字从哪个接口收到消息?

如果套接字绑定到IN6ADDR_ANY或者INADDR_ANY您使用调用,例如recvfrom()在套接字上接收消息.有没有办法找出消息来自哪个接口?

在IPv6链接范围消息的情况下,我希望from参数recvfrom()scope_id字段初始化为接口Id.不幸的是,它0在我的测试程序中设置.

谁知道找到这些信息的方法?

sockets networking libc

12
推荐指数
3
解决办法
5164
查看次数

如何正确防止SSDP反射/放大攻击?

我正在实现一个应该响应SSDP M-SEARCH查询的设备.

我是设备供应商,我无法控制这些设备的部署位置.

有一种已知的DDoS攻击使用SSDP搜索放大,即攻击者从伪造地址发送搜索请求,编码不良的SSDP服务器响应该假地址.假地址最终受到重创.

我应该怎么做以防止我的设备被用于此类攻击?

  1. 仅设置TTL = 2并依赖路由器丢弃数据包
  2. 仅响应来自自己子网的请求
  3. 为有效的查询源子网添加配置选项
  4. 猜猜什么IP地址是"本地的"和"全球的"
  5. 添加响应油门,希望最好
  6. 你的建议?

Wrt 1. TTL应根据SSDP规范进行配置; 即使它的响应很低,仍然会泄漏出本地网络.如果网络上有桥接VPN,则响应泄漏很远.

Wrt 2.我可以想象可以访问多个子网的公司网络(例如,一个子网用于无线客户端,另一个用于桌面,另一个用于服务器),因此我的设备必须可以跨子网搜索(尽管每个规格需要TTL).

Wrt 3.配置和维护麻烦.

Wrt 4.有可靠的方法吗?IPv6怎么样?那些拥有例如/ 28片全局地址的网络怎么样?

Wrt 5.来自无数设备的涓涓细流仍然是一股洪流......

参考:https://blog.sucuri.net/2014/09/quick-analysis-of-a-ddos-attack-using-ssdp.html

security network-programming ddos ssdp

8
推荐指数
1
解决办法
1064
查看次数

标签 统计

sockets ×2

ddos ×1

interface ×1

ip ×1

libc ×1

network-programming ×1

networking ×1

security ×1

ssdp ×1

udp ×1