Existem vários programas para fazer conexões de soquete a partir da linha de comando (ou através de um script de shell). O mais comum é provavelmente o netcat, do qual há pelo menos três implementações:
-
Original one © 1995-1996 Avian Research (o gato de Hobbit). Não tenho conhecimento de nenhum link upstream, então aqui está no rastreador de pacotes Debian: link
-
Netcat6, uma reescrita. Agora declarado obsoleto; link
-
netcat-openbsd, uma reescrita pelo projeto OpenBSD. Provavelmente o que você quer. O código pode ser visto no link
-
socat, não é uma reescrita, mas a mesma ideia, com muitos recursos adicionais. Outra boa opção se você precisar de todos os recursos e não se importar com a complexidade adicional. link
A página de manual dá muitos exemplos, por exemplo, aqui está como (baseado em um exemplo muito mais assustador na página man) você pode executar bc
em um socket:
mkfifo /tmp/f && cat /tmp/f | bc -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
Então você pode se conectar a essa rede bc
usando:
nc localhost 1234
Ou com socat
, é:
socat EXEC:'bc -i' TCP4-LISTEN:1234,bind=127.0.0.1 # server
socat - TCP4:127.0.0.1:1234 # client