2010-07-09 151 views
8

我已經注意到某些網站,它允許每個IP 所以我可以編程方式讓他們感到請求不是來自同一個IP來打擊有限,假HTTP GET請求

好吧,我沒有太多的不確定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; 
    } 

回答

11

我猜測過濾器正在應用在IP數據包級別而不是在更高級別的HTTP級別。在這種情況下,是和否

是的 - 從技術上來說,欺騙你的IP地址是可能的,所以IP數據包看起來像是來自其他地方。

不 - 因爲它不太可能有用。如果您欺騙TCP數據包的「發件人」地址,則您連接到的計算機的任何回覆都將在嘗試路由到欺騙性IP地址時丟失。你什麼都得不到。

也就是說,您甚至無法完成TCP Three-Way-Handshake。在這個過程完成之前,你甚至不能將的任何東西都發送到連接 - 因爲甚至沒有連接。 HTTP運行在TCP上,所以除非你完成握手(這需要一個有效的'from'IP地址),否則你不能使用這個。


一個古老的竅門是使用一種稱爲「源路由」的東西; TCP數據包中包含有關如何路由信息的信息。這是用於「當天」的診斷用途。你可以將自己放在指定的路由中,然後當數據包到達並回復它們時,再次使用源路由信息停止。

但是這種技術根本不能工作,因爲現在互聯網上的幾乎每個路由器都會丟棄源路由的數據包,因爲沒有合法的需求 - 並且很多潛在的破壞。

5

首先,我倒是希望它正在嘗試做的開源節流任何網站都沒有去信任一些任意的頭文件。數據包說明了迴應的地方 - 我希望他們能夠基於此做出調整。第二,如果一個網站不希望你反覆打他們,你不覺得你試圖規避這種做法是不禮貌的嗎?如果我是網站所有者,並且我注意到有人試圖這樣做,那麼我可能會全面禁止他們,如果可能的話。

+0

我打算這樣做來保護我自己的網站。 ,你可以告訴我哪些是我需要檢查的參數: – 2010-07-09 08:12:05

+0

@abc:這完全取決於你的網站是如何實現的 - 但我希望有一部分API給你的源API地址。它可能最終會成爲代理,但在許多情況下,這應該仍然足夠好。 – 2010-07-09 08:13:46

0

不,欺騙你的IP是不是你可以在你的HTTP頭做的事情。首先,我建議不管你想要解決什麼限制 - 都不要打擾。這是有原因的,你可能會打破某些服務的使用條款。其次,如果你完全確定,我會說你能夠使它看起來像來自不同IP的請求的唯一方式是實際上使它來自不同的IP - 即通過使用一堆代理。

+0

我正在策劃這個以確保我自己的網站。 ,你能告訴我哪些是我需要檢查的參數 – 2010-07-09 08:13:09

0

不,根據源IP執行速率控制的站點,如果他們使用可欺騙頭來實現它,那將是非常天真的。

0

不,你不能用它來實現,除非你使用某種代理。

通常IP檢測來自IP層,而不是來自HTTP頭。如果有人通過標題檢測到IP,那麼......這是錯誤的。

2

不,這是不可能愚弄這種只使用Http頭部變更的系統。實現您的目標的一種可能的方法是使用Tor network

0

如果我可以使用這個詞來表達不合理的東西,使網站認爲不同的IP,「正確」的方式就是使用代理連接。該網站實際上可能會檢查源IP地址,即而不是 HTTP請求的屬性。所以,這個迴應將被傳遞給你的「其他」IP。您應該查看ssh -Dprivoxy或另一部分軟件,以通過遠程中介向您的網站發送所有流量。