0.5 Alpha GPL v3    
3.0/5 5


COAST stands for COA Service Tester and is a Perl script to send Change of Authority requests to network devices.




COAST stands for COA Service Tester and is a Perl script to send Change of Authority requests to network devices (typically BRAS devices) and report some statistics. Change of Authorization is specified in RFC 5176 (Dynamic Authorization Extensions to RADIUS).

Here are some key features of "COAST":

· add support for a '.coastrc' file
· provide encrypted attr support
· add identifier verification
· add duplicate (or delayed) reply detection
· add support for retries
· debug NAS' returned error codes
· add support for sending the correct variable type for octets
· create a (built-in, autodetecting) cgi handler so we can be a web page
· add automatic MTU support (now a variable)
· handle packets > $mtu
· write a manpage
· provide support for per RND structure base and manipulation; like {rnd10+1000} also for {cnt+1000}, maybe just use 'eval' ( DANGER!!)
· create Makefile for the script to install-, remove- and update components

Usage: ./coast {< options >} -v {< vendor >}:< attr >{:< tag >}=< val >{;..}

-s < srcIp >{:prt}} - src. IP for requests (default: out int IP:3799)
-d < dstIp >{:prt}} - dest. IP of DUT, and port (default: 3799)
-e < secret >} - secret (default: 'redback')
-v {< vendor >:}{:< tag >}=< val >{;..} - attibutes, separated by ';'
-c send a disconnect request, default is a CoA request
-l < loops > - loop '' times
-a < int > - add this value to the loop counter when using {cnt}
-r < int > - base of the {rnd} value
-p < int > - add this value to the random created by -r when using {rnd}
-w < usec > - sleep 'n' usec after sending each request ('a' for adaptive)
-m < max outstanding > - limit the number of outstanding CoA requests
-t < timeout > - timeout in seconds for a sent request (default is 10)
-u < file/dir > - use this dictionary, can be file, or dir (not recursing)
-k print some more (time related) statistics
-q supress all output (even debug, if specified)
-x < 1-4 > - debug level

Some variables that are processed in ATTR and VSA's {now} epoch of the time the packet is sent (event-timestamp etc.) {cnt} an incremental counter (when specifying -l, manipulate with -a) {rnd} random number (2^32 based, or -r . manipulate with -p)

All attribute names are caps insensitive, and can be abbreviated. If multiple matched, the alpahabetically last one found is used. eg -v "red:qos=abc" will be processed as Redback:QoS-Policy-Policing=abc they have to be present in a dictionary.


· Perl
· libpcap
· Net::RawIP

What's New in This Release:

· The command-line option for disconnecting was changed from "-c" to "-i".
· A configuration file option was added ("-c") and the file defaults to $HOME/.coastrc.
· A configuration file example was added, listing and explaining all options in detail.
· The default dictionary was changed to "dictionaries" instead of "dict".
Last updated on August 4th, 2008

#COA Service Tester #Change of Authority #report statistics #COA #Service #Tester #networking


0 User reviews so far.