假HTTP获取请求

我注意到某些网站允许每个IP的命中率有限,所以我可以编程方式让他们觉得请求不是来自同一个IP,

好吧,我不太确定abot HTTP数据包,但是我们可以在标题或某个地方指定它以使它们变得愚蠢

这是GET请求的代码

public static String sendGetRequest(String endpoint, String requestParameters) { String result = null; if (endpoint.startsWith("http://")) { // Send a GET request to the servlet try { // Construct data StringBuffer data = new StringBuffer(); // Send data String urlStr = endpoint; if (requestParameters != null && requestParameters.length() > 0) { urlStr += "?" + requestParameters; } URL url = new URL(urlStr); URLConnection conn = url.openConnection(); // Get the response BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer sb = new StringBuffer(); String line; while ((line = rd.readLine()) != null) { sb.append(line); } rd.close(); result = sb.toString(); } catch (Exception e) { e.printStackTrace(); } } return result; } 

我猜测filter正在应用于IP数据包级别而不是更高级别的HTTP级别。 在这种情况下是和否

是的 – 技术上可以欺骗您的IP地址,因此IP数据包看起来像是来自其他地方。

不 – 因为它不太可能有用。 如果您欺骗TCP数据包上的“发件人”地址,那么您连接到的计算机的任何回复都将在尝试路由到欺骗性IP地址时丢失。 你什么也得不回来。

也就是说,您甚至无法完成TCP三向握手 。 在该过程完成之前,您甚至无法连接发送任何内容 – 因为开始时甚至没有连接。 HTTP通过TCP运行,因此除非您完成握手(需要有效的’来自’IP地址),否则您无法使用它。


一个老技巧是使用一种叫做“源路由”的东西; 其中TCP数据包包含有关如何路由信息的信息。 这是用于“在白天”的诊断用途。 您可以将自己置于指定的路由中,然后只需在数据包到达您时将其停止并再次使用源路由信息进行回复。

但是这种技术根本不起作用 ,因为现在互联网上几乎每一个路由器都只丢弃源路由数据包,因为没有合法的需求 – 并且会造成很多潜在的破坏。

首先,我希望任何试图进行源限制的网站都不会信任某些任意标头。 数据包说明了响应必须回到的地方 – 我希望他们能够基于此进行节制。

其次,如果一个网站不希望你反复点击它们,难道你不觉得你试图绕过它是不礼貌的吗? 如果我是网站所有者,我注意到有人试图这样做,我可能会尽可能地禁止他们。

不,只使用Http标头更改就不可能欺骗这些系统。 实现目标的可能方法是使用Tor网络 。

不,欺骗您的IP不是您可以在HTTP标头中执行的操作。

首先,我建议无论你想要绕过什么限制 – 都不要打扰。 这是有原因的,你可能会破坏服务的某些使用条款。

其次,如果你绝对坚定,我会说你能够让它看起来像是来自不同IP的请求的唯一方法是实际上让它来自不同的IP – 即,通过使用一堆代理。

不,如果使用可欺骗的标头实现它,那么基于源IP执行速率控制的站点将非常幼稚。

不,除非您使用某种代理,否则您无法以进度方式执行此操作。

通常,IP检测来自IP级别,而不是来自HTTP标头。 如果有人通过标题检测到IP,那么……这是错误的。

“正确”的方式,如果我可以将该术语用于不健康的事情,使网站认为不同的IP已经提出请求是使用代理连接。 该站点可能实际上正在检查源IP地址,该IP地址不是 HTTP请求的属性。 因此,响应将传递给您的“其他”IP。 您应该查看ssh -Dprivoxy或其他软件,以便通过远程中介将您的所有流量privoxy到网站。