在 tracert 中添加一个假跳数?

在 tracert 中添加一个假跳数?

当有人对其 IP 地址进行跟踪路由时,客户希望添加一个假跳数。他有两个 IP 地址和一个接口(没问题,虚拟接口可以解决这个问题)。我该怎么做?这可能吗?我尝试了 iptables 转发,但它没有显示在 traceroute 中。我还没有尝试过其他方法(也许是某种桥接方法?)

这是 tracert 中显示的当前路由:执行 traceroute 的人 -> 1.1.1.2

这是计划的跟踪路由结果:执行跟踪路由的人 -> 1.1.1.1(假跳)-> 1.1.1.2

更新:添加了一些格式以澄清这不是 xy 问题。我绝对愿意接受任何解决方案,而不仅仅是 iptables(无论是正确的解决方案还是肮脏的黑客)

编辑:它只在一个主机上(Linux)。我也想这样做。它不必太花哨。1.1.1.1 只需要显示在跟踪路由上。

我的尝试 - 不一定是正确的方法

更新:我尝试将数据包从 1.1.1.2 反弹到 1.1.1.1,然后对其进行处理以减少 TTL,然后将其转发到 1.1.1.2(Postrouting -j SNAT --to 1.1.1.1)。

编辑:这是我尝试过的规则,敏感信息已删除:

# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*nat
:PREROUTING ACCEPT [8:760]
:INPUT ACCEPT [8:760]
:OUTPUT ACCEPT [1:104]
:POSTROUTING ACCEPT [1:104]
-A POSTROUTING -p icmp -m icmp --icmp-type 8 -j SNAT --to-source 1.1.1.1
COMMIT
# Completed on Mon May 18 15:13:18 2015
# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*mangle
:PREROUTING ACCEPT [763:151106]
:INPUT ACCEPT [763:151106]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [299:39396]
:POSTROUTING ACCEPT [299:39396]
-A FORWARD -i eth0 -o eth0:0 -p icmp -m icmp --icmp-type 8 -j TTL --ttl-dec 1
COMMIT
# Completed on Mon May 18 15:13:18 2015
# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*filter
:INPUT ACCEPT [839:179066]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [303:40704]
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p udp -m udp --dport 33434:33523 -j ACCEPT
-A FORWARD -d 1.1.1.1/32 -o eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Mon May 18 15:13:18 2015

答案1

理论上,以下内容应该有效并实现您所寻求的目标。

答案2

好的,所以我能想到的唯一方法是在发起请求的主机上执行此操作。您可以在那里添加附加接口并将其绑定到适配器,然后添加路由以使其流经该接口。这样做的主要原因是,当交换机找到与 IP 1.1.1.2 绑定的 MAC 地址时,您的跟踪将结束。

如果您不想为此更改请求者主机,则需要进行网络更改,例如修改路由器以模拟额外的跳数。

相关内容