是否存在会导致任何发送的数据包被忽略(黑洞)的 IP 地址?
我知道我可以随时为路由器设置一个 IP 地址,然后让它忽略所有发送给它的数据包,但是否存在这样的方法可以为我省去麻烦?
答案1
IPV6 中有一个黑洞前缀,具体如下:RFC 6666,它是 100::/64。IP4 没有这样的明确黑洞,但其中一个保留块上不存在的主机会产生这种影响。(例如,240.0.0.0/4 是“为将来使用而保留的”,不会被任何东西路由。)
答案2
网络黑洞。
如果网络中没有 IP 地址为 192.168.0.10 的设备,那么这个 IP 地址就是一个黑洞,它会“丢弃”所有发往它的流量,因为它不存在。
跟踪连接状态的协议 (TCP) 可以检测到丢失的目标主机。UDP 不会发生这种情况,数据包会直接丢失,而发送主机不会收到有关该情况的通知。
您可以通过以下方式设置防火墙黑洞:默默丢弃数据包(不拒绝) 来自特定(或多个)地址。
据我所知,在 TCP/IP 版本 4 中没有这样的网络标准地址会给你造成黑洞(感谢班德拉米)。
因此你有两个选择:
- 未分配给任何主机的 IP 地址;
- 带有防火墙的主机会悄悄丢弃数据包或其变体,例如使用
netcat
:(如建议的那样超强锯片)。
nc -vv -l 25 > /dev/null
将侦听 TCP 端口 25 上的入站连接并将结果通过管道发送到/dev/null
。更多示例这里。
整个子网也可能是一个黑洞(空路由)。
答案3
虽然它不是一个黑洞,但你可能还需要考虑 IP为测试/示例目的而留出(根据 RFC 5737),特别是当您的目标是“安全不起作用的默认值”时。
192.0.2.0/24
(测试网-1),198.51.100.0/24
(测试网-2)203.0.113.0/24
(测试网-3)
网络运营商应该将这些地址块添加到不可路由地址空间列表中,并且如果部署了数据包过滤器,则应该将该地址块添加到数据包过滤器中。
没有保证发往这些地址的数据包将被阻止(这取决于您的 ISP 等),但肯定没有人应该已经使用它们。
答案4
回避你的问题,那么使用“丢弃协议”?