为了testing目的,我需要提供一个欺骗IP地址的请求。 什么是最简单的方法来做到这一点?
出于我自己的目的,通过以下方式更改HTTP标头就足够了:
curl --header "X-Forwarded-For: 1.2.3.4" "http://www.foobar.com"
你不能。
一般来说,欺骗TCP的IP地址是非常困难的。 除非你对路由器的控制非常接近你的目标,否则你就是在欺骗IP地址,认为这是不可能的。
回复数据包需要返回给你的路径才能完成三次握手 。 最可靠的方法是在目标和欺骗性IP地址之间最常见的路径上控制路由器:这将允许您捕获目标和欺骗性地址之间的数据包,并将它们转发给您。
你也可以尝试注入虚假的BGP路由广告,但是当你的同事彻底抛弃你的时候,这样做无疑会被注意到并且付出沉重的代价。
我可以让libcurl伪造或隐藏我的真实IP地址吗?
libcurl运行在更高层次上。 此外,伪造IP地址意味着发送IP数据包的源地址,然后你通常收到发回的数据包,因为它们不会被路由到你的问题!
如果您使用代理来访问远程站点,站点将不会看到您的本地IP地址,而是代理的地址。
另外请注意,在许多网络上,使用NAT或其他IP-munging技术,使您可以在本地查看和使用不同于本地远程服务器的IP地址。