如何为400个用户生成用户帐户以进行负载测试?
Htdigest每次强制你输入一个密码,我尝试过dos管道
echo password > htdigest -c realm username%1
htdigest -c realm username%1 < password.txt
Run Code Online (Sandbox Code Playgroud)
但它不起作用......
X-I*_*nce 16
您还可以查看trac在其网站上为htdigest密码分发的python脚本,然后您可以将其自动化:
他们还建议沿着这些方向发挥作用:
可以使用md5sum实用程序使用以下方法生成摘要密码文件:
$ printf "${user}:trac:${password}" | md5sum - >>user.htdigest
Run Code Online (Sandbox Code Playgroud)
并从末尾手动删除" - "并将"$ {user}:trac:"添加到"to-file"行的开头.
我在FreeBSD上测试了这个,不确定这是否可以在Linux或Windows上运行,所以你可能需要稍微修改一下:
(echo -n "user:realm:" && echo -n "user:realm:testing" | md5) > outfile
Run Code Online (Sandbox Code Playgroud)
outfile包含:
user:realm:84af20dd88a2456d3bf6431fe8a59d16
Run Code Online (Sandbox Code Playgroud)
与htdigest相同:
htdigest -c outfile2 realm user
Run Code Online (Sandbox Code Playgroud)
输出在outfile2中
user:realm:84af20dd88a2456d3bf6431fe8a59d16
Run Code Online (Sandbox Code Playgroud)
它们都是相同的,从而证明了命令行实现的正确性!
(旁白:在unix/linux上,第一个应该是:
echo password | htdigest -c realm username$1
Run Code Online (Sandbox Code Playgroud)
)
由于htdigest没有任何传递密码的好方法,我会使用expect自动化过程.
来自http://www.seanodonnell.com/code/?id=21的一个例子:
#!/usr/bin/expect
#########################################
#$ file: htpasswd.sh
#$ desc: Automated htpasswd shell script
#########################################
#$
#$ usage example:
#$
#$ ./htpasswd.sh passwdpath username userpass
#$
######################################
set htpasswdpath [lindex $argv 0]
set username [lindex $argv 1]
set userpass [lindex $argv 2]
# spawn the htpasswd command process
spawn htpasswd $htpasswdpath $username
# Automate the 'New password' Procedure
expect "New password:"
send "$userpass\r"
expect "Re-type new password:"
send "$userpass\r"
Run Code Online (Sandbox Code Playgroud)
如果需要,它将作为练习留给用户将其转换为Windows.
| 归档时间: |
|
| 查看次数: |
7690 次 |
| 最近记录: |