-
Notifications
You must be signed in to change notification settings - Fork 875
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JSON output enhancement + Optional probe flag #319
Comments
failed
results
thank you @nil0x42, I've updated the issue with more details around the feature you suggested here. |
i proposed "original-input" as key name because "host" is already used in json output, and gives which IP was used to make the request also, considering that |
@nil0x42 both feature is now supported in dev branch. > subfinder -d hackerone.com | ./httpx -probe
https://api.hackerone.com [SUCCESS]
https://support.hackerone.com [SUCCESS]
https://gslink.hackerone.com [SUCCESS]
https://resources.hackerone.com [SUCCESS]
https://docs.hackerone.com [SUCCESS]
http://events.hackerone.com [FAILED]
http://o1.email.hackerone.com [FAILED]
http://go.hackerone.com [FAILED]
http://o2.email.hackerone.com [FAILED] {
"timestamp": "2021-07-24T15:50:27.608389+05:30",
"url": "http://b.ns.hackerone.com",
"input": "b.ns.hackerone.com",
"error": "no address found for host (Client.Timeout exceeded while awaiting headers)",
"failed": true
} |
Hi ! I've just tested v1.1.1. It has many new cool features. echo thisisinvalid.com | ./httpx -silent -random-agent -title -web-server -tech-detect -follow-redirects -json -ports 443 -ip -probe | gron json = {};
json.error = "no address found for host";
json.failed = true;
json.input = "https://thisisinvalid.com:443";
json.timestamp = "2021-08-09T16:42:01.485342456Z";
json.url = "http://thisisinvalid.com:443"; Here, |
thank you @nil0x42, the expected is this:- echo thisisinvalid.com | httpx -silent -random-agent -title -web-server -tech-detect -follow-redirects -json -ip -probe | gron
json = {};
json.error = "no address found for host";
json.failed = true;
json.input = "thisisinvalid.com";
json.timestamp = "2021-08-09T22:29:28.254645+05:30";
json.url = "http://thisisinvalid.com"; However, it appears that the |
ah ok ! indeed without |
I just found another case where echo http://192.168.0.1 | httpx -silent -no-fallback-scheme -probe -json | gron json = {};
json.error = "context deadline exceeded (Client.Timeout exceeded while awaiting headers)";
json.failed = true;
json.input = "192.168.0.1:80";
json.timestamp = "2021-08-10T16:42:45.915270519Z";
json.url = "http://192.168.0.1:80"; |
proposal:
add a
original-input
key-value pair to json output:being able to know which input returned a result makes use of httpx way more reliable for automation.
another useful feature for automation would be ability to return json even if no website was found, for example:
echo thisisinvalid.notatld | httpx -json
echo hackerone.com | httpx -json | jq . "timestamp": "2021-07-12T18:19:54.158334+05:30", "scheme": "https", + "host": "hackerone.com", "port": "443", "path": "/",
echo notavalidhackerone.com | httpx -json -status | jq . "timestamp": "2021-07-12T18:19:54.158334+05:30", "scheme": "https", "host": "notavalidhackerone.com", "port": "443", "path": "/", + "status": "failed"
The text was updated successfully, but these errors were encountered: