versions de netcat

8

J'ai essayé les deux versions principales de netcat: GNU et BSD. (Le mien est la version BSD).

Sur la version GNU, la commande $ nc -l -p 12345 fonctionne bien mais avec BSD, l'option -l (écouter) ne peut pas être utilisée en conjonction avec -p (port local).

Je ne comprends pas pourquoi il y a une telle différence entre ces deux versions? Dans la version BSD, lorsque j'utilise l'option -p, il appelle automatiquement -l (écouter)?

Merci ;-)

Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p est différent entre les deux. La version OpenBSD l'utilise pour définir un port source pour les connexions distantes, tandis que le nc traditionnel l'utilise pour spécifier le port local sur lequel il écoutera en mode écoute.


la source
3
Dans la version BSD, -lprend le port pour écouter, il -pn'est donc pas nécessaire du tout. Je ne sais pas ce qui se -ppasse -l. Je ne sais pas pourquoi il y a une différence.
1
Essayez ncat (dans la distribution nmap).
William Pursell
1
Essayez socat, une syntaxe complètement différente, mais bien plus de capacités que le bon vieux netcat.
Marcin
@icktoofay si vous vous déplacez, vous commentez les réponses, je voterai ensuite pour voter ... il suffit de me taguer dans le message pour que je le voie
RobotHumans
Les packages Ubuntu sont netcat-traditionalpour GNU et netcat-openbsdet netcatpour BSD.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Réponses:

4

Dans la version BSD, -l prend le port pour écouter, donc -p n'est pas du tout nécessaire. Je ne sais pas ce que -p fait sans -l. Je ne sais pas pourquoi il y a une différence. - icktoofay <- le mérite de la solution revient à ce type ... mais je ne pense pas qu'il ait un compte sur SU, juste SO.

RobotHumains
la source