server echo con netcat o socat

Voglio un server echo di UDP per get i pacchetti e rispondere esattamente a quello che ha ricevuto. Come posso semplicemente fare questo utilizzando netcat o socat ? Dovrebbe rimanere vivo per sempre e gestire i pacchetti provenienti da diversi host.

  • Problemi della row di command Netcat
  • Connessione a HTTPS con netcat (nc)
  • Come get una risposta udp con netcat
  • Inoltro del terminal linux da port seriale a TCP con socat
  • Proxy con netcat per sempre
  • Come faccio a registrare il traffico smtp crittografato con tls?
  • 6 Solutions collect form web for “server echo con netcat o socat”

    Un altro strumento simile a netcat è la versione nmap, ncat , che ha un sacco di funzionalità per semplificare le cose del genere. Questo functionrebbe:

     ncat -e /bin/cat -k -u -l 1235 

    -e significa che esegue / bin / cat (per eco indietro quello che digitate)
    -k significa mantenere vivo, che continua ad ascoltare dopo each connessione
    -u significa udp
    -l 1235 significa che ascolta la port 1235

    Ho usato socat -v PIPE udp-recvfrom:5553,fork per eseguire il server e socat - udp:localhost:5553 per i client. Questo è stato un grande aiuto!

    È inoltre ansible utilizzare socat (anziché utilizzare netcat) come server eco e netcat come client.

    Socat echo server (ascolto sulla port TCP 1234):

     socat -v tcp-l:1234,fork exec:'/bin/cat' 

    Client Netcat (connette a serverip sulla port TCP 1234):

     nc serverip 1234 

    È ansible scrivere un programma C che fork nc -u -l -p 4321 e poi utilizza dup (2) per connettersi:

    • nc stdin con lo stdout del genitore
    • nc stdout con lo stdin del genitore

    Poi in un ciclo infinito il genitore legge da stdin e scrive in stdout qualunque cosa legge il genitore.

    Se si esegue su Windows e utilizza un ambiente unix come cygwin, la migta di netcat non fornisce il parametro -e. Questo ha funzionato bene per me.

    http://bansky.net/echotool/

    soluzione netcat preinstallata in Ubunutu

    Il netcat preinstallato in Ubuntu 16.04 viene da netcat-openbsd e non ha alcuna opzione -c , ma il manuale fornisce una soluzione:

     sudo mknod -m 777 fifo p cat fifo | netcat -l -k localhost 8000 > fifo 

    Poi esempio client:

     echo abc | netcat localhost 8000 

    TODO: come modificare il valore della string di input? Il seguente non restituisce alcuna risposta:

     cat fifo | tr 'a' 'b' | netcat -l -k localhost 8000 > fifo 

    L'esempio di shell remoto tuttavia funziona:

     cat fifo | /bin/sh -i 2>&1 | netcat -l -k localhost 8000 > fifo 

    Non so comunque affrontare le richieste concorrenti.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.