Existe alguma solução para tornar o servidor TCP / UDP interativo no Linux?

0

Eu preciso de alguma ferramenta como esta para Linux. Eu não preciso de uma GUI (ou seja, GUI / CLI - isso não é tão importante), mas eu preciso ser capaz de fazer um servidor que pode ouvir em qualquer porta, receber e enviar um raw (ou seja dados hex dump ).

    
por Serge Roussak 15.10.2015 / 10:57

4 respostas

0

Existe um patch para o socat v.2.0.0.b8 que torna isso possível.

Agradeça a todos que responderam.

    
por 23.10.2015 / 11:17
5

tente nc

de man nc

nc — arbitrary TCP and UDP connections and listens

    
por 15.10.2015 / 11:02
2

socat é uma ferramenta sofisticada para conectar, bidirecionalmente, quase tudo a quase qualquer outra coisa. Em particular, você pode obtê-lo para ouvir em uma porta para conexões, execute um programa quando conectado, envie os dados para ele e retornar a saída de volta ao soquete. Por exemplo:

socat TCP4-LISTEN:3344,reuseaddr,fork  EXEC:/tmp/runme,pty

executará um script /tmp/runme , por exemplo:

#!/bin/bash
trap 'echo sigterm >&2;exit' TERM
echo "start" >&2
while read line
do  echo "got $line"
done

em que você pode fazer o que quiser com os dados, como aqui retornando com o prefixo "got". Você pode testar isso com, por exemplo, telnet localhost 3344 ou

echo hi | socat - TCP4:localhost:3344

Se você precisa fazer o mesmo com o udp, você pode tentar, por exemplo:

socat UDP-RECVFROM:3344,fork  EXEC:/tmp/runme,pty

você só receberá um pacote, mas ainda assim receberá alguma resposta. Teste com, por exemplo:

echo hi | socat - UDP-SENDTO:localhost:3344

Se tudo o que você deseja fazer é recuperar seus dados, esse recurso está incorporado em xinetd e você só precisa ativar o serviço echo . Veja man xinetd.conf .

Se você deseja obter estatísticas de largura de banda, consulte as netperf ferramenta.

    
por 16.10.2015 / 19:44
0

Você pode estar interessado em sendip , seu website: link

Do site:

Q: How are string and numeric arguments handled? A: Many of the header fields, and the packet data area, can be specified via the following syntax:

  • 0xXXXX - interpreted as a number in hex, converted to a binary number in network byte order.
  • 0XXXX - interpreted as a number in octal, converted to a binary number in network byte order.
  • rN - N "random" bytes
  • zN - N nul (zero) bytes
  • fF - read the argument from the next line in file F
  • other - taken as a literal string
    
por 15.10.2015 / 21:08

Tags