É possível 'canalizar' uma instância de um aplicativo de console através do netcat, para que o netcat esteja ouvindo uma nova conexão e redirecione a stdin
e stdout
pela conexão de rede.
linux
networking
console
netcat
jammmie999
fonte
fonte
<
ou>
) é significativamente diferente do piping (|
), embora às vezes você possa conseguir uma operação equivalente com uma combinação de ambos. Novamente, porém, com o redirecionamento de E / S, você pode alterar o local dos dois fluxos; a tubulação apenas redireciona a saída padrão de um processo para a entrada padrão de outro.Respostas:
Bem, conforme documentado na Wikipedia e na
netcat
documentação, há uma-e
opção que faz com que ele gere ( e xecute) um programa após o recebimento de uma conexão, anexando o soquete ao stdin, stdout e stderr do processo. Exemplo de uso:Exemplos comumente mostrar
/bin/sh
oubash
a ser utilizado como o program_name . O uso desta opção é desencorajado, pois basicamente abre um portal de acesso anônimo e sem senha na sua máquina. Obviamente, isso é atenuado pelo uso de um programa com menos energia que o shell (um que não tem a capacidade de escapar para um shell), minimizando seu uso e mantendo em segredo. No entanto, os desenvolvedores originaisnetcat
sentiram fortemente o suficiente para que essa opção fosse uma péssima idéia de desativá-la por padrão e a condicionaram sob a opção de compilação "GAPING_SECURITY_HOLE". Isso é mencionado brevemente neste Tutorial do NetCat e em outranetcat
documentação.Uma pesquisa no Google me levou a discussões sobre esse problema em outros sites do Stack Exchange: estouro de pilha e falha no servidor . Vários colaboradores ofereceram a seguinte técnica para fazer a mesma coisa sem usar a
-e
opção (ou seja, em uma versãonetcat
com a-e
opção desativada):Algumas notas:
netcat
,-l
implica-p
, então você deve dizer just-l
e então o número da porta.while true
loop.fonte