Ich habe die beiden Hauptversionen von Netcat ausprobiert: GNU und BSD. (meins ist BSD-Version).
In der GNU-Version funktioniert der Befehl $ nc -l -p 12345 einwandfrei, aber mit BSD kann die Option -l (listen) nicht in Verbindung mit -p (lokaler Port) verwendet werden.
Ich verstehe nicht, warum es einen solchen Unterschied zwischen diesen beiden Versionen gibt? Wenn ich in der BSD-Version die Option -p verwende, wird automatisch -l aufgerufen (listen)?
Vielen Dank ;-)
Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p unterscheidet sich zwischen den beiden. Die OpenBSD-Version verwendet es, um einen Quellport für Remoteverbindungen festzulegen, während die herkömmliche NC es verwendet, um den lokalen Port anzugeben, an dem sie im Listen-Modus empfangsbereit ist.
netcat-traditional
für GNU netcat-openbsd
und netcat
für BSD.
-l
den Port zum Abhören, wird also überhaupt-p
nicht benötigt. Ich bin mir nicht sicher, was-p
ohne geht-l
. Ich weiß nicht, warum es einen Unterschied gibt.