RADPERF

Section: Network RADIUS (1)
Updated: 1 June 2009
Index Return to Main Contents
 

NAME

radperf - RADIUS client for performance testing  

SYNOPSIS

radperf [options] server {acct|auth|status|disconnect|auto} secret  

DESCRIPTION

radperf is a radius client program similar to the FreeRADIUS "radclient" program. It sends packets to a RADIUS server, and then waits for the reply. It can do performance testing of a RADIUS server, and can synthesize accounting packets from Access-Request packet.  

OPTIONS

-a type
Send Access-Requests using type authentication method: pap, chap, or none. The default is "pap", which sends a User-Password. The method "chap" sends a CHAP-Password. The method "none" makes radperf not send any Access-Request packets, but instead proceed directly to sending Accounting-Request packets. The method "none" MUST be used with the command-line option -A.

It is often useful to perform the same test with both PAP and CHAP authentication methods. This option lets you create a file that contains User-Password, and then use "-a chap" to make radperf send packets containing CHAP-Passsword.

The default is to use whatever is in the input file.

-A delay,lifetime
After receiving an Access-Accept, start sending Accounting-Request packets. The interval between Accounting-Request packets is delay seconds. The Accounting-Request packets are sent for a total of lifetime seconds.

If the Access-Accept contains a Session-Timeout that is smaller than lifetime, then that value is used for the lifetime of the session.

Attributes such as NAS-IP-Address, NAS-Port, etc. are copied from the Access-Request to the Accounting-Request.

Attributes such as Class are copied from the Access-Accept to the Accounting-Request.

If there is no NAS-Port attribute in the Access-Request, then one is created, with a unique value.

-c count
Send each input packet count times.
-C attr[,attr]
Copy these attributes from an Access-Accept to the Accounting-Request.
-d freeradius_dictionary_path
The directory that contains the RADIUS dictionary files. This defaults to 'share/', in the same directory where the radperf binary is located.

The environment variable FREERADIUS_DICTIONARY_PATH may also be set, in which case it is used in preference to the default. However, specifying -d on the command line will over-ride the environment variable.

-D statistics_file
Write a CSV file of "num,time,delay", for each packet that was sent. The "num" field contains the packet number 0..N. The "time" field contains the time when the packet was sent, as an offset in seconds since the start of the program. The "delay" field contains the delay in seconds between sending the requests, and then the response was received.
-f file
If specified, attributes are read from file, and not from standard input.

The default is for the file to contain attribute names and values. Blank lines in the input separate individual packets. e.g.


        User-Name = "bob"

User-Password = "hello"

If the filename ends with ".csv", then it is treated as a CSV file containing two fields: name,password. e.g.


        bob,hello

The fields can be quoted with double quotes. Use a simple repeated double quote to send one double quote character. Use double quotes around the string if the string contains a comma.

If the -f option is specified multiple times, then all of the given files are read, in order.

-n num_requests_per_second
Send num_requests_per_second, evenly spaced in time. The default value is 0, which means "send requests as quickly as possible".

This option should be used to test offered load versus accepted load. As larger values are used for this option, the server will (at some point) be unable to accept the load. It will then likely start dropping packets.

-p num_requests_in_parallel
Send num_requests_in_parallel, all at once. As soon as a reply is received, radperf will immediately send another request. The default value is 1, which means "wait for a reply before sending another request".

This option should be used to test for the maximum load that is accepted by a server. Larger values for this option will not affect the maximum load that is affected by the server. Instead, it will increase the delay time between request and response.

-q
Be "quiet", and only print out errors.
-r num_retries
Try to send each packet num_retries times, before giving up on it. The default value is 5.
-s
Print out statistics about packets sent and received. This includes the total run time, the number of packets per second, and a summary of the intervals between requests and responses.
-S shared_secret_file.
Read the shared secret from the shared_secret_file. This is more secure that reading it from the command line, as other users on the system can often see command-line arguments.
-t timeout
Wait timeout seconds before retransmitting a request. The default value is 5.
-T template_file
The attributes in template_file are added to every packet that is sent.

This option can be used to add NAS identification attributes such as NAS-IP-Address, etc., which will make the packets appear to originate from that NAS.

-u number
Generate requests for number users.
-v
Show version information.
-x
Print extra debugging information. Using this option multiple times will cause the program to have progressively larger amounts of output.
-4
When looking up the server hostname, use the first IPv4 address that is found. This is the default.
-6
When looking up the server hostname, use the first IPv6 address that is found.
server[:port]
Specify the hostname or IP address of the RADIUS server. The destination UDP port can also be specified. If no UDP port is specified, the "radius" or "radius-acct" value is looked up in /etc/services. Otherwise, ports 1812 and 1813 are used.
acct | auth | status | coa | disconnect | auto
Use auth to send an Access-Request, acct to send an Accounting-Request, status to send a Status-Server, coa to send a CoA-Request, or disconnect to send a Disconnect-Request packet. A decimal code 1..255 is also accepted here.
secret
The shared secret that is used to sign and/or encrypt the packet contents.
 

SEE ALSO

radiusd(8), radclient(1)  

AUTHORS

Network RADIUS SARL <sales@networkradius.com> Copyright (C) 2020 Network RADIUS SARL All Rights Reserved


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
AUTHORS

This document was created by man2html, using the manual pages.
Time: 14:36:42 GMT, March 24, 2020