Java 如何在burp extension中捕获服务器无法访问?
我正在开发打嗝扩展。 我正在使用callbacks.makeHttpRequest(主机、端口、bool、请求)方法。 当burp可以到达服务器时,一切都正常,但若服务器无法到达,if会向stderr抛出错误 这是代码Java 如何在burp extension中捕获服务器无法访问?,java,burp,Java,Burp,我正在开发打嗝扩展。 我正在使用callbacks.makeHttpRequest(主机、端口、bool、请求)方法。 当burp可以到达服务器时,一切都正常,但若服务器无法到达,if会向stderr抛出错误 这是代码 protected static final String HOST = "127.0.0.1"; protected static final int PORT = 1337; private IBurpExtenderCallbacks callbacks; private
protected static final String HOST = "127.0.0.1";
protected static final int PORT = 1337;
private IBurpExtenderCallbacks callbacks;
private class MyThread implements Runnable {
private IHttpRequestResponse request;
MyThread(IHttpRequestResponse inputRequest) {
request = inputRequest;
}
@Override
public void run() {
String host = "http://" + HOST + ":" + PORT + "/";
host = host + "?" + "host=" + request.getHttpService().getHost() + "&port=" +
request.getHttpService().getPort();
try {
URL url = new URL(host);
byte[] hostrequest = helpers.buildHttpRequest(url);
try {
byte[] response = callbacks.makeHttpRequest(HOST, PORT, false, hostrequest);
if (response != null) {
IResponseInfo responseinfo = helpers.analyzeResponse(response);
if (responseinfo.getStatusCode() == 200) {
callbacks.makeHttpRequest(HOST, PORT, false, request.getRequest());
}
}
} catch (Exception e) {
stdout.println("Server is unable");
}
} catch (MalformedURLException e) {
stdout.println("URL CREATING ERROR");
}
}
}
所以,如果主机无法,字节[]response=callbacks.makeHttpRequest(主机、端口、false、主机请求);
抛出错误:
java.lang.UnsupportedOperationException: Request has not yet been issued
at burp.cfc.makeHttpRequest(Unknown Source)
at burp.BurpExtender$MyThread.run(BurpExtender.java:77)
at java.lang.Thread.run(Thread.java:745)
我需要自己捕捉它请分享完整的代码,详细说明您使用的主机、端口、回调数据类型以及它们的初始化目的。我怀疑
主机
->主机请求
生成代码。主机对我来说似乎不正确。一切正常,如果服务器可以访问,我发送请求,服务器接受请求,请求正确。我只是有一个问题,如果我关闭服务器。我希望我的代码只是将“服务器不可访问”打印到stdout,而不是向stderror抛出错误。请共享完整的代码,详细说明您正在使用的主机、端口、回调数据类型以及它们的初始化目的。我怀疑主机
->url
主机请求
生成代码。主机对我来说似乎不正确。一切正常,如果服务器可以访问,我发送请求,服务器接受请求,请求正确。我只是有一个问题,如果我关闭服务器。我希望我的代码只是将“服务器不可访问”打印到stdout,而不是将错误抛出到stderror