# entropy gathering commands

# Format is: "program-name args" path rate

# The "rate" represents the number of bits of usuable entropy per 
# byte of command output. Be conservative.
#
# $Id: ssh_prng_cmds.in,v 1.6 2001/02/09 01:55:36 djm Exp $

"ls -alni /var/log"			@PROG_LS@	0.02
"ls -alni /var/adm"			@PROG_LS@	0.02
"ls -alni /var/mail"			@PROG_LS@	0.02
"ls -alni /var/adm/syslog"		@PROG_LS@	0.02
"ls -alni /var/spool/mail"		@PROG_LS@	0.02
"ls -alni /proc"			@PROG_LS@	0.02
"ls -alni /tmp"				@PROG_LS@	0.02
"ls -alni /var/tmp"			@PROG_LS@	0.02
"ls -alni /usr/tmp"			@PROG_LS@	0.02
"ls -alTi /var/log"			@PROG_LS@	0.02
"ls -alTi /var/adm"			@PROG_LS@	0.02
"ls -alTi /var/mail"			@PROG_LS@	0.02
"ls -alTi /var/adm/syslog"		@PROG_LS@	0.02
"ls -alTi /var/spool/mail"		@PROG_LS@	0.02
"ls -alTi /proc"			@PROG_LS@	0.02
"ls -alTi /tmp"				@PROG_LS@	0.02
"ls -alTi /var/tmp"			@PROG_LS@	0.02
"ls -alTi /usr/tmp"			@PROG_LS@	0.02

"netstat -an"				@PROG_NETSTAT@	0.05
"netstat -in"				@PROG_NETSTAT@	0.05
"netstat -rn"				@PROG_NETSTAT@	0.02
"netstat -pn"				@PROG_NETSTAT@	0.02
"netstat -s"				@PROG_NETSTAT@	0.02

"arp -a -n"				@PROG_ARP@	0.02

"ifconfig -a"				@PROG_IFCONFIG@	0.02

"ps laxww"				@PROG_PS@	0.03
"ps -al"				@PROG_PS@	0.03
"ps -efl"				@PROG_PS@	0.03

"w"					@PROG_W@	0.05

"who -i"				@PROG_WHO@	0.01

"last"					@PROG_LAST@	0.01

"lastlog"				@PROG_LASTLOG@	0.01

"df"					@PROG_DF@	0.01
"df -i"					@PROG_DF@	0.01

"vmstat"				@PROG_VMSTAT@	0.01
"uptime"				@PROG_UPTIME@	0.01

"ipcs -a"				@PROG_IPCS@	0.01

"tail -200 /var/log/messages"		@PROG_TAIL@	0.01
"tail -200 /var/log/syslog"		@PROG_TAIL@	0.01
"tail -200 /var/adm/messages"		@PROG_TAIL@	0.01
"tail -200 /var/adm/syslog"		@PROG_TAIL@	0.01
"tail -200 /var/adm/syslog/syslog.log"	@PROG_TAIL@	0.01
"tail -200 /var/log/maillog"		@PROG_TAIL@	0.01
"tail -200 /var/adm/maillog"		@PROG_TAIL@	0.01
"tail -200 /var/adm/syslog/mail.log"	@PROG_TAIL@	0.01

