【问题标题】:How can I spoof the sender IP address using curl?如何使用 curl 欺骗发件人 IP 地址?
【发布时间】:2015-03-30 00:51:09
【问题描述】:

出于测试目的,我需要使用伪造的 IP 地址发出请求。最简单的方法是什么?

【问题讨论】:

    标签: unix curl


    【解决方案1】:

    出于我自己的目的,通过以下方式更改 HTTP 标头就足够了:

    curl --header "X-Forwarded-For: 1.2.3.4" "http://www.foobar.com"
    

    【讨论】:

    • 这是从哪里设置的?,使用浏览器控制台?
    • @ankit337 curl 是一个命令行工具,与网络浏览器无关,见curl.haxx.se
    • 我不认为这可以保证在所有环境中都有效。一方面,戏剧!除非另有明确配置,否则框架会忽略来自除 localhost 之外的所有来源的此标头:playframework.com/documentation/2.3.3/api/java/play/mvc/…
    • 这很聪明,但不在问题所暗示的网络层。看起来这会诱使接收者认为存在代理,但这不应该影响框架的源 IP。这个答案以不同的方式阐述了同样的事情:stackoverflow.com/questions/16910280/curl-with-spoof-ip-address。如问题所述,要进行欺骗,您必须构建数据包,这就是为什么大多数执行此操作的工具都需要原始套接字的原因;如果您更具体地说明您要做什么/技巧,它将有助于这个问题(及其要点)与另一个问题不同。
    • 这取决于客户端和 Web 服务之间的代理设置。例如,在 Nginx 上,使用proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 它可以完美地工作,因为嵌入变量$proxy_add... 提供了什么,但根据我的实验,使用$remote_addr 时同样不适用。值得一提的是 NGINX 支持的嵌入变量列表以及每个变量的含义: nginx.org/en/docs/varindex.html 此外,X-Forwarded-For 跟踪执行请求的跃点,用逗号分隔地址.
    【解决方案2】:

    你不能。

    一般来说,欺骗 TCP 的 IP 地址非常困难。除非您可以控制非常靠近您的目标或您正在欺骗的 IP 的路由器,否则认为这是不可能的。

    回复数据包需要返回给您的路径才能完成three-way handshake。最可靠的方法是控制目标和欺骗 IP 地址之间最常见路径中的路由器:这将让您捕获目标和欺骗地址之间的数据包并将它们转发给您。

    您也可以尝试注入bogus BGP route 广告,但这样做无疑会引起注意,并且当您的同行完全抛弃您时,您会付出高昂的代价。

    【讨论】:

    • 这是他提出的问题的正确答案,但不是他本意要问的问题的正确答案。 :D @sarnold
    • 如果您根本不需要收到答复怎么办?就像只响应特定 IP 但您不需要答案的 API
    • @Freedo,正如 Jacob 和许多其他人所指出的,您尝试做某事的 原因 很重要;我今天可能不会给出这个答案。您最好提出一个新问题,并详细描述您要完成的工作。不过这里只是一个快速的挑剔:在接收者甚至可以开始从连接发起者读取数据之前,得到一个答案不同于 TCP 需要双向通信。也许答案是使用 UDP,也许不是。最好提出一个新问题。
    【解决方案3】:

    Can I make libcurl fake or hide my real IP address?

    没有。 libcurl 在更高级别上运行。此外,伪造IP地址 将意味着发送带有虚构源地址的 IP 数据包,然后 你通常会在接收发回的数据包时遇到问题,因为他们 然后不会被路由给你!

    如果您使用代理访问远程站点,这些站点将看不到您的 本地 IP 地址,而不是代理的地址。

    另请注意,在许多网络上,NAT 或其他 IP 转换技术 用于使您在本地查看和使用不同的 IP 地址 比远程服务器看到你的来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-22
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 2011-02-20
      • 2013-06-21
      相关资源
      最近更新 更多