Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
sratool(1)		     General Commands Manual		      sratool(1)

NAME
     sratool -- SIE Remote Access (SRA) tool

SYNOPSIS
     [-dhINV] [-c cfile] [-n config] [-E ciphers] [-F fields] [commands]

DESCRIPTION
     sratool connects and sends Advanced Exchange Access (AXA) protocol messages
     to SIE Remote Access (SRA) servers and displays the responses.  It can also
     tunnel SIE data like sratunnel(1).

     sratool is a programming example for the Advanced Exchange Access (AXA) ap-
     plications programming interface to SRA servers, the AXA protocol.  It also
     demonstrates the use of the AXA helper library, libaxa.a.

     Start  using  sratool with the connect command described below.  Use one or
     more watch commands to specify interesting patterns of SIE messages  or  IP
     packets.	Limit the number of packets or messages transmitted from the SRA
     server or displayed with the rate limit and count commands.  Turn on one or
     more channels of messages or packets with the channel command.

     Unless more output is enabled with the verbose command,  most  messages  or
     packets  are  displayed  in two lines.  The first line includes the channel
     number on which it was received, the SIE message vendor of the message, the
     name of the field that caused the message to be selected, and the	contents
     of the field.  The second line is a summary of the message or packet.

     When more verbose output is enabled or when sratool does not understand the
     message,  IP  packets  are printed in ASCII and SIE messages are printed in
     the standard nmsg presentation format also seen from nmsgtool(1).

   OPTIONS
     The following arguments are available:

     -c cfile
	  reads commands from cfile as if the first command string on  the  com-
	  mand line were "source cfile".

     -d   turns  on  tracing  and debugging reports.  Additional -d turn on more
	  messages.

     -E ciphers
	  specifies the TLS encryption ciphers to use with apikey connections.

     -I   enables insecure mode for apikey authentication. When enabled,  client
	  connections will not be performed via TLS.

     -n config
	  overrides  the  default  location of the config file that contains AXA
	  client  configuration  data.	Details  are  below.   The  default   is
	  ~/.axa/config.

     -F fields
	  overrides  the  default location of the fields file that defines rela-
	  tionships among and semantics among SIE message fields.   The  default
	  is $AXACONF/fields, ~/.axa/fields, or /usr/local/etc/axa/fields.

     -h   display options summary.

     -N   instructs sratool to not display a command line prompt.

     -V   displays  the  version of sratool and its preferred version of the AXA
	  protocol.

     commands
	  are optional commands strings that are executed before sratool  starts
	  accepting commands from the use.  There can be more than one string of
	  commands.   Multiple	commands  within a string are separated by semi-
	  colons.

   COMMANDS
     sratool executes commands read from the standard input.  Command history is
     available if the standard input is a terminal.  Multiple  commands  can  be
     specified	at  once by separating them with semicolons.  The following com-
     mands are available:

     accounting
	  Tell the server to report counts of packets seen,  missed,  sent,  and
	  lost.

     alias
	  List the available connection aliases (culled from the axa client con-
	  fig file).

     buffer
	  Toggle  NMSG	output	buffering.  By	default,  this is enabled, which
	  buffers network writes until the container is full. If disabled,  NMSG
	  payloads are emitted as quickly as possible.

     ciphers [cipher-list]
	  set  the  list of ciphers for the next TLS connection or show the cur-
	  rent contents of the list.

     connect  [alias  |  apikey:<apikey>@host,port  |	tcp:[user@]host,port   |
	  unix:[user@]/ud/socket]
	  By  itself connect shows the current connection.  Otherwise connect to
	  the specified SRA server.

	  alias: use a connection alias specified in the AXA  config  file  (see
	  FILES).

	  apikey:  identify  and  authenticate	the user via a Farsight Security
	  provided apikey.

	  tcp: identify the user for clear text  communication	via  the  TCP/IP
	  host,port pair.

	  unix:  identify  the	user  for communication over a local UNIX domain
	  socket.

     count [N | off]
	  sets terminal output to stop displaying  packets  after  a  number  of
	  packets (including immediately with a number of 0), show the currently
	  remaining count, or turn off the packet count limit.

     debug [on | off | quiet | N]
	  increases,  decreases or shows the level of debugging and tracing mes-
	  sages that is also controlled by -d.	Debug quiet turns off reports of
	  successful AXA commands.

     disconnect
	  disconnects from the SRA server.

     error mode [disconnect | off]
	  disconnects from the SRA server and exits when the server  reports  an
	  error  or  the connection breaks.  In the default mode error mode off,
	  errors are only reported.

     exit
	  Ends the program.

     go   Tell the SRA server to resume sending data.  sratool.

     help [command]
	  lists all commands or describes a single command.

     mode [SRA | RAD]
	  Show the current command mode or expect to connect to an  SRA  or  RAD
	  server.  The default command mode is set by the name of the program.

     nop  sends  a  command to the server that does nothing but test the connec-
	  tion.

     forward
	  Start, stop or show the state of forwarding packets received from  the
	  server.   Received  NMSG  messages  and IP packets can be forwarded as
	  NMSG messages to a TCP or UDP port.  Received IP packets can	be  for-
	  warded  as  a pcap stream to a file, to a FIFO created with separately
	  with mkfifo(1), or in Ethernet frames on a named network interface  to
	  a 48-bit address.

	  nmsg:[tcp:|udp:]host,port [count]
		sends  nmsg  messages  to  the UDP or optional TCP host name and
		port number host,port.	UDP is the default.  IP packets are con-
		verted to NMSG messages.

	  nmsg:file:path [count]
		sends binary nmsg messages to the file named path.   IP  packets
		are converted to nmsg messages.

	  nmsg:file_json:path [count]
		sends  nmsg newline-delimited json blobs to the file named path.
		Note that newline-delimited json outputs can incur a slight per-
		formance penalty versus binary nmsg outputs for  "high-velocity"
		outputs.  This is because the underlying nmsg json output object
		is unbuffered and results a filesystem write for every forwarded
		nmsg.

	  pcap[-fifo]:path [count]
		sends IP packets to a file or FIFO named  path	for  examination
		with  tcpdump(1)  or  another  packet tracing tool.  An ordinary
		file is the default.  Only IP packets but not nmsg messages  are
		sent.

	  pcap-if:[dst/]ifname [count]
		transmits  IP  packets on the network interface named ifname for
		examination with tcpdump(1) or another packet tracing tool.  dst
		optionally specifies a destination 48-bit Ethernet address other
		than all 0:0:0:0:0:0 default.  This output usually requires that
		sratool be run by root.  Only IP packets but not  nmsg	messages
		are sent.

	  If count is present, forwarding stops after that many packets.

     pause
	  Tell the SRA server to stop sending data.

     rate limit [[-|MAX|per-sec] [-|NEVER|report-secs]]
	  Tell	the SRA server to report its per-second packet rate limit or set
	  the rate limit and the minimum interval between  rate  limit	reports.
	  Hits in excess of the rate limit are discarded by the server.

     radd
	  Change to RAD mode.

     sample [X%]
	  Get  and  optionally	set  the percentage of hits that the SRA servers
	  sends.

     sleep x.y
	  Do nothing for x.y seconds.

     source filename
	  reads and executes commands from a file.

     srad
	  Change to SRA mode.

     status
	  Show information about the current  connection  state  including  time
	  connected.

     trace N
	  Set the server trace level to N.

     user name
	  sends a username to the server.

     verbose [on | off | N]
	  controls  the  length  of SIE message and IP packet descriptions.  The
	  default, verbose off, generally displays one line summaries.

     version
	  displays the version of sratool and its version of the AXA protocol.

     window [bufsize]
	  Get and optionally set the TCP output buffer size or maximum send win-
	  dow used by the server.

     zlib
	  Toggle NMSG zlib container compression.

     channel {list | {on|off} {all|chN}}
	  List available SRA channels or enable or disable one or all SIE  chan-
	  nels.

     [tag] delete [watches [all]]
	  With a tag (numeric label), stop or delete the specified watch.  With-
	  out a tag (or with the keyword "all"), delete all watches.

     get channels
	  List all SIE channels available to the user on the SRA server.

     [tag] get watches
	  With a tag (numeric label), get (list) the specified watch.  Without a
	  tag (or with the keyword "all"), list all watches.

     tag watch {ip=IP[/n] | dns=[*.]dom | ch=chN | errors}
	  Tell	the  SRA server to send NMSG messages or IP packets that are to,
	  from, or contain the specified IP addresses, that contain  the  speci-
	  fied	domain	name,  that  arrived  at the server on the specified SIE
	  channel, or are SIE messages or IP packets that could not be	decoded.
	  Tag is a number labeling the watch.

	  ip=IP[/n]    The  IPv4 or IPv6 address IP specifies a host address un-
		       less a prefix length is specified.

	  dns=[*.]dom  watches for the domain anywhere in the IP packets or  SIE
		       messages  on  the  enabled channels.  A wild card watches
		       for occurrences of the domain and all sub-domains.

	  ch=all
	  ch=chN       selects SIE messages or IP packets on the specified chan-
		       nel number or all channels.

	  errors       selects SIE messages or IP packets that could not be  de-
		       coded.  Errors can also include nmsg processing/field de-
		       coding  errors,	malformed or excessively long DNS names,
		       errors encountered at the datalink level, and  unexpected
		       address family types.

     [tag] list watches
	  Synonym for the get watches command.

     [tag] stop [watch [all]]
	  Synonym for the delete command.

EXAMPLES
     The  following  captures  and  displays  one  SIE	newdomain  message.  The
     "dns=*." watch or pattern was matched by the "nflxso.net" domain in DNS  NS
     rdata.

	 $ sratool
	 sra> connect apikey:<yourapikey>@axa-sie.domaintools.com,49500
	 * HELLO srad v3.0.1 prod-sie-axa-1 supporting AXA protocols v1 to v2; currently using v1
	 * Using AXA protocol 2
	 * OK USER mschiffm authorized
	 sra> count 1
	 sra> channel 213 on
	 * OK CHANNEL ON/OFF channel ch213 on
	 sra> 1 watch dns=*.
	 1 OK WATCH started
	 1 ch213  SIE newdomain
	  ad6uq65jvhekifbbgu36u.r.nflxso.net/CNAME: nflxso.net

	 packet count limit exceeded
	 sra> exit

FILES
     ~/.axa/config
	     contains  AXA  client  configuration  data. Currently supported are
	     connection aliases that provide the user with a facility to  create
	     shortcut mnemonics to specify the SRA server connection string. For
	     example:

		 $ cat ~/.axa/config
		 # SRA
		 alias:sra-apikey=apikey:<elided>@axa-sie.domaintools.com,49500

	     If the user wanted to connect to SRA, she would only have to remem-
	     ber "sra-apikey" and could do:

		 $ sratool
		 sra> connect sra-apikey

	     This  config  file  is  shared for sratool, radtool, sratunnel, and
	     radtunnel. Because this file can contain sensitive information such
	     as apikeys, it must not be readable or writeable to  anybody  other
	     than "owner" or sratool will not load.

     ~/.sratool_history
	     contains  the  command history from previous sratool and/or radtool
	     invocations

ENVIRONMENT VARIABLES
     If set, AXACONF specifies the AXA configuration directory	instead  of  the
     default, ~/.axa or /usr/local/etc/axa.

SEE ALSO
     sratool(1), sratunnel(1), radtunnel(1), mkfifo(1), and nmsgtool(1).

				 August 27, 2026		      sratool(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sratool&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help