Crear archivos excel con Python y Openpyxl Parte 3

Seguimos con el “tutorial” de crear archivos excel con python y openpyxl. Como vimos en la parte 1 aprendimos a crear libros y hojas de cálculo, a dar valores a las celdas, etc y en la parte 2 aprendimos a dar formatos a las celdas; en esta parte se hará un ejemplo y se integrará con Django.

Vamos a suponer que ya se tiene la aplicación hecha, por lo tanto, ya están los modelos, formularios, vistas, etc. y lo que se necesita es representar los datos de la base de datos en un archivo excel, cuando le de clic a un enlace o botón que diga “exportar a excel”.

Para que al darle clic en el botón y se exporte el excel, se debe tener una url asociada a una vista, por lo tanto se debe agregar una url al archivo urls.py, en este ejemplo, se exportará los usuarios que tiene registrado el sistema.

(r'^exportar_usuarios', exportar_usuarios),

Teniendo esto, vamos a programar, en el views.py, la función vista exportar_usuarios. Que exportará los siguientes datos:

Nombres, apellidos, correo, si está activo, si puede entrar al sitio de administración, si es superusuario, último inicio de sesión y fecha de registro.

Ahora sí, colocamos esto en el views.py

def exportar_usuarios(request):
    # primero, hacemos la consulta de los usuarios

    usuarios = User.objects.all()

    # se crea el libro y se obtiene la hoja

    libro = Workbook()
    hoja = libro.get_active_sheet()
    hoja.title = "usuarios"

    # Ahora, se obtiene las celdas en la cuál se colocará el nombre
    # del campo. como son 8 campos, se necesita 8 celdas

    rango_celdas = hoja.range("B2:I2")

    # se crea una tupla con los nombres de los campos

    nombre_campos = "Nombres", "Apellidos", "Email", "Activo", "Staff", "Superusuario", "Último inicio de sesión", "Fecha registro"

    # ahora, se asigna cada nombre de campo a cada celda

    for campo in rango_celdas:
        indice = 0  # se crea un contador para acceder a la tupla
        for celda in campo:
            celda.value = nombre_campos[indice]
            indice += 1

    # ya se tiene los nombres de los campos
    # ahora se obtiene el rango de celdas en donde irán los datos

    longitud = 2 + len(usuarios)
    celdas_datos = hoja.range("B3:I{0}".format(longitud))

    # ahora vamos a dar los valores a las celdas con los datos

    fila = 0
    for usuario in usuarios:
        datos = (usuario.first_name, usuario.last_name, usuario.email,
                 usuario.is_active, usuario.is_staff, usuario.is_superuser,
                 usuario.last_login, usuario.date_joined)
        indice = 0
        for celda in celdas_datos[fila]:
            celda.value = datos[indice]
            indice += 1
        fila += 1

     # se crea un objeto httpresponse y se pasa como parámetro el mimetype
     # diciendo que es excel
     response = HttpResponse(mimetype="application/ms-excel")  # HttpResponse viene del modulo django.http
     nombre_archivo = "usuarios.xlsx"
     contenido = "attachment; filename={0}".format(nombre_archivo)
     response["Content-Disposition"] = contenido
     libro.save(response)
     return response

Ya con ésto, se creará el excel y podemos guardarlo.

Se les puede dar los formatos que se vio en la parte 2 de este tutorial para darle un mejor diseño.

También pueden crear un modulo aparte en donde se de formato y dar valores a las celdas y así, no se tenga que repetir tanto código, eso ya es ingenio de cada quien.

Espero que les haya servido y si tienen alguna duda y que yo pueda responderla, con mucho gusto la hace en los comentarios.

Happy Hacking!

 
Google+: Julián Cortés

Twitter: __pity7736__

Publicado en Programación, Tutoriales | Etiquetado , , , | 5 comentarios

Corre Linux Corre 2 – Fernando Monroy

Corre Linux Corre 2da Edición

