RADCLIENTRADCLIENT
radclient – 发送包到一个RADIUS服务器,显示回应
概要
radclient [-draddb_directory] [-c count] [-f file] [-iid] [-n num_requests_per_second] [-p num_requests_in_parallel][-r num_retries] [-s] [-S shared_secret_file][-t timeout] [-qvx] server{acct|auth|status|disconnect|auto} secret
描述
Radclient是一个RADIUS客户端程序。它可以发送随意的radius包到一个radius服务器,接着显示reply。它也用于去测试你在radius服务器的配置文件上做的变更,或者它也可用于去监视radius服务器是否up。
Radclient从标准的输入或者命令行指定的文件中读取radius的属性/值对。它使用字典编码这些属性/值对,发送他们到远程的服务器上。
User-Password和CHAP-Password属性自动加密(数据包发送到服务器之前)
选项
-c count
发送每一个包的计数
-d raddb_directory
包含RADIUS字典文件的目录,默认为/etc/raddb
-f file
从哪个文件读取attribute/value。如果这不指定,他们从stdin读取。这个选项可以指定多次,按照文件指定的顺序或者文件内部顺序读取。在一个文件中的逻辑包由空行来区分。
-i id
使用id作为RADIUS请求ID
-n num_requests_per_second
尝试发送num_requests_per_second,均匀分割。这个选项允许你去降低radclient发送请求的频率。当不使用-n时,默认是尽可能快的发送包,没有间隔。这样会玩死服务器的吧。
-p num_requests_in_parallel
发送num_requests_in_parallel,不等待响应。默认radclient发送它读到的第一个请求之后,等待回应,一旦响应接收到后,发送列表中的第二个请求。这个选项允许你并发的发送多个请求。一旦num_requests_in_parallel被发送,radclient等待先前发送的所有包的回应的到来。
这个选项允许你去发现radius可接受的最大的负载
-q
进入静默模式,不打印任何东西。
-r num_retries
尝试发送每一个包num_retries次数,默认是10
-s
打印发送和接收到包的总数。
-S shared_secret_file
共享加密文件
-t timeout
判断NAS回应一个请求,重发数据包之前等待的秒数。默认为3s
-v
打印版本信息
-x
打印调试信息
server[:port]
远端服务器的主机名和ip地址。可选择一个udp端口。如果udp端口在这里不指定,你可以看/etc/services中的udp端口。服务名查看radacct(记账包),radius(其他的请求)。如果一个服务没有在/etc/services中发现,一般使用1813,1812
Radclient读取的RADIUS属性可以 包含特别的属性 Packet-Dst-IP-Address.如果这个属性存在,接着包发送到该ip地址,命令行指定的服务器将被忽略。
如果RADIUS属性列表中总是包含 Packet-Dst-IP-Address,则server参数将作为-。 Radclient读取的radius属性中也可以包含特别的属性Packet-Dst-Port。如果这个属性存在,则包将发送到这个udp端口而命令行中指定的:port将被忽略。
acct | auth | status | disconnect | auto
使用auth去发送一个认证包(Access-Request), acct发送一个记账包 (Accounting-Request),status发送一个状态包 (Status-Server), or disconnect发送一个disconnection request. 你可以使用一个数字代码来替代这些值。例如代码12也是Status-Server.
Radclient可以获取的特定的属性Packet-Type.如果这个属性存在,则包的类型被发送时,则命令行的type将被忽略。
如果radius列表总是包含Packet-Type属性,则type参数可以设定为auto。
secret
客户端所用的共享密钥。它也需要在radius服务器端定义。
例如
一个简单的会话查询远程服务器(状态服务器)(不是所有的服务器支持,但FreeRADIUS可以配置支持它)
$ echo “Message-Authenticator = 0x00” |radclient 192682 status s3cr3t
Sending request to server 192682, port 1812.
radrecv: Packet from host 192682 code=2, id=140,length=54
Reply-Message ="FreeRADIUS up 21 days, 02:05"