• [^] # Re: netcat

    Posté par . En réponse à la dépêche Socat, un outil en ligne de commande pour maîtriser vos sockets. Évalué à 6.

    J'aimerais bien mieux connaître les différences entre les deux ou disons pour quels usages choisir l'un plutôt que l'autre.

    socat peut travailler avec des sockets Unix, ce qui n’a pas l’air d’être le cas de netcat (d’après sa page de manuel en tout cas, où la seule mention du mot « unix » est dans la phrase « netcat is a simple unix utility »).

    Pour cette raison, il est par exemple beaucoup utilisé dans les scripts gravitant autour de uzbl-core, dans les cas où l’on a besoin d’une communication bi-directionnelle avec le navigateur (envoyer une commande et recevoir la réponse, ce qu’un tube nommé ne permet pas). Ça donne des petits bouts de shell script de ce genre :

    echo 'js document.documentElement.outerHTML' | \
     socat - unix-connect:$UZBL_SOCKET | \
     grep -v ^EVENT | \
     gvim -
    
    

    ($UZBL_SOCKET étant bien sûr le chemin vers la socket ouverte par uzbl-core)

    C’est d’ailleurs, en ce qui me concerne, ma seule utilisation de socat, que je ne connaissais pas avant de découvrir Uzbl.