- Products
- Learn
- Local User Groups
- Partners
-
More
Celebrate the New Year
With CheckMates!
Value of Security
Vendor Self-Awareness
Join Us for CPX 360
23-24 February 2021
Important certificate update to CloudGuard Controller, CME,
and Azure HA Security Gateways
How to Remediate Endpoint & VPN
Issues (in versions E81.10 or earlier)
Mobile Security
Buyer's Guide Out Now
Important! R80 and R80.10
End Of Support around the corner (May 2021)
Hello CheckMates!
Could you provide me a hint on how to use args parameter in API (v1.1) call run-script to pass arguments to an OS command or script ? Using args with mgmt._cli, postman, SCconsole returns a failed task.
e. g. :
mgmt._cli -r true -f json run-script script-name "ping" script "ping" args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
returns:
"mgmt._server_itself - ping" failed (100%)
{
<omitted for brevity>
"task-id" : "e1f9a669-2cf8-4248-bee7-437902810e9b",
"task-name" : "mgmt._server_itself - ping",
"status" : "failed",
<omitted>
"statusCode" : "failed",
"statusDescription" : "Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline], [-p pattern] [-s packetsize] [-t ttl] [-I interface or address
as if arguments in args string value are not passed to bash. Various arguments and escape sequences tried, same result.
Passing all arguments in script value works:
mgmt._cli -r true -f json run-script script-name "ping" script "ping -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
returns:
"mgmt._server_itself - ping" succeeded (100%)
{
<omitted>
"task-id" : "0751191e-9fed-4bcf-851f-b97645dcea4c",
"task-name" : "mgmt_server_itself - ping",
"status" : "succeeded",
<omitted>
"statusCode" : "succeeded",
"statusDescription" : "PING 172.17.xxx.2 (172.17.xxx.2) 56(84) bytes of data. 64 bytes from 172.17.xx.2: icmp_seq=1 ttl=128 time=0.110 ms, --- 172.17.xxx.2
ping statistics ---, 1 packets transmitted, 1...",
Screened api.elg, cpm.elg, fwm.elg for clues - didn't understand how script string and args string are passed to bash.
Environment: R80.10, JHF T112
Thank you for your time,
andreip
Hi
please try to run this and update me if this works for you.
mgmt._cli -r true -f json run-script script-name "ping" script 'ping $1 $2' args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
If I'm not mistaken there was an issue with args not being executed.
Robert Decker can you comment? I think this is API-101.
Right, this is a bug (not in API), and it will be fixed.
Workaround - instead of specifying the args parameter, use script body.
Hi
can you provide me with the bug details.
Hi
please try to run this and update me if this works for you.
mgmt._cli -r true -f json run-script script-name "ping" script 'ping $1 $2' args " -c1 172.17.xxx.2" targets.1 "mgmt._server_itself"
Does anyone have an example of more than one target being used in a single command? Looking to see how you build that list of targets.
Thanks!
About CheckMates
Learn Check Point
Advanced Learning
WELCOME TO THE FUTURE OF CYBER SECURITY