Enviar net send anónimos

Proyectos 3 Comentarios

En windows podemos enviar mensajes a otros usuarios a través de la red de un dominio con el comando net send, siempre y cuando tengamos iniciado el servicio Mensajero de windows. Desde linux con smbclient -M también podemos hacer lo mismo.

Sin embargo siempre se enviará como remitente el equipo desde donde se envió el mensaje. Si queremos mandar un mensaje con un remitente distinto debemos recurrir al envío del mismo a través de la tubería \MAILSLOT\MESSNGR que tiene abierta windows si el servicio que comentaba antes está iniciado. Aquí muestro los pasos a seguir usando win32.

Primero se debe abrir esa tubería mediante un CreateFile poniendo como ruta lo siguiente \\<nombre de equipo>\\MAILSLOT\MESSNGR.

Después debemos escribir a esa tubería con WriteFile la siguiente cadena <origen>\0<destino>\0<mensaje>\0

Finalmente cerramos la tubería con CloseHandle.

Para ilustrar el funcionamiento, podeis bajaros el código fuente de un programa aquí.

Si quereis usarlo ya compilado, podeis bajaros el ejecutable aquí.

gateway email2qrcode

Proyectos Sin comentarios

Antes de nada, ¿que es el qrcode?, la wikipedia lo define como:

Un código QR es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional creado por la compañía japonesa Denso-Wave en 1994; se caracterizan por los tres cuadrados que encontramos en las esquinas y que permiten detectar al lector la posición del código. La sigla “QR” se derivó de la frase inglesa “Quick Response” pues el creador aspiraba a que el código permitiera que su contenido se leyera a alta velocidad. Los códigos QR son muy comunes en Japón y de hecho son el código bidimensional más popular en ese país.

Todos conocemos los códigos de barras que estan ya presentes en cualquier producto que adquiramos. Como la información que puede contener un código de barras es limitada (solo unos pocos carácteres), se buscaron formas de incluir muchos más datos en aproximadamente el mismo espacio, de ahí que aparecieran los nuevos códigos 3D (en contraposición a los de barras, llamados 2D), los cuales codifican la información en una cuadricula punteada, pudiendo almacenar hasta kilobytes de información.

Existen varios estándares:

PDF 417 Lo podeis generar aquí.

Datamatrix lo podeis generar aquí.

MaxiCode lo podeis generar aquí.

QRCode lo podeis generar aquí.

La ventaja de QRCode es que esta muy extendido, ya que es un estandard ISO (18004) que todo el mundo puede usar libremente y existen librerias comerciales y gratuitas tanto para generarlo como para decodificarlo. Para móviles, uno de los mejores lectores gratuitos que hay hecho en java es el kaywa reader.

Imagen qrcode

En este artículo explico como hice un gateway que decodifica los qrcodes que se hayan enviado por correo electrónico, respondiendo al remitente con el texto que contenian las imágenes.

El proceso es tan simple como:

Enviar las imágenes qrcode adjuntas a un correo electrónico y enviarlo a qrdecode@sistemasorp.es.

Posteriormente en el servidor, una tarea cron ejecuta cada minuto un script en perl.

Este script de perl comprueba el buzón de correo y si hay mensajes los procesa. Si detecta que hay imágenes ejecuta una librería java llamada Open Source QR Code Library (http://sourceforge.jp/projects/qrcode/) y toma su salida estandar para luego crear un correo y enviarselo al remitente con el texto de la/s imagen/es.

Si quereis descargaros el script de perl, lo podeis hacer aquí.

¿Cómo evitar el efecto slashdot (barrapunto, meneame, etc.)?

Informática Sin comentarios

El efecto slahsdot es algo que puede tirar los servidores abajo. Su nombre proviene del proveedor de noticias slashdot.

Todo empieza cuando alguien escribe algo interesante en una web. Al principio sólo los lectores habituales lo conocerán y más tarde los motores de búsqueda lo indexarán, pero esto no provoca ninguna caida del servidor.

La verdadera caida es cuando literalmente miles o cientos de miles de personas acceden a esa página en un corto lapso de tiempo. Esto es provocado cuando un tercero publica un enlace a la página mencionada en un proveedor de noticias como slahsdot, barrapunto, meneame, etc. Entonces en las primeras horas que aperece publicado el enlace, ingentes cantidades de usuarios acceden a la página para poder ver en detalle lo que está publicado en esta.

Ya se trate de un servidor mal configurado, o de un servidor con pocos recursos, o de un servidor cuyo ancho de banda contratado sobrepasa el límite contratado, el caso es que antes o después puede dejar de dar servicio ante la avalancha de peticiones, provocando el malestar de los usuarios que en ese momento quieren acceder al contenido de la página.

Para ello se creó en 2004 un servicio gratuito llamado CoralCDN. Este servicio esta basado en una red distribuida p2p, en la cual se cachea el contenido de las páginas en multiples servidores de PlanetLab. Así si todo el mundo accede a la página a través de este servicio, tiene garantizado que podrá verla, ya que no accederá a la original, sino a la cacheada repartida entre varios servidores.

Cachear una página y acceder a esa caché es tan sencillo como añadir el sufijo nyud.net al dominio de la URL que queremos acceder. Así por ejemplo para acceder a este artículo a través de la versión cacheada, habría que acceder a través de http://www.sistemasorp.es.nyud.net/2008/02/03/¿como-evitar-el-efecto-slashdot-barrapunto-meneame-etc/.

No se trata de un proxy web, ya que no parsea la página modificando los enlaces para acceder a sus versiones cacheadas, sino que está orientado a cachear una página en concreto.

Para evitarse el trabajo de tener que añadir el sufijo al dominio de la url, existen diversas soluciones para automatizar el acceso. Desde los plugins oficiales de CoralCDN hasta extensiones firefox y otras soluciones explicadas aquí.