当我输入netcat [ip address] [port]时,我被要求输入一个密码,实际上我知道密码,这是一个日期。
但是,我想创建一个脚本,它输入netcat和端口号,然后遍历日期列表。我已经创建了一个包含正确密码的大日期列表,但是我不确定如何创建一个脚本来实现我想要的。密码(日期)采用ddmmyyyy格式。我真的很感激你的帮助!
只是想说清楚我想做什么..。
1) Script automatically enters: netcat [ip address] [port]
2) Script automatically enters: 01012000
3) Script automatically enters: netcat [ip address] [port]
4) Script automatically enters: 02012000
..................
500) Script automatically enters: netcat [ip address] [port]
501) Script automatically enters: 10082001 (CORRECT PASSWORD) Script end*当密码正确时,脚本不需要结束,这样很好,但没有必要。我只是想先落实这个概念。
发布于 2021-02-02 02:58:00
您可以使用大括号展开来创建连续的日期,并将输入管道输送到netcat:
#!/bin/bash
for date in 2021-01-{01..31}; do
echo $date | netcat somehost ...
done或者,更复杂一点:for date in 2021-{01-{01..31},02-{01..02}}; do ...。
或者,从文件while read -r date; do ...; done < dates.txt中读取。
您可能需要检查如何使netcat按时退出,特别是如果遥控器没有关闭您发出的命令的连接。有几个版本的netcat,我有这样的选择:
-q seconds在stdin上的EOF之后,等待指定的秒数,然后退出。
https://unix.stackexchange.com/questions/632168
复制相似问题