在tracert中添加假跳跃?

当有人在他的IP地址上进行跟踪路由时,客户端希望添加假跳跃。 他有两个IP地址,一个接口(没问题,虚拟接口解决了这个问题)。 我应该如何继续? 这甚至有可能吗? 我试过iptables转发,但它不会显示在traceroute。 我还没有尝试其他方法(也许某种桥接?)

下面是tracert中显示的当前路由:Person正在执行traceroute – > 1.1.1.2

这里是计划的traceroute结果:做traceroute的人 – > 1.1.1.1(假跳) – > 1.1.1.2

更新:增加了一些格式来说明这不是一个xy问题。 我绝对开放任何解决scheme,不只是iptables(不pipe是一个适当的或肮脏的黑客)

编辑:它只在一个主机上(Linux)。 我也想这样做。 它不必是任何幻想。 1.1.1.1只需要在traceroute上显示。

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

更新:我尝试从1.1.1.2跳到1.1.1.1的数据包,然后将其改为减lessTTL,然后将其转发到1.1.1.2(正向后-j SNAT – 到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 

从理论上讲,下面的工作应该能够实现你正在寻找的东西。

  • 在服务器上创build一个新的虚拟接口,并为其分配一个IP地址, http://linuxconfig.org/configuring-virtual-network-interfaces-in-linux
  • 设置原始IP地址/接口,使其指向通过改变路由表而创build的新虚拟接口(实际上,它成为源和目标之间的新路由器/网关), http:/ /linux-ip.net/html/basic-changing.html

好吧,我可以想到的唯一方法是在启动请求的主机上这样做。 您可以在其中添加额外的接口,并将其绑定到适配器,并添加路由使其stream过该接口。 主要原因是当交换机发现绑定到IP 1.1.1.2的MAC地址时,您的跟踪将结束。

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