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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.