Versionen von Netcat

8

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.


quelle
3
Nimmt in der BSD-Version -lden Port zum Abhören, wird also überhaupt -pnicht benötigt. Ich bin mir nicht sicher, was -pohne geht -l. Ich weiß nicht, warum es einen Unterschied gibt.
1
Versuchen Sie es mit ncat (in der nmap-Distribution).
William Pursell
1
Probieren Sie socat aus, eine völlig andere Syntax, aber weitaus mehr Funktionen als die guten alten Netcats.
Marcin
@icktoofay wenn man du bist Kommentar zu Antworten bewegen werde ich upvote dann stimmen zu schließen ... nur tag mir in der Post , damit ich es sehen
RobotHumans
Die Ubuntu-Pakete sind netcat-traditionalfür GNU netcat-openbsdund netcatfür BSD.
Ciro Santilli 28 病毒 审查 六四 事件 28

Antworten:

4

In der BSD-Version nimmt -l den Port zum Abhören, sodass -p überhaupt nicht benötigt wird. Ich bin mir nicht sicher, was -p ohne -l macht. Ich weiß nicht, warum es einen Unterschied gibt. - icktoofay <- Der Kredit für die Lösung geht an diesen Kerl ... aber ich glaube nicht, dass er einen Account bei SU hat, nur SO.

RobotHumans
quelle