08-28-2024 09:34 PM
Hi.
I saw a API for unleashed on https://github.com/commscope-ruckus/RUCKUS-Unleashed
But I need a bash script using curl.
when I tried this via postman , it worked good.
But I tried this via curl in centos, it didn't work like below at wlan stats.
1) Login :
curl -G 'https://192.168.40.241/admin/login.jsp?username=admin&action=login.jsp&password=ruckus1234&ok=ruckus' --insecure -I -s | grep CSRF_TOKEN | awk '{print $2}'
vxCkT3sqRh
-> It is worked.
2) Get wlan stats
curl -i -k -X POST \
-H "X-CSRF-Token:vxCkT3sqRh" \
-H "Content-Type:text/xml" \
-d \
'<ajax-request action=\''getstat\'' comp=\''stamgr\'' enable-gzip="0" caller="SCI">
<vap INTERVAL-STATS="yes" INTERVAL-START="1604710474" INTERVAL-STOP="1605315274" LEVEL=\''1\''/>
</ajax-request>' \
'https://192.168.40.241/admin/_cmdstat.jsp'
-> It didn't work like below.
<html><head><title>Moved Temporarily</title></head>
<body><h1>Moved Temporarily</h1>
<p>The document has moved <a href="https://192.168.40.241/admin/login.jsp">here</a>.</p>
<address> at https:443 Port 443</address></body>
</html>
How do I apply at curl?
Solved! Go to Solution.
08-29-2024 02:11 AM
Well unfortunately the output is xml, so you'll need some basic bash scripting to extract out the info you want.
Here is a bash script which calls the wlan stats:-
ZD='192.168.40.241'
ZD_USERNAME='admin'
ZD_PASSWORD='ruckus1234'
# create a cookie jar
ZD_COOKIE=$(mktemp)
# sniff login url
ZD_LOGIN_URL="$(curl https://$ZD -k -s -L -I -o /dev/null -w '%{url_effective}')"
# login and collect token and session cookie
ZD_XSS="$(curl $ZD_LOGIN_URL -k -s -c $ZD_COOKIE -d username=$ZD_USERNAME -d password=$ZD_PASSWORD -d ok=Log\ In -i | awk '/^HTTP_X_CSRF_TOKEN:/ { print $2 }' | tr -d '\040\011\012\015')"
ZD_CONF="$(dirname $ZD_LOGIN_URL)/_cmdstat.jsp"
# calculate the interval start and end time
INTERVAL_STOP=$(date +%s)
INTERVAL_START=$(date -d '24 hours ago' +%s)
# get wlan stats for the calculated interval
curl $ZD_CONF -H "X-CSRF-Token: $ZD_XSS" -k -s -b $ZD_COOKIE -c $ZD_COOKIE --data-raw "<ajax-request action=\"getstat\" comp=\"stamgr\" enable-gzip=\"0\" caller=\"SCI\"><vap INTERVAL-STATS=\"yes\" INTERVAL-START=\"$INTERVAL_START\" INTERVAL-STOP=\"$INTERVAL_STOP\" LEVEL=\"1\"/></ajax-request>"
# remove cookie jar
rm $ZD_COOKIE
08-29-2024 02:48 AM
Oh great.
I'll be trying this.
Regard.
08-29-2024 05:23 PM
Wow. It's worked perfectly.
Thanks Bro.
09-05-2024 09:13 PM - edited 09-05-2024 09:14 PM
;