Na página do manual do netcat GNU (não BSD), diz:
netcat -l -p porta [opções] [nome do host] [porta] ...
e:
-s ENDEREÇO Especifica o endereço de origem usado para criar soquetes.
Qual é a diferença entre [hostname]
e -s
, e [port]
e -p
?
Não consegui encontrar a resposta nas páginas do manual ou em --help
.
netcat
tem diferentes modos de operação, onde-l
ouvir uma conexão de entrada vem com suas próprias e diferentes opções em comparação a conectar e iniciar uma conexão com um host remoto.Note que o GNU netcat também não foi atualizado por 20 anos de acordo com o que ainda parece ser a home page do projeto: https://netcat.sourceforge.net/ e sua página de manual também não parece documentar todas as opções. Note que frequentemente os comandos GNU são mais amplamente documentados no
info netcat
do queman netcat
na documentação, e a exportação em PDF disso pode lhe dar mais insights: https://netcat.sourceforge.net/netcat.pdfEm outras palavras: aparentemente você pode restringir
netcat -l
para aceitar apenas uma conexão de entrada de um host remoto específico[remote hostname]
e de uma porta específica[remote ports]
naquele host.A diferença é que um é para o endereço de origem (e porta) enquanto o outro é para o endereço de destino e porta. (Uma conexão sempre tem duas pontas – dois endereços e dois números de porta.)
"Destino" é o host remoto ao qual você está se conectando.
Mas o host do qual você está se conectando pode ter vários endereços IP locais para se conectar e, embora normalmente um seja escolhido automaticamente, às vezes você pode querer usar um específico.
No modo de escuta, você sempre especifica apenas o endereço local e/ou a porta.