linux - 从 bash 脚本发送 "ENTER"

标签 linux bash shell echo telnet

我正在尝试创建一个 bash 脚本来模拟对我们的邮件服务器的邮件攻击。出于这个原因,我想创建一个 bash 脚本来向我们的服务器发送数百封邮件,但是当我启动命令时:

$telnet 192.168.12.1 25 <-- 其中 192.168.12.1 是我们服务器的 ip

telnet session 开始,我稍后编写的所有命令都没有执行。 我还尝试创建第二个脚本以在创建此脚本后在 telnet session 上启动命令,但是当我从第二个脚本编写时:

$echo -ne "EHLO domain.com\r\f" 它打印命令但不执行 ENTER,因此不执行命令。 有什么想法吗?

最佳答案

SMTP 的行尾是\r\n,而不是\r\f,但我不认为这是你的问题。当你做这样的事情时:

telnet mailhost 25 < commands.txt

文本文件中的数据会立即发送到邮件服务器,然后关闭连接,这样就不会看到邮件服务器的响应。您可能会发现:

{ cat commands.txt; sleep 1; } | telnet mailhost.25

让您看到回复。 (我同意 nc (netcat) 比 telnet 更适合这类工作的评论)。

这可能不是测试邮件炸弹的最佳方法,但它可能会让您入门。


注意:ESMTP(即以 EHLO 而不是 HELO 开始的 session )可能会使用“流水线”,如果服务器表明它将通过响应250-PIPELININGEHLO,但您仍然需要等待服务器响应 250 OKDATA。参见 RFC 2920了解详情。

关于linux - 从 bash 脚本发送 "ENTER",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24083844/

相关文章:

git - Docker 将变量传递给运行 git clone 的 shell 脚本

linux - 如何在不使参数列表太长的情况下移动多个文件?

linux - 从 .sh 脚本打开新终端后,.sh 脚本中的源代码不起作用

bash - POSIX 是否定义了向终端发送 NUL 时的行为?

c - 执行与我的 C 程序不同的程序

shell - sed 括号表达式和捕获组

linux - makefile 中的执行错误

linux - 使用 shell 脚本在当前窗口中打开新选项卡

python - serial.serialutil.SerialException : [Errno 16] could not open port: [Errno 16] device or resource busy: '/dev/ttyACM0'

linux - Linux 命令行上多个文件的总和列