Create a Post
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

ccc - Common Check Point Commands

Champion
Champion

🏆 Code Hub Contribution of the Year 2018!
👍 Endorsed by Check Point Support!
📕 Max Power 2020 advice!

ccc is a menu-driven Bash script to run common Gaia CLI tasks and show advanced system summary information.

Installation

curl_cli $(if [[ `grep proxy:ip /config/active` ]]; then echo -n '--proxy '; grep proxy:ip /config/active|cut -f2 -d' '|tr -d '\n'; echo -n :; grep proxy:port /config/active|cut -f2 -d' '; fi) -k https://dannyjung.de/ccc | zcat > /usr/bin/ccc && chmod +x /usr/bin/ccc

221 Replies
Highlighted

Admin
Admin

You sir are awesome!!

Highlighted

Participant

+1

Thank you!

Highlighted

Contributor

Great job!

Here is a little bit improved code (added hierarchy and some interactivity).

Dropbox - ccc 

Regards,

--

Marko

Reply
0 Kudos
Highlighted

Admin
Admin

Thx, can u post in code-hub 

Reply
0 Kudos
Highlighted

Champion
Champion

I moved this thread to the Code Hub and added @Marko_Keca‌'s Interactive Mode to this ccc script. I corrected/removed an issue with the 'view all commands' option, cleaned the interactive interface, added more commands and therefore raised the version level to 0.4. Thanks everyone for all the interest and support within this project!

Highlighted

Participant

Hello Danny,

Thanks for this great work,a short 10 minute tutorial video on this will be aslo add great taste to it.

Thanks and Regards.

Highlighted

Champion
Champion

I posted a video here.

Highlighted

Champion
Champion

That is really very helpfull! Just one line i have found that i do not understand:
9) fwm stat

This gives:


Usage:
fwm ver [-f] ...                                 # Display version
fwm load [opts] [filter-file|rule-base] targets  # Install Policy on targets
fwm unload [opts] targets                        # Uninstall targets
fwm dbload [targets]                             # Download the database
fwm logexport [-h] ...                           # Export log to ascii file
fwm gen [-RouterType [-import]] rule-base        # Generate an inspection
                                                 # script or a router access-list
fwm dbexport [-h] ...                            # Export the database
fwm ikecrypt <key> <password>                    # Crypt a secret with a key
                                                 # (for the dbexport command)
fwm dbimport [-h] ...                            # Import to database
fwm kill [-sig_no] procname                      # Kill firewall process
fwm getpcap ...                                  # Fetch packet capture from gateway

Looks like there is no fwm stat like there is fw stat... I have replaced the line with

fwm ver

😉

Highlighted

Champion
Champion

I now saw thet here, the installed_jumbo_take CLI command is used - this did work before, but see sk98028:

Highlighted

Participant

The script is great.

I added a little improvement for the command #23: fw fetch mgmt.

if you do not want the name of the management to be hardcoded for each gateway:

read in the name of the management with
MGMT=$(cat $FWDIR/conf/masters | awk 'NR>1 && NR<3 { print $0 }')

command#23:
fw fetch $MGMT

Best regards
Martin

Highlighted

Champion
Champion

Implemented in version 0.6

Highlighted

Champion
Champion

Implemented in version 0.6

Highlighted

I have a nice ClusterXL debug command:

clish -c "show routed cluster-state detailed"

It shows the gateway change time.

Highlighted

Champion
Champion

Another useful command in this list would be 

fw ctl arp

which will show all proxy arp's and active local.arp entries.

Regards, Maarten

Reply
0 Kudos
Highlighted

Champion
Champion

This command is already implemented.

Highlighted

Champion
Champion

Implemented in version 0.8

Highlighted

Contributor

Hi, 

Great idea but place add it as fw ctl arp -n

to avoid dns-lookups.

Cheers

Mikael

Reply
0 Kudos
Highlighted

Advisor

Thanks Danny - nice script.

Improvement suggestion:

When the selected command shows lots of output you have to scroll up for checking the possibilities of your actual branch of the menu tree.

Prompting the menu again directly after the output will need you scrolling up for your requested output.

What about offering a short menu after a output - just one row?

Something like: ? Show actual Menu | 0: Main menu | q: EXIT

Cheers

Sven

Highlighted

I have adjusted the commands, so that only the physical interface is visible and not the Bond's anymore.

 ifconfig -a | grep encap | awk '{print $1}' | grep -v lo | grep -v bond | grep -v ":" | grep -v ^lo | xargs -I % sh -c 'ethtool %; ethtool -i %' | grep '^driver\|Speed\|Duplex\|Setting' | sed "s/^/ /g" | tr -d "\t" | tr -d "\n" | sed "s/Settings for/\nSettings for/g" | awk '{print $5 " "$7 "\t " $9 "\t" $3}' | grep -v "Unknown"

Regards

Heiko

Highlighted

Champion
Champion

Implemented in version 0.9

Highlighted

Champion
Champion

Implemented in version 0.9

Highlighted

Champion
Champion

Did you read our comments in this thread? We are not relying on ifconfig for the reason that it doesn't show any disabled interfaces.

Highlighted

Advisor

Hi Danny,

thanks for adding parts of my improvements.

To be shure that you exactly know what I mean I added my idea to your code.

Just replace the relevant parts and you will see what I wanted to say.

# Variables
j=0;
i=0;
MGMT=$(cat $FWDIR/conf/masters | awk 'NR>1 && NR<3 { print $0 }');
INST=$(if hash installed_jumbo_take 2>/dev/null; then echo installed_jumbo_take; fi);

q)
exit 0
;;
esac
echo
case $i in
''|*[!1-9]*) echo "0: MAIN MENU"; echo "q: QUIT";j=$i;;
*) echo "------------------------------------------------"; echo "?: Show actual menu | 0: MAIN MENU | q: QUIT";;
esac
echo

echo -en "Enter a command : "
read i
if [ $i == ? ]; then
i=$j
fi
echo
done
exit 0

I am not a programmer, but it's working 

Cheers

Sven

Reply
0 Kudos
Highlighted

Advisor

A GIT implementation into GAIA would be very helpful! 

Reply
0 Kudos
Highlighted

Advisor

For some commands like

19) netstat -atun

 I think it would be better to add a "| more"

So the output can be read page by page.

Highlighted

Advisor

Some of the ccc I often use with "watch" to see what's goining on.

I played around with your code and implemented a function which enables you to add "watch" to some commands.

In my latest version it's only working with simple commands and need to be improved for more complex ones.

Is it worth sharing or isn't part or the scope?

Reply
0 Kudos
Highlighted

Champion
Champion

Implemented in version 1.0

Highlighted

Champion
Champion

Implemented in version 1.0

Highlighted

Champion
Champion

We always love to learn and improve. Just share your ideas and examples with us.