【发布时间】:2010-10-11 10:34:59
【问题描述】:
我需要在 telnet 中进行大量测试。我正在研究一些方法来自动检测我们的电子邮件服务器上的字典攻击,然后将它们限制回去,或者将它们列入黑名单等。
我现在准备运行一些测试,看看我的工作是否有回报。我想我会下载一些脚本小子应用程序来运行测试。我找不到任何我能找到的都是坏的或二进制的和不可配置的。
我将有一个循环生成的地址列表。
我想将 $address 作为参数并这样做:
远程登录 myserver.com 25 helo some-string.com 邮件来自:me@me.com 接收到:$address 退出
在此范围内,我需要测试一些事情,例如,如果我启用灰名单,我想让脚本失败,因为这是我的第一个对策。我想在那种情况下,我只会有 telnet 超时?
-
helo应该返回一个以 220 开头的代码字符串,这与我进行此测试所需的准确度差不多。 -
mail from应该返回 250,或者寻找 OK 就足够了 -
rctp to有时应该返回 250 或 Ok,当我发送一个有效的用户时,但大多数时候我会发送一个错误的地址,所以我会寻找 250 或 OK 的缺失。 -
最后,我将发送
quit。
我无法在交互式情况下获得条件和日志记录。我查看了expect,但无法让它工作。
到目前为止我的代码:
echo -e "helo foo\nmail from: foo.... | telnet example.com 25 | grep -i blah
这没有按预期执行。
我可以做些什么来实现我的目标?
【问题讨论】:
标签: telnet