Hace un momento buscando referencias para el libro Corre Linux Corre 1ra Edición me encontré conque ya esta la 2da y es en base al sistema operativo Debian, contiene tres capítulos nuevamente con la misma sencillez característica para un buen entendimiento de parte del lector.

Autor: Fernando Monroy
Licencia: Creative Commons BY-NC-SA 3.0
Google+ del Autor
Sitio web: http://aceptarocancelar.blogspot.com/

Tabla de contenidos

  • Introducción a este libro 3
  • Acerca del autor 4
  • Capítulo 1: El Sistema Operativo 7
  • 1.1 Ramas de desarrollo del Sistema Operativo 8
  • 1.2 Obtener el Sistema Operativo 8
  • 1.3 Proceso de instalación del Sistema Operativo 9
  • Capítulo 2: El Entorno Gráfico 23
  • 2.1 Recorrido por el Entorno Gráfico 24
  • 2.2 Configuración de la red 32
  • 2.3 Modificar el Entorno Gráfico 38
  • Capítulo 3: Puesta a punto del sistema 64
  • 3.1 Ajustes iniciales 65
  • 3.2 Herramientas de instalación 76
  • 3.3 Instalar paquetes 80

Descargar

Publicado en Libros | Etiquetado , , | Deja un comentario

Corre Linux Corre – Fernando Monroy

Portada Corre Linux Corre

Corre Linux Corre (1ra Edición) de Fernando Monroy es un libro No oficial basado en Ubuntu 12.04 LTS. Esta escrito con el objetivo de facilitar la iniciación al mundo GNU/Linux a través del sistema operativo Ubuntu con el entorno de escritorio Unity, un libro completo, menciona software de diferentes categorías y presenta capturas de escritorio con la descripción de lo que hacen; además explica como son las funcionalidades del entorno y tareas que se realizan comúnmente.

Autor: Fernando Monroy
Licencia: Creative Commons BY-NC-SA 3.0
Google+ Autor

 Tabla de contenido:

  • Introducción a este libro 3
  • Acerca del autor 4
  • Capítulo 1: Bienvenido a Gnu Linux 7
  • Sistema Operativo 8
  • Entorno Gráfico 9
  • Pruebas de sistema 27
  • Aplicaciones de serie 29
  • Capítulo 2: Gestión de archivos 40
  • Las carpetas de trabajo 41
  • Manipulación de archivos 52
  • Conexión de dispositivos 53
  • Ordenar mis archivos 54
  • Capítulo 3: Configuración del sistema 55
  • Principales configuraciones 56
  • Configurar el teclado 68
  • Ver vídeos en línea 72
  • Libro NO oficial basado en Ubuntu Gnu Linu
  • Corre Linux Corre
  • El Centro de Software 73
  • Ajustes básicos del sistema 76
  • Pruebas de archivos 84
  • Comprobar el equipo 85
  • Capítulo 4: Internet, Redes Sociales y más 88
  • Conexión a Internet 89
  • Configurar una conexión a Internet 91
  • Sitios web populares 96
  • Mensajería instantánea y difusión 98
  • Correo electrónico 102
  • La nube 107
  • Capítulo 5: Instalación de dispositivos comunes 115
  • Instalación de dispositivos 116
  • Capítulo 6: ¿Cómo lo hago en Gnu Linux? 117
  • ¿Cómo lo hago? 118
  • El poder de GNU Linux

Descargar Libro

Publicado en Libros | Etiquetado , , , | Deja un comentario

SUPLANTACION DE IDENTIDAD “SPOOFING”

DEFINICIONES BÁSICAS

Para entender completamente como este tipo de ataque puede ocurrir, hay que comprender la estructura de la suite de protocolos tcp/ip. Un entendimiento básico de estas cabeceras  y protocolos de red  es crucial para el proceso

HOST

