Eu verifiquei o código-fonte , primeiro o original (netcat-openbsd_1.89.orig.tar.gz ). As linhas relevantes em netcat.c
(367-388) (editado):
if (vflag || zflag) {
/* ... */
/* Don't look up port if -n. */
if (nflag)
sv = NULL;
else {
sv = getservbyport(
ntohs(atoi(portlist[i])),
uflag ? "udp" : "tcp");
}
printf("Connection to %s %s port [%s/%s] succeeded!\n",
host, portlist[i], uflag ? "udp" : "tcp",
sv ? sv->s_name : "*");
}
Mas o pacote diff ( netcat- openbsd_1.89-4ubuntu1.diff.gz ) contém um patch, removendo a funcionalidade de exibição detalhada:
--- netcat-openbsd-1.89.orig/debian/patches/silence-z.patch
+++ netcat-openbsd-1.89/debian/patches/silence-z.patch
@@ -0,0 +1,13 @@
+Index: netcat-openbsd-1.89/netcat.c
+===================================================================
+--- netcat-openbsd-1.89.orig/netcat.c 2008-06-19 16:33:52.000000000 -0400
++++ netcat-openbsd-1.89/netcat.c 2008-06-19 16:34:58.000000000 -0400
+@@ -364,7 +364,7 @@
+ continue;
+
+ ret = 0;
+- if (vflag || zflag) {
++ if (vflag) {
+ /* For UDP, make sure we are connected. */
+ if (uflag) {
+ if (udptest(s) == -1) {
Portanto, parece que sem o sinalizador v
, a ramificação do sinalizador z
nunca "executa" e não exibe a mensagem. (Embora eu não seja um programador C especializado, então, por favor, leve isso com um pouco de ceticismo.)
Além disso, o changelog se refere a isso:
% bl0ck_qu0te%O relatório de erros do Debian para o # 464564 contém o seguinte:
% bl0ck_qu0te%Então, acho que é um bug na página de manual: a seção de varredura de porta não seguiu a funcionalidade alterada.