¿Cuál es la diferencia entre socat y netcat?

38

Entiendo que socat se describe como una versión "más avanzada" de netcat, pero ¿cuál es la diferencia real? ¿Sería correcto decir que todo lo que puedes hacer en netcat también puedes hacerlo en socat? ¿Qué pasa con lo contrario (todo lo que puedes hacer con socat también se puede hacer en netcat)?

bantic
fuente

Respuestas:

26

socat puede hacer cosas de línea serial, netcat no puede. socat puede hacer una funcionalidad bastante avanzada, como hacer que varios clientes escuchen en un puerto o reutilizar conexiones.

Marcin
fuente
11

Netcat es como socat con solo los tipos de dirección STDIO, TCP, TCP-LISTEN, UDP y UDP-LISTEN con menos opciones para esos tipos de direcciones.

¿Cuál es el propósito de tu pregunta? ¿Cuándo usar cuál? Si es así, la respuesta es: use netcat si puede resolver su problema; use socat de lo contrario.

Mark Wagner
fuente
2

En pocas palabras (muy, muy), netcat es un telnet que puedes usar en scripts. Plus se puede utilizar como un simple oyente si lo desea. Y sí, socat puede hacer más cosas que netcat, pero para verificar si es un superconjunto, debe comparar las opciones de línea de comandos.

adamo
fuente