{"id":2710,"date":"2011-05-26T20:18:17","date_gmt":"2011-05-26T19:18:17","guid":{"rendered":"http:\/\/bitacora.eniac2000.com\/?p=2710"},"modified":"2011-05-26T20:18:17","modified_gmt":"2011-05-26T19:18:17","slug":"como-simular-un-servidor-web-con-netcat","status":"publish","type":"post","link":"https:\/\/bitacora.eniac2000.com\/?p=2710","title":{"rendered":"C\u00f3mo simular un servidor web con netcat"},"content":{"rendered":"<p>La siguiente es una peque\u00f1a receta que se puede utilizar para realizar una medici\u00f3n de velocidad de transferencia de datos entre dos equipos remotos, simulando el acceso a un servidor web, con la peque\u00f1a particularidad de que no se utiliza ning\u00fan servidor web. Utilizamos <a href=\"http:\/\/en.wikipedia.org\/wiki\/Netcat\">netcat<\/a> para servir un fichero de 100 megas, simulando la se\u00f1alizaci\u00f3n de protocolo HTTP. En la m\u00e1quina que hac\u00eda de servidor ejecutamos el siguiente comando:<\/p>\n<blockquote><p>{ echo -ne \u00abHTTP\/1.0 200 OK\\r\\n\\r\\n\u00bb; cat \/tmp\/archivo.txt; } | nc -l 80<\/p><\/blockquote>\n<p>&#8230;y en el equipo cliente pedimos con wget abrir una conexi\u00f3n al servidor:<\/p>\n<blockquote><p>wget http:\/\/ip_del_servidor\/ -O \/dev\/null<\/p><\/blockquote>\n<p>Adicionalmente, redireccionamos la salida de wget (es decir, el fichero de 100 megas) a \/dev\/null, con el objetivo de no realizar escritura en disco alguna, en el caso de que estemos utilizando un sistema empotrado o alg\u00fan dispositivo con poco espacio.<\/p>\n<p>Para generar el fichero de 100 megas podemos utilizar \/dev\/urandom, de tal manera que los datos sean pseudoaleatorios, y sea m\u00e1s dif\u00edcil aplicar compresi\u00f3n<br \/>\npor parte de alg\u00fan elemento interpuesto:<\/p>\n<blockquote><p>dd if=\/dev\/urandom of=\/tmp\/archivo.txt bs=1024k count=100<\/p><\/blockquote>\n<p>Sobre el primer comando: no especificamos el tama\u00f1o del fichero. Si por alguna raz\u00f3n (algunos clientes web son un tanto especiales) fuera necesario<br \/>\nespecificarlo, puede usarse el siguiente comando:<\/p>\n<blockquote><p>{ echo -ne \u00abHTTP\/1.0 200 OK\\r\\nContent-Length: \u00bb `wc -c some.file | cut -f 1 -d &#8216; &#8216;` \u00ab\\r\\n\\r\\n\u00bb; cat some.file; } | nc -l 80<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>La siguiente es una peque\u00f1a receta que se puede utilizar<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13],"tags":[813,1165,1522],"series":[],"class_list":["post-2710","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-http","tag-netcat","tag-servidor-web"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/2710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2710"}],"version-history":[{"count":0,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/2710\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2710"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=2710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}