Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:documentation:08_technical_reference:09_tentacle [2021/04/26 17:56] admscopia |
en:documentation:08_technical_reference:09_tentacle [2021/12/14 12:51] jimmy.olano [Satellite server] Boleto GitLab # 7803 ticket. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== Tentacle protocol specifications ====== |
+ | {{indexmenu_n> | ||
- | [[Pandora:Documentation_en|Go back to Pandora FMS documentation index]] | + | [[en:documentation: |
- | ====== About Tentacle ====== | + | ===== About Tentacle ===== |
- | Tentacle is a client/ | + | |
- | * Safe by design. | + | **Tentacle** is a client/ |
+ | |||
+ | * Safe by design. | ||
* Easy to use and integrate with other tools. | * Easy to use and integrate with other tools. | ||
* Versatile and cross-platform. | * Versatile and cross-platform. | ||
- | Tentacle was created to replace more complex tools like SCP and FTP for simple file transfer/ | + | **Tentacle** |
- | The client and server are designed to be run from the command line or called from a shellscript. Since [[https:// | + | The client and server are designed to be run from the command line or called from a shellscript. Since [[https:// |
- | Tentacle is implemented in Perl and ANSI C (Windows | + | Tentacle is implemented in [[wp>Perl]] and [[wp>ANSI C]] (MS Windows® |
You can download it and find more information at the [[http:// | You can download it and find more information at the [[http:// | ||
- | ====== Documentation ====== | ||
- | * [[Pandora: | ||
- | * [[Pandora: | ||
- | * [[Pandora: | ||
- | * [[Pandora: | ||
- | * [[Pandora: | ||
- | * [[Pandora: | ||
- | [[Category: Tentacle]] | + | ===== Documentation ===== |
+ | |||
+ | * [[:pandora: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | * Tentacle User Guide. | ||
+ | |||
+ | ===== Tentacle User Guide ===== | ||
+ | |||
+ | ==== Installing the PERL version ==== | ||
+ | |||
+ | The process consists on downloading the source code through [[https:// | ||
+ | |||
+ | To install **both** the client and the server version run: | ||
+ | < | ||
+ | |||
+ | $ svn co http:// | ||
+ | $ cd tentacle | ||
+ | $ perl Makefile.PL | ||
+ | $ make | ||
+ | # make install | ||
+ | |||
+ | </ | ||
+ | |||
+ | To install just the client, run: | ||
+ | |||
+ | < | ||
+ | $ svn co http:// | ||
+ | $ cd client | ||
+ | $ perl Makefile.PL | ||
+ | $ make | ||
+ | # make install | ||
+ | |||
+ | </ | ||
+ | |||
+ | To install just the server, run: | ||
+ | |||
+ | < | ||
+ | $ svn co http:// | ||
+ | $ cd server | ||
+ | $ perl Makefile.PL | ||
+ | $ make | ||
+ | # make install | ||
+ | |||
+ | </ | ||
+ | |||
+ | If you want to install to a custom location, replace: | ||
+ | |||
+ | < | ||
+ | $ perl Makefile.PL | ||
+ | |||
+ | </ | ||
+ | |||
+ | by: | ||
+ | |||
+ | < | ||
+ | $ perl Makefile.PL PREFIX=/ | ||
+ | |||
+ | </ | ||
+ | === Manual Installation === | ||
+ | |||
+ | If **make** is not available in your system, you can manually copy the files '' | ||
+ | |||
+ | In this case, if the Perl binary is not located at ''/ | ||
+ | < | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | ==== Installing the C version ==== | ||
+ | |||
+ | === Installing from SVN === | ||
+ | |||
+ | Bearing in mind the prior section, to install the Tentacle client, run: | ||
+ | |||
+ | < | ||
+ | $ svn co http:// | ||
+ | $ cd tentacle | ||
+ | $ ./ | ||
+ | $ make | ||
+ | # make install | ||
+ | |||
+ | </ | ||
+ | |||
+ | Make sure to check the configure output for errors, missing headers etc. | ||
+ | |||
+ | To disable OpenSSL support, enabled by default, replace: | ||
+ | |||
+ | < | ||
+ | $ ./ | ||
+ | |||
+ | </ | ||
+ | |||
+ | by: | ||
+ | |||
+ | < | ||
+ | $ ./configure –disable-ssl | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Tentacle use examples ==== | ||
+ | |||
+ | To see the available options, execute '' | ||
+ | < | ||
+ | $ tentacle_client -h | ||
+ | Usage: tentacle_client [options] [file] [file] ... | ||
+ | |||
+ | Tentacle client v0.4.0. | ||
+ | |||
+ | Options: | ||
+ | -a address | ||
+ | -b localaddress Local address to bind. | ||
+ | | ||
+ | -e cert | ||
+ | -f ca | ||
+ | | ||
+ | | ||
+ | -k key OpenSSL private key file. | ||
+ | -p port | ||
+ | | ||
+ | -r number | ||
+ | -t time | ||
+ | | ||
+ | | ||
+ | -x pwd Server password. | ||
+ | -y proxy Proxy server string (user: | ||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -h | ||
+ | Usage: tentacle_server -s <storage directory> | ||
+ | |||
+ | Tentacle server v0.5.0. | ||
+ | |||
+ | Options: | ||
+ | -a ip_addresses IP addresses to listen on (default 0, | ||
+ | | ||
+ | -c number | ||
+ | | ||
+ | -e cert | ||
+ | -f ca_cert | ||
+ | | ||
+ | | ||
+ | -k key OpenSSL private key file. | ||
+ | -m size | ||
+ | | ||
+ | -p port Port to listen on (default 41121). | ||
+ | | ||
+ | -r number | ||
+ | -S (install|uninstall|run) Manage the win32 service. | ||
+ | -t time | ||
+ | | ||
+ | | ||
+ | -x pwd Server password. | ||
+ | -b ip_address | ||
+ | -g port Proxy requests to the given port. | ||
+ | | ||
+ | (To use this option, ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | Predefined values for all options will also be shown in the help section. | ||
+ | |||
+ | For all of the following examples. the server is located at the address 192.168.1.1 and the client private key is not protected by pasword. | ||
+ | |||
+ | * Simple transfer of a file limited to a maximum of 1 megabyte and placed in ''/ | ||
+ | < | ||
+ | |||
+ | $ tentacle_server -m 1048576 -s /tmp -v | ||
+ | $ tentacle_client -a 192.168.1.1 -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | * Simple transfer on port 65000 with overwrite mode enabled: | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -o -p 65000 -s /tmp -v | ||
+ | $ tentacle_client -a 192.168.1.1 -p 65000 -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | * | ||
+ | |||
+ | Simple transfer with authentication based on password: | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -x password -s /tmp -v | ||
+ | $ tentacle_client -a 192.168.1.1 -x password -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | * | ||
+ | |||
+ | Safe transfer, with no client certificate: | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -e cert.pem -k key.pem -w -s /tmp -v | ||
+ | $ tentacle_client -a 192.168.1.1 -c -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | * | ||
+ | |||
+ | Safe transfer with client certificate: | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v | ||
+ | $ tentacle_client -a 192.168.1.1 -e cert.pem -k key.pem -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | * | ||
+ | |||
+ | Safe transfer with client certificate and additional authentication with password (notice the use of the connector '' | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -x password -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v | ||
+ | $ tentacle_client \ | ||
+ | -a 192.168.1.1 \ | ||
+ | -x password \ | ||
+ | -e cert.pem \ | ||
+ | -k key.pem \ | ||
+ | -v / | ||
+ | |||
+ | </ | ||
+ | |||
+ | The Tentacle server allows its configuration through a plain text file. All command line options are available through said file. If the same configuration option is specified both in the file and the command line, the value indicated in the latter will have preference. The full path to the configuration file is indicated with the option '' | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -F / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Tentacle Proxy ==== | ||
+ | |||
+ | The Tentacle server can act as a proxy, communicating many Tentacle clients to an inaccessible Tentacle server. | ||
+ | |||
+ | The following diagram shows how the Tentacle proxy server works: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The proxy does not have any information, | ||
+ | |||
+ | < | ||
+ | $ tentacle_server -b 192.168.200.200 -g 65000 | ||
+ | |||
+ | </ | ||
+ | |||
+ | These parameters are** IP address** ('' | ||
+ | < | ||
+ | $ tentacle_server -a 192.168.100.100 -p 45000 -b 192.168.200.200 -g 65000 | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%>The tentacle in proxy mode also supports authentication and encryption parameters.</ | ||
+ | |||
+ | |||
+ | ===== Installing PERL for Windows ===== | ||
+ | |||
+ | This brief guide is conceived to help configure and execute Tentacle client and server on MS Windows®. | ||
+ | |||
+ | === Satellite server === | ||
+ | |||
+ | [[: | ||
+ |