2014-02-17 106 views
2

什麼是做到這一點的最好方法是什麼?我試圖使用ServerSocket並更改我的代理設置端口以將所有流量發送到我的Java程序。那麼,它連接,但我似乎無法讀取clientSocket.readLine請求()。的Java攔截HTTP請求

我不想知道如何讓我的代碼工作,雖然,這就是爲什麼我不會發布的代碼。我想知道攔截HTTP閱讀請求的最佳方式。我猜我會採取的做法改變代理端口將流量重定向到我的應用程序(像像打嗝套房和WebScarab做程序)。

換句話說,有人可以給我一個關於Burp Suite/WebScarab如何通過更改代理端口來讀取HTTP請求的示例或僞代碼嗎?

+0

我想你可以嘗試阿帕奇米娜實現HTTP代理 – Leo

+0

這裏有一個Github上回購了一個簡單的Java代理服務器:https://github.com/adamfisk/LittleProxy –

+0

我不想實際代理,只是一種閱讀Burp Suite或WebScarab等HTTP請求的方法。 – MrLolEthan

回答

0

試試這個..並永遠不會忘記來配置你的瀏覽器。

ServerSocket ss=new ServerSocket(8080); 
    while(true){ 
    Socket s=ss.accept(); 
    BufferedReader sin=new BufferedReader(new InputStreamReader(s.getInputStream())); 
    String l=sin.readLine(); 
    System.out.println(l); 
    URL url = new URL("http://your_URL"); 
    URLConnection urlCon = url.openConnection(); 

    BufferedReader src=new BufferedReader(new InputStreamReader(urlCon.getInputStream())); 
    String srst; 
    while ((srst=src.readLine()) != null) 
    System.out.println(srst); 
    }