====== 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: * [[https://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file]] #!/bin/bash while true do echo -e "HTTP/1.1 200 OK\r\n$(date)\r\n\r\n

hello world from $(hostname) on $(date)

" | nc -vl 8080; done
---------------- ==== Python: ==== === Python2: SimpleHTTPServer === Referencia: * [[https://docs.python.org/2/library/simplehttpserver.html]] 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. ----------