C'è un modo per associare rapidamente a una porta TCP/indirizzo IP e stampare semplicemente tutte le informazioni su STDOUT? Ho una semplice soluzione di debug che scrive cose a 127.0.0.1:4444 e mi piacerebbe essere in grado di legare semplicemente una porta da bash e stampare tutto ciò che incontra. C'è un modo semplice per farlo?Simple Socket Server in Bash?
risposta
$ nc -k -l 4444 > filename.out
vedere nc(1)
Un modo per farlo che non lo richiede per essere eseguito in un ciclo, cioè legare fino alla morte? Sto ripetutamente collegando e disconnettendo il socket e 'nc' muore se non lo eseguo in questo modo:' while true; do nc -l 4444; done'. –
Aggiungi l'opzione '-k'. –
Su alcune distro è necessario cambiarlo in 'nc -k -l -p 4444'. –
Solo perché hai chiesto come farlo in bash
, anche se netcat
risposta è molto valida:
$ exec 3<>/dev/tcp/127.0.0.1/4444
$ cat <&3
Ma questo non funziona per l'ascolto. Non penso che sia possibile ascoltarlo usando rigorosamente bash – Vijayender
Questa soluzione richiede infatti un server di ascolto. Bash non può farlo con '/ dev/tcp' come spiegato in http://unix.stackexchange.com/a/49947/13746 – xebeche
Ascolto? Ecco a cosa serve xinetd! : D – Evi1M4chine
che sta lavorando, come si aspettava:
nc -k -l 4444 |bash
e quindi si
echo "ls" >/dev/tcp/127.0.0.1/4444
quindi si vede l'elenco eseguito da bash.
[un avviso di protezione breve]
Naturalmente se si lascia una cosa del genere in esecuzione sul computer, si dispone di una porta spalancata per tutti i tipi di attacchi perché i comandi possono essere inviati da qualsiasi account utente su qualsiasi host nella tua rete. Ciò non implementa alcuna sicurezza (autenticazione, identificazione) e invia tutti i comandi trasmessi non crittografati sulla rete, quindi può essere facilmente abusato.
Aggiunta di una risposta utilizzando ncat
che @Freedom_Ben allude:
ncat -k -l 127.0.0.1 4444
e la spiegazione di opzioni da uomo NCAT:
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections
'ncat' viene fornito con' nmap' e supporta le connessioni simultanee, mentre il comando precedente 'nc' non lo fa. –
- 1. Python Simple SSL Socket Server
- 2. Simple image server
- 3. Simple HTTP Server lib
- 4. Erlang simple server problem
- 5. C socket socket client/server
- 6. Socket IO Server to Server
- 7. Sicurezza socket server client
- 8. Socket per server Android
- 9. Timeout socket server restlet
- 10. Programmazione socket: UDP Client-Server in C
- 11. Server socket in Javascript (nei browser)?
- 12. socket.io e .Net socket server
- 13. Socket - Client Java, server C#
- 14. Socket Java HTTP/2 server
- 15. socket Java (server Android-Java)
- 16. TLS con socket server php
- 17. GIO socket-server/-esempio client
- 18. PHP Socket Server vs node.js: Web Chat
- 19. Server flask inviato eventi eccezione socket
- 20. PHP connessione socket TCP Limit - server Windows
- 21. Socket Java: un server e più client
- 22. Programmazione socket più client un server
- 23. Server socket PHP che utilizza ADH. Come?
- 24. Un semplice server Http con Java/Socket?
- 25. Comunicazione socket, client Java C server
- 26. Simple preg_replace
- 27. Eccezione socket Android "socket chiuso"
- 28. Simple Timer in Meteor JS
- 29. Simple cross-tabulation in panda
- 30. Come eseguire server socket php in hosting linux
correlati http://unix.stackexchange.com/questions/49936/dev-tcp-listen-instead-of-nc-listen –