Cómo montar un servidor elemental (web o de otra cosa) para hacer pruebas
La idea es disponer de un programa simple que simule un servidor web en un cierto puerto, para así poder probar que tenemos acceso a ese puerto, empleando algún protocolo adecuado. En los ejemplos de más abajo se implementan servidores web, pero adecuando el protocolo, se podría implementar cualqier servicio.
Netcat (nc)
Referencia:
#!/bin/bash while true do echo -e "HTTP/1.1 200 OK\r\n$(date)\r\n\r\n<h1>hello world from $(hostname) on $(date)</h1>" | nc -vl 8080; done
Python:
Python2: SimpleHTTPServer
Referencia:
import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer(("", PORT), Handler) print "serving at port", PORT httpd.serve_forever()
También se puede ejecutar el módulo por sí sólo:
python -m SimpleHTTPServer 8000
este servidor servirá archivos que se encuentren en el directorio donde está corriendo o en sus subdirectorios.
Python3: http.server
python3 -m http.server
Por defecto hace bind a 0.0.0.0 y usa el puerto 8000, así que el navegador debe apuntar a: http://0.0.0.0:8000. Lo que devuelve es el listado del directorio donde está corriendo.