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

FreeBSD Manual Pages

  
 
  

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 mes-
       sages  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)
       applications 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  com-
       mands.	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
	    command 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 connec-
	    tions.

       -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 re-
	    lationships	among and semantics among SIE message fields.  The de-
	    fault	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 semicolons.

   COMMANDS
       sratool executes	commands read from the standard	input.	 Command  his-
       tory  is	 available if the standard input is a terminal.	 Multiple com-
       mands can be specified at once by separating them with semicolons.  The
       following commands 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
	    config 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
	    current 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  cur-
	    rently remaining count, or turn off	the packet count limit.

       debug [on | off | quiet | N]
	    increases,	decreases  or shows the	level of debugging and tracing
	    messages that is also controlled by	-d.  Debug quiet turns off re-
	    ports 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 con-
	    nection.

       forward
	    Start, stop	or show	the state of forwarding	packets	received  from
	    the	 server.   Received  NMSG  messages and	IP packets can be for-
	    warded as NMSG messages to a TCP or	UDP port.  Received IP packets
	    can	be forwarded 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
		  converted to NMSG messages.

	    nmsg:file:path [count]
		  sends	binary nmsg messages to	the file named path.  IP pack-
		  ets 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  performance  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 examina-
		  tion with tcpdump(1) or another packet tracing tool.	An or-
		  dinary 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	Ether-
		  net address other than all 0:0:0:0:0:0 default.  This	output
		  usually requires that	sratool	be run by root.	 Only IP pack-
		  ets 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 re-
	    ports.   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	proto-
	    col.

       window [bufsize]
	    Get	and optionally set the TCP output buffer size or maximum  send
	    window 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
	    channels.

       [tag] delete [watches [all]]
	    With a tag (numeric	label),	stop or	delete	the  specified	watch.
	    Without 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.	 With-
	    out	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
	    specified 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
			 unless	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-do-
			 mains.

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

	    errors	 selects SIE messages or IP packets that could not  be
			 decoded.   Errors  can	 also  include	nmsg  process-
			 ing/field decoding 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
	       remember	"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 any-
	       body 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).

				April 12, 2025			    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+14.3.quarterly>

home | help