如何在收到服务器响应后关闭netcat连接?

Luc*_*oto 8 bash client tcp netcat server

我需要通过 netcat 或类似的东西发送很多消息。问题是,当我运行时,echo "something" | netcat ip port连接在收到响应后继续打开。实际上,连接继续打开,等待新的输入。但是,我需要的是在收到响应后关闭连接。看,我的脚本基本上是这样的:

#!/bin/bash
i=1
while [ $i -ne 10000 ];do
    sed -n $[i]p wordlist | netcat localhost 30002 >> result
    i=$[$i+1]
done
Run Code Online (Sandbox Code Playgroud)

如果我可以在打印结果响应后关闭连接,那么一切都会正常工作。我知道有一个选项 -w "x" 在 "x" 秒后关闭连接,但是 "x" 的最小值是 1 并且 1 大于我可以等待的值,我需要尽快关闭连接。

cni*_*tar 1

你要找的是开关-q。如果您指定:

netcat -q 0 localhost 30002
Run Code Online (Sandbox Code Playgroud)

netcat将立即退出。