Maquina conectada a una red de ordenadores y que tiene un nombre de equipo. Es un nombre único que se le da a un dispositivo conectado a una red informática.  Puede ser un ordenador, un servidor de archivos, una maquina de fax, impresora etc, este nombre ayuda al administrador de la red identificar las maquinas sin tener que memorizar  una dirección ip  para cada una de ellas

PROTOCOLOS DE INTERNET-IP

Es un protocolo de comunicación de datos digitales clasificado funcional mente en la capa de red según el modelo OSI, El protocolo de Internet proporciona los medios necesarios para la transmisión de bloques de datos llamados paquetes desde el origen al destino

MAC

Todos los ordenadores de una misma red comparten el mismo medio, por lo que debe de existir un identificador único para cada equipo, esto se consigue mediante la MAC un numero compuesto de 12 dígitos hexadecimales que identifica de forma única a cada dispositivo de ethernet

QUE ES SPOOFING

Spoofing, en términos de seguridad de redes hace referencia al uso de técnicas de suplantación de identidad generalmente con usos maliciosos o de investigación, es decir, un atacante falsea el origen de los paquetes haciendo que la víctima piense que estos son de un host de confianza o autorizado para evitar la víctima lo detecte. Por ejemplo, cuando nos comunicarnos con un determinado host, la dirección de ese host ocupa un lugar determinado en la cadena de datos, al igual que nuestra propia dirección también ocupa otra posición determinada, pues si conseguimos “manipular” la información de ese lugar, podremos falsear el origen de datos y hacer creer al host destino que somos quien realmente no somos, esto es SPOOFING.

TIPOS DE SPOOFING

Existen diferentes tipos de spoofing dependiendo de la tecnología a la que nos refiramos, como el IP spoofing, ARP spoofing,  DNS spoofing, Web spoofing, e-mail spoofing, aunque en general se puede englobar dentro de spoofing cualquier tecnología de red susceptible de sufrir suplantaciones de identidad

IP SPOOFING

Suplantación o falseamiento de IP, hacer creer que somos quien no somos, esto es, apropiarse de la IP de otro usuario de la red.

TIPOS  IP SPOOFING

Algunos tipos de ataques
-Non‐Blind Spoofing: Este tipo de ataque ocurre cuando el atacante está sobre la misma subred que la víctima.
-Man In the Middle Attack: En este ataque una máquina atacante intercepta una comunicación entre dos host.
Entre muchos mas

ARP SPOOFING

El ARP Spoofing es la suplantación de identidad por falsificación de tabla ARP. Se trata de la construcción de tramas de solicitud y respuesta ARP modificadas con el objetivo de falsear la tabla ARP (relación IP‐MAC) de una víctima y forzarla a que envíe los paquetes a un host atacante en lugar de hacerlo a su destino legítimo.

E-MAIL SPOOFING

E-Mail Spoofing es un término que describe  la actividad de correo electrónico fraudulenta en la cual la dirección de remitente y otras partes de la cabecera del correo son cambiadas para aparecer como si el e-mail proviene de una fuente diferente. E-Mail Spoofing es una técnica comúnmente usada para el SPAM y phishing. Cambiando ciertas propiedades del e-mail, como los campos From, Return-Path and Reply-To (que se encuentran en la cabecera del mensaje), un usuario mal intencionados puede hacer que el e-mail parezca ser de remitido por alguien que en realidad no es.

CONCLUSION

Visto todo esto, se comprueba como la facilidad, confiabilidad y operatividad de los estándares de internet para la comunicación por la red es a la vez la fuente de su peor pesadilla. La seguridad es un compromiso constante entre eficiencia, disponibilidad y a la vez, atención y cuidado perenne que puede bien estar en los límites de la paranoia.

EJEMPLO DE MAC SPOOFING

primero que todo activaremos nuestra tarjeta en modo monitor

#airmon-ng start wlan0

1.activar monitor

modo monitor activado

2.modo activado

ahora vamos a sniffear en busca de una red

#airodump-ng mon0

3.sniffear

seleccionamos la víctima

4.seleccion victima

miramos cual es la mac que tiene nuestra tarjeta en modo monitor

#ifconfig mon0

5.miramos mac original

ahora procedemos a desactivar el modo monitor, cambiar la mac y volver a activar el modo monitor

#ifconfig mon0 down  –> desactiva el modo monitor

#macchanger -m “mac de la victima” mon0 –>aqui hacemos el spoofing de la mac

#ifconfig mon0 up –>activamos de nuevo el modo monitor

6.desactivar,cambiar,activar

ahora veremos ya la mac spoofiada

#ifconfig mon0

7.mac spoofeada

 

BUENO AMIGOS ESO ES TODO SI ALGUNA SUGERENCIA O DUDA ACÁ DEJO MI CORREO ajma.2309@gmail.com ESPERO LES GUSTE

bibliográfica: http://hacking-etico.com/2010/08/26/hablemos-de-spoofing/

Publicado en Conferencias, Seguridad informática | 3 comentarios

Charla acerca de seguridad informática y Hacking en general por Goalkeeper112!

Goalkeeper112

Buenas Aqui la primera parte de la charla de seguirad informática que voy a estar dictando , ayer no se pudo continuar por problemas de internet, pero el viernes con seguridad seguimos –> recuerden ver la primera parte y unirse al evento Evento y aquí el video –> Charla

 

 

Publicado en Seguridad informática, Sin categoría, Tutoriales | Deja un comentario

¡Ingenieria Social y BeEF como vector de ataque!

Logo Umbrella 200ppp

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us
Para los que quieran el tutorial en formato PDF aquí les dejo el Link –> https://mega.co.nz/#!WNtUWJwB!Y8XrXlxd5rX4lbqXouwFqWgxbYR8An0X41J-EMY9tqo

 

Aquí la charla de Ingenieria social y BeEF como vector de ataque! Dictada ayer a nivel internacional! Ingenieria social y BeEF como vector de ataques

Publicado en Seguridad informática, Sin categoría, Tutoriales | Etiquetado , , | Deja un comentario

¿Qué es eso de Backend y Frontend? De Cristal La blog

 

 

 

 

Backend, frontend, diseño, UX, usabilidad, posicionamiento, estrategia, arquitectura y muchos otros terminos componen el diseño y desarrollo web moderno. Lejos está la época donde un “webmaster” hacía todo el trabajo.

Ahora es imposible crear un producto completo sin por lo menos un diseñador, un front y un back. A menos que seas un genio cuyos padres fueron asesinados, juraste venganza, estudiaste cinco años en un templo samurai de la W3C, destruiste el templo y volviste para cambiar el mundo. Con aplicaciones web.

Backend: Lado del servidor (PHP, Ruby on Rails, Django, Node.js, .NET)

Un programador tiende a ser backend. Es la labor de ingeniería que compone el acceso a bases de datos y generación de plantillas del lado del servidor. En backend se encargan de implementar cosas como MySQL, Postgres, SQL Server o MongoDB. Luego, un lenguaje como PHP o JSP, o frameworks como RoR, Django, Node.JS o .NET se conectan a la base de datos.

A través de estos lenguajes y frameworks se recibe, procesa y envía información al navegador del usuario. En código HTML (que crea el frontend) o enviando datos puros en XML, RSS o JSON, para ser procesados por Javascript.

En Facebook, por ejemplo, PHP manda la estructura básica del sitio web, pero son múltiples programas y servidores hechos en C++ o Erlang que procesan la información en tiempo real (como chat, comentarios, notificaciones) y las envían y reciben a través de Javascript en el navegador.

Frontend: Lado del cliente (HTML, CSS, HTML5, CSS3, Javascript, jQuery)

 

Los frontends tienden a ser programadores, pero hay diseñadores genios que también hacen frontend. Son los encargados de maquetar la estructura semántica del contenido (HTML), codificar el diseño en hojas de estilo (CSS) y agregar la interacción con el usuario (Javascript).

En la época actual los frontends tienen HTML5 y CSS3. Con HTML5, desde el frontend, es posible hacer geolocalización, dibujo vectorial, guardar datos en el disco del usuario, insertar audio y video, entre otras cosas.

Con CSS3, se pueden crear diseños altamente complejos sin la necesidad de imágenes cortadas, sólo usando código. Bordes redondeados, sombras, degradados, fondos múltiples, entre otros.

Por último, Javascript y sus frameworks añaden el componente de interactividad y conexión al servidor. Es posible comunicarse con el backend y la base de datos sin recargar la página usando AJAX o WebSockets, recibir esos datos y cambiar el diseño entero del sitio. jQuery hace todo esto fácil pero no es el único framework de Javascript

Diseño y usabilidad: Experiencia en la interacción del usuario

No todos los diseñadores web son frontends ni deben serlo. Ni todos los diseñadores son realmente buenos para web. Un diseñador web sabe de interfaces, entiende la interacción con el usuario. Imagina las animaciones, las transiciones, los cambios en la aplicación. Sabe donde usar una caja de texto, un botón, un radio button, un checkbox, un desplegable. Aunque no sepa programarlos y sólo los dibuje en Photoshop.

Pero además del diseñador hay personas dedicadas a entender el flujo de la interactividad. El camino que los usuarios toman y cómo simplificarla al máximo. Este tipo de personas son expertos en usabilidad y UX (User Experience).

Arquitectura de información y SEO: Estrategias de contenido, organización y estructura

Los sitios con menu: “Home Quienes Somos Productos Servicios Contactanos” se quedaron atrapados en el siglo XX por falta de un arquitecto de información.

La web no sólo son bases de datos, colores bonitos y muchos links. La web tiene información, interacción, contenido ofrecido por los sitios y contenido generado por los usuarios. ¿Cómo se organiza ese contenido? ¿Cómo es presentado? ¿Qué tan profunda es la organización de ese contenido? ¿Es mejor simple y directo? ¿Es mejor un arbol de navegación complejo? ¿O es mejor dejar que el buscador sea la interfaz?

Los arquitectos de información y la gente de SEO (Search Engine Optimization) se dedican a definir cómo se organiza todo el contenido, cómo se distribuye y sobre todo, como darle a los usuarios la oportunidad de descubrir lo nuevo y lo más relevante para ellos.

 

En proyectos aun más complejos, los roles aumentan. Hay personas de control de calidad, gente dedicada a las bases de datos. Otros sólo a servidores. Personas dedicadas al seguimiento financiero del proyecto. Vendedores. Ejecutivos de cuenta. Admins de la comunidad. Editores. Escritores.

Pero para la mayoría de proyectos, con este equipo tienes.

Publicado en Sin categoría | Deja un comentario

¿Quién es el Hacker?

“El hacker es un artista, un artista que no siempre es comprendido, que no siempre es deseado; pero es un artista tan valiente para hacer lo que lo hace feliz. Su arte lo invita a superarse, lo invita a adaptarse, a evolucionar. Su arte es un reto que el enfrenta con valentía, y aunque falle nunca se rinde. Es un artista que aspira a ser cada día mejor, aunque no todos entiendan su arte, el sigue porque él lo entiende y lo ama a tal punto de querer ser el primero y el único en lograr algo que nadie a logrado, aspira a la grandeza. Hay algunos que se llaman “artistas” y solo son imitadores, pero también hay artistas ocultos.
Quiero llegar a llamarme artista, así que no me rendiré hasta que pueda hacer lo que nadie pudo. El artista se guía por eso “si alguien pudo, yo también puedo….” y no, “seré la primera en lograrlo”, si bien parece más poesía que otra cosa yo lo veo de esa forma… suena egoísta pero quién no quiere ser el mejor?. Querer ser el mejor no es malo… cada uno de nosotros aprendió de alguien que logro lo que nadie había logrado, aparte de querer ser el mejor, que ser el primero y explicar ¿cómo se logró?. Luego de tanto trabajo llega esa recompensa tan anhelada. Pero hay algo importante y es no creerte más que otros… no subestimar a nadie y aprender a encontrar al menos una enseñanza en cada situación, en cada persona por más inexperta que sea esta. El hacking es arte, es lo que hace el artista (hacker) el cual le da vida a números y letras que sueltos no tendrían sentido. El artista crea un mundo de posibilidades donde todo tiene un sentido, una lógica la cual nunca falla. Es un arte preciso en el cual no solo cuenta la cantidad de conocimientos que se tenga, también cuenta como el artista le da forma y lo aplica para lograr algo que es maravilloso aunque no todos tengan la capacidad de verlo. Es un arte que se renueva, que avanza que no para por nada ni por nadie, es un arte que solo puede ser entendido por un artista eso es para mí el hacking.”Logo Umbrella 200ppp

Publicado en Creatividad | 1 comentario

Tor ¿Para que ocultarse?

image

Primero para los que no conozcan a que es tor    “The Onion Router, en su forma abreviada Tor, es un proyecto cuyo objetivo principal es el desarrollo de una red de comunicaciones distribuida de baja latencia y superpuesta sobre internet en la que el encaminamiento de los mensajes intercambiados entre los usuarios no revela su identidad, es decir, su dirección IP (anonimato a nivel de red) y que, además, mantiene la integridad y el secreto de la información que viaja por ella. Por este motivo se dice que esta tecnología pertenece a la llamada darknet o red oscura también conocida con el nombre de deep web o web profunda.”  Está red se basa un software libre que realiza la anonimización en forma de capas de cebolla en la que para realizar una conexión anónima se pasan por distintas maquinas antes de obtener una nueva identidad.

Esto está bien para ocultarse y no querer dejar huellas, pero si en verdad no quieres que esto pase, lo dicen expertos “No te conectes a internet” por que a pesar de que te da una supuesta sensación de anonimato en algún momento vas a dejar huellas.

Esta es una excelente herramienta para un pentest de caja negra porque te ayuda a emular el comportamiento de un atacante y así probar tu firewall, tú sistema de detección de intrusos, entre otros. Pero después de realizado eso merece la pena seguir ocultándonos, si bien el que no la debe no la teme, entonces no nos necesitamos esconder, más bien levantariamos sospechas de que estamos en algo ilegal, así que ánimos dejáis el miedo y naveguen libremente por internet sin ponernos a escondernos ni nada sino más bien mostrándonos seguros y nada sospechosos!

Publicado en Lecturas, Sin categoría | Etiquetado | Deja un comentario

Creación de contenido en grupos!

umbrellaslide

 

Buenas tardes queridos lectores y miembros de la comunidad el presente post tiene como finalidad hacer llegar una idea propuesta por algunas personas de la comunidad, la idea es la siguiente: Próximamente le tendremos una sorpresa a todos en está comunidad pero para poderla llevar acabo debemos tener material documentado acerca de cualquier areá de la informática, entonces que buscamo gente preparada y dispuesta a desarrollar documentos acerca del tema, herramienta o idea que les apssione, ¿Cual es la dinámica? Sencilla organizarse en grupos o trabajar por separado luego de terminado el documento montarlo en la comunidad o enviarlo por correo a cualquiera de editores de contenido, todo este sera recopilado y almacenado en algo así como una biblioteca en la nube a la que tenga acceso quien sea, aquellos interesados en el tema pueden comentar por está vía o por la comunidad de google+ acerca de que quiere hablar y con gusto lo aceptaremos.

Un saludo desde Venezuela Goalkeeper112.

Publicado en Sin categoría | Deja un comentario