Как закрыть соединение netcat после получения ответа сервера? - PullRequest
0 голосов
/ 18 января 2019

Мне нужно отправить много сообщений через 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

Если я смогу закрыть соединение после вывода ответа в результате, все будет работать нормально. Я знаю, что есть опция -w «x», которая закрывает соединение через «x» секунд, но минимальное значение для «x» равно 1, и 1 больше, чем я могу ждать, мне нужно как можно скорее закрыть соединение .

1 Ответ

0 голосов
/ 04 февраля 2019

То, что вы ищете, это переключатель -q. Если вы укажете:

netcat -q 0 localhost 30002

netcat немедленно выйдет.

...