如何通过管道将循环连接到一个 netcat 连接

如何通过管道将循环连接到一个 netcat 连接

我正在做一个挑战,我必须向 netcat 守护进程提供一个密码(我有)和一个 4 位密码(只能通过暴力破解所有 10000 种可能性才能找到)。目前我正在做

#!/bin/bash
PWD='HpNYTlstOGHyQXmg6gzctqAwOmw1NiPQ'
for n in `seq 1 9999`;
do
    STR=`echo $PWD $n | nc localhost 30002`
    echo "passcode $n: $STR"
done

但这非常慢:它可能每秒执行 1 个密码。我可以做类似的事情吗

#!/bin/bash
PWD='HpNYTlstOGHyQXmg6gzctqAwOmw1NiPQ'
nc localhost 30002 #somehow pipe the output to a file without closing it
for n in `seq 1 9999`;
do
    echo "$PWD $n" #echo a line into the stdin of nc
    #set STR equal to whatever was outputted from nc
    echo "passcode $n: $STR"
done

当我手动使用 nc 时,我可以在一个 nc 实例中发送和接收多行。然而,我似乎只能在 bash 中发送一行,这似乎不对。如何一次发送多行至 nc?

答案1

在 for 循环结束时:

done | nc localhost 30002

相关内容