2014-02-17 238 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); 
    }