diff --git a/poc/examples/nmap-callback.pow b/poc/examples/nmap-callback.pow new file mode 100644 index 0000000..d526ec3 --- /dev/null +++ b/poc/examples/nmap-callback.pow @@ -0,0 +1,21 @@ +# +# Nmap execution with callback. When processes finishes call the CALLBACK site and +# send a POST with the XML results +# +# Call example: +# +# > curl -v "http://localhost:9001/nmap-callback?callback=127.0.0.1:9999" -d "ip=127.0.0.1&ports=8000,9000" +# + +kapow route add -X POST /nmap-callback - <<-'EOF' + { + RESULT_FILE="/tmp/${RANDOM}${RANDOM}${RANDOM}" + nmap -Pn -n -p $(kapow get /request/form/ports) -oX $RESULT_FILE $(kapow get /request/form/ip) + + curl --connect-timeout 5 -X POST -F "data=@$RESULT_FILE" $(kapow get /request/params/callback) 2> /dev/null > /dev/null + + rm -f $RESULT_FILE + + } | kapow set /response/stream + +EOF diff --git a/poc/examples/nmap-streaming.pow b/poc/examples/nmap-streaming.pow new file mode 100644 index 0000000..e2c904a --- /dev/null +++ b/poc/examples/nmap-streaming.pow @@ -0,0 +1,22 @@ +# +# Streams nmap execution. When processes finishes print the value ##########" +# as separator and then print the Nmap XML report +# +# Call example: +# +# > curl -v http://localhost:9001/nmap-stream -d "ip=127.0.0.1" +# + +kapow route add -X POST /nmap-stream - <<-'EOF' + { + RESULT_FILE="/tmp/${RANDOM}${RANDOM}${RANDOM}" + nmap -Pn -n -p 9000 -oX $RESULT_FILE $(kapow get /request/form/ip) + + echo "##########" + + cat $RESULT_FILE + rm -f $RESULT_FILE + + } | kapow set /response/stream + +EOF