nc
escreve sua saída para o erro padrão, você precisa:
nc -zvv localhost 31000-32000 2>&1 | grep succeeded
O 2>&1
redirecionará o erro padrão para a saída padrão, para que você possa canalizá-lo para grep
.
Estou usando nc
para procurar portas abertas, mas estou digitalizando um amplo intervalo e exibindo muitos resultados. Tentar grep
da palavra "succeeded" não funciona por algum motivo:
$ nc -zv localhost 31000-32000 | grep succeeded
...
nc: connect to localhost port 31957 (tcp) failed: Connection refused
nc: connect to localhost port 31958 (tcp) failed: Connection refused
nc: connect to localhost port 31959 (tcp) failed: Connection refused
Connection to localhost 31960 port [tcp/*] succeeded!
nc: connect to localhost port 31961 (tcp) failed: Connection refused
nc: connect to localhost port 31962 (tcp) failed: Connection refused
nc: connect to localhost port 31963 (tcp) failed: Connection refused
nc: connect to localhost port 31964 (tcp) failed: Connection refused
...
(pensei em enviar as mensagens de erro para /dev/null
também: nc -zv localhost 31000-32000 2>/dev/null
. Mas, nesse caso, não há resultados. Parece que todas as mensagens de status nc
port são mensagens de erro / depuração )