[Python-es] Causa de este error en un server en python

Camilo Torres xtrmclmb en gmail.com
Lun Sep 23 13:16:55 CEST 2013


On Mon, Sep 23, 2013 at 6:40 AM, Horacio <horacio9573 en gmail.com> wrote:
> Buenas para probar ciertas páginas, tengo un server http simple hecho
> en python que atiende en el puerto 8080 con este código...
> ---------------------
> webdir = '.'   # where your HTML files and cgi-bin script directory live
> port   = 8080    # http://servername/ if 80, else use http://servername:xxxx/
> host = "xxx.yyy.zzz.www"
>
> import os, sys
> from BaseHTTPServer import HTTPServer
> from CGIHTTPServer  import CGIHTTPRequestHandler
>
> if len(sys.argv) > 1: webdir = sys.argv[1]             # command-line args
> if len(sys.argv) > 2: port   = int(sys.argv[2])        # else default ., 8080
> print 'webdir "%s", port %s' % (webdir, port)
>
> # hack for Windows: os.environ not propagated
> # to subprocess by os.popen2, force in-process
> if sys.platform[:3] == 'win':
>     CGIHTTPRequestHandler.have_popen2 = False
>     CGIHTTPRequestHandler.have_popen3 = False          # emulate path after fork
>     sys.path.append('cgi-bin')                         # else only adds my dir
>
> os.chdir(webdir)                                       # run in HTML root dir
> srvraddr = (host, port)                                  # my
> hostname, portnumber
> srvrobj  = HTTPServer(srvraddr, CGIHTTPRequestHandler)
> srvrobj.serve_forever( )                                # serve
> clients till exit
>
>
> --------------------
> El mismo está en un servidor con ip pública,,, cada tanto veo esto en
> los log que devuelve...
> ------------------
>
> 5.34.243.145 - - [21/Sep/2013 15:51:48] code 404, message File not found
> 5.34.243.145 - - [21/Sep/2013 15:51:48] "GET
> http://37.28.156.211/sprawdza.php HTTP/1.1" 404 -
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/SocketServer.py", line 295, in
> _handle_request_noblock
>     self.process_request(request, client_address)
>   File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
>     self.finish_request(request, client_address)
>   File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
>     self.RequestHandlerClass(request, client_address, self)
>   File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
>     self.handle()
>   File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
>     self.handle_one_request()
>   File "/usr/lib/python2.7/BaseHTTPServer.py", line 310, in handle_one_request
>     self.raw_requestline = self.rfile.readline(65537)
>   File "/usr/lib/python2.7/socket.py", line 476, in readline
>     data = self._sock.recv(self._rbufsize)
> error: [Errno 104] Connection reset by peer
>
>
> -----------------
>
> A que se debe, como lo puedo corregir? o es una respuesta a un atacante?
>

Lo más probable es que alguien esté intentando utilizar tu servidor
como Web Proxy. Es muy común que los proxies usen el puerto 8080.
Seguramente ni siquiera es un atacante, sino alguien que está buscando
un proxy para navegar de forma anónima.

-- 
Ing. Camilo Torres
camilotorresf en gmail.com
Phone: +58 4168473111 - Skype: camilotorresf
http://hojalibre.wordpress.com/ - http://paseandocaminos.wordpress.com/
http://python.org.ve


Más información sobre la lista de distribución Python-es