我正在OverTheWire做Bandit的24级,我在尝试解决它时遇到了问题。在本练习中,您需要通过端口30002连接本地主机并引入密码和4位数的引脚。
我的bash脚本就是这个:
#!/bin/bash
nc localhost 30002 << Input
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0000
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0001
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0002
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0003
...
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9998
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9999
Input
问题是,当我读取输出时,已经有7175次重试而不是9999.任何人都知道会发生什么?
你在最后一个发送行的末尾关闭你的nc,但不要等待答案。我不太了解nc
,也许有延迟关闭的选项。
无论如何,这应该工作(睡眠时间可能会有所不同):
( cat << Input
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0000
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0001
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0002
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 0003
...
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9998
UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9999
Input
sleep 2
) | nc localhost 30002