假HTTP获取请求

Jig*_*shi 7 java 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;
    }
Run Code Online (Sandbox Code Playgroud)

Rob*_*ine 11

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

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

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

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


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

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


Jon*_*eet 5

首先,我希望任何试图进行源限制的网站都不会信任某些任意标头.数据包说明了响应必须回到的地方 - 我希望他们能够根据这一点加油.

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