domingo, 21 de diciembre de 2014

WIRESHARK

¿QUE ES Y PARA QUÉ SIRVE WIRESHARK?

Wireshark, antes conocido como Ethereal, es un analizador de protocolos utilizado para realizar análisis y solucionar problemas en redes de comunicaciones, para desarrollo de software y protocolos, y como una herramienta didáctica.


Es un capturador/analizador de paquetes de red, lo que nos permitirá ver a un nivel bajo y detallado que esta pasando en nuestra red.Posee una interfaz gráfica y muchas opciones de organización y filtrado de información. Así permite ver todo el tráfico que pasa a través de una red (usualmente una red Ethernet,aunque es compatible con otras )


Se puede analizar la información capturada, a través de los detalles y sumarios por cada paquete. Wireshark incluye un completo lenguaje para filtrar lo que queremos ver y la habilidad de mostrar el flujo reconstruido de una sesión de TCP.


Wireshark es software libre, y se ejecuta sobre la mayoría de sistemas operativos Unix y compatibles, incluyendo Linux, Solaris,FreeBSD, NetBSD, OpenBSD, Android, y Mac OS X, así como en Microsoft Windows.


CARACTERÍSTICAS

-Es un software de codigo abierto.

-Esta disponible para UNIX y WINDOWS.

-La carpeta de los paquetes de datos los hace en tiempo real de una interfaz de red.

-La informacion de protocolos de los paquetes es muy detallada.

-Nos permite abrir y guardar datos de paquetes capturados.

-Nos permite importar y exportar datos de paquetes desde y hacia muchos otros programas de captura, etc.

Instalación sobre Linux

Para poder instalar wireshark sobre linux solo es necesario ir hacia la terminal y digitar lo siguiente:

sudo apt-get install wireshark



Y seguir las instrucciones de instalación







Finalmente debemos recordar que para poder trabajar en wireshark es necesario ejecutarlo en modo superusuario (sudo)
de modo que debemos ejecutralo de la siguiente manera: sudo wireshark





Y obtendremos la siguiente interfaz




¿Cómo seleccionar la interfaz a escuchar?

Podemos seleccioner la interfaz a escuchar dando clic sobre alguna de las opciones de la ventarna capture (eth0, nflog, etc.)


Filtrado de paquetes

Aplicar el filtro se hace con el propósito de que el número de paquetes visualizados o capturados se reduzca a únicamente los que son de interés para el usuario.Limitando así el análisis únicamente a los protocolos, direcciones IP,tiempos y rangos que se estén examinando.Le damos clic en la OPCIÓN CAPTURE, luego CAPTURE FILTERS y presionamos enter

Cada vez que realizamos una captura Wireshark nos entrega una gran cantidad de detalles de los datos los mismos que pueden agregarse en estas columnas desde elmenú Edit->Preferences, por defecto se tienen: 

N°.:posición del paquete en la captura. 
TIME:muestra el Timestamp del paquete
SOURCE:dirección origen del paquete.
DESTINATION:dirección destino del paquete. 
PROTOCOL:nombre del protocolo del paquete. 
INFO:información adicional del contenido del paquete.



Para filtrar paquetes icmp y http solo es necesario colocar en la barras de filtros cualquiera de las opciones que deseemos .


A continuación describiremos ICMP y HTTP


ICMP (Control Message Protocol) es uno de los protocolos de la capa de red en el modelo ISO/OSI. Maneja la función de control del funcionamiento correcto de la red, es utilizado para enviar todo tipo de mensajes de nivel bajo, que conciernen las irregularidades detectadas durante las conexiones de red. Prácticamente toda la comunicación entre los ordenadores u otros dispositivos realizadas con el uso del protocolo ICMP no es visible para el usuario final, las únicas excepciones aquí son las herramientas ping y traceroute.


HTTP de HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) es el método mediante el cual se transfieren las páginas web a un ordenador.



También podemos filtrar mediante una dirección IP:

¿Qué es una dirección IP? Una dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a una interfaz (elemento de comunicación/conexión) de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol)



¿Cómo filtrar por direccion IP origen y IP destino?

Para filtrar por direccion IP origen o IP destino debemos digitar lo siguiente en la barra de filtros:

-Filtro por direccion IP origen se digita ip.src==(IP origen)
para mi caso ya que solo me sale una opcion para filtrar por una dirección IP origen debería escribir en la barra de filtros:
ip.srr==10.0.2.15

-Filtro por direccion IP destino se digita ip.dst==(IP destino)
para mi caso sería:
ip.dts==186.101.109

 ¿Cómo filtrar por tipo de servicio transporte TCP y UDP?

Para realizar el filtrado por tipo de servicio transporte al igual que en los casos anteriores solo debemos digitar en la barra de filtrosTCP o UDP según necesitemos y dar enter.

Les dejo un video para que puedan observar de mejor manera como utilizar wireshark :)
http://www.youtube.com/watch?v=vh6q7K_2FHw



miércoles, 12 de noviembre de 2014

COMANDOS CRON Y CRONTAB

CRON

Es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

Cómo funciona?

Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron en búsqueda de tareas que se deban cumplir. Como usuario podemos agregar comandos o scripts con tareas a cron para automatizar algunos procesos. Esto es útil por ejemplo para automatizar la actualización de un sistema o un buen sistema de respaldos.

Una expresión CRON :es una cadena de texto compuesta por 6 o 7 campos separados por un espacio en blanco que se utiliza para representar instantes o periodos de tiempo.

Los campos tienen un orden concreto a la hora de indicar a que nos estamos refiriendo."Segundos" "Minutos" "Horas" "Día del mes" "Mes" "Día de la semana" "Año"

Campo
¿Es obligatorio?
Valores Permitidos
Caracteres especiales
Segundos
SI
0-59
, - * /
Minutos
SI
0-59
, - * /
Horas
SI
0-23
, - * /
Día del mes
SI
1-31
, - * ? / L W
Mes
SI
1-12 o JAN-DEC
, - * /
Día de la semana
SI
1-7 o SUN-SAT
, - * ? / L #
Año
NO
Vacio | 1970-2099
, - * /








* :    Selecciona todos los valores de un campo (por ejemplo cada hora, cada minuto
? :    Selecciona sin un valor específico cuando se puede utilizar (es similar a decir cualquiera)
- :     Selecciona rango de valores (por ejemplo 4-6 que es de 4 a 6)
, :     Selecciona valores específicos (por ejemplo MON,WED,FRI es decir los lunes, miércoles y                  viernes )
/ :     Selecciona incrementos a partir del primer valor (por ejemplo 0/15 que es cada 15 minutos                  comenzando desde el minuto 0 -> 15, 30 ,45)}                                                                                # :   Selecciona la posición de un día del mes (por ejemplo 6#3 -> el tercer viernes del mes)

L (Día del mes) : Selecciona el último día del mes
L (Día de la semana) : Selecciona el último día de la semana (7 / sabado / SAT)
XL (Día de la semana) : Seleccona el último día de ese tipo del mes (por ejemplo 6L -> el último viernes del mes)
W : Selecciona el día de la semana (de lunes a viernes) más cercano al día (weekday)
LW : Selecciona el último weekday del mes
Algunos ejemplos de expresiones cron:

Expresión cron
Descripción
15 * * * * ?
Se ejecuta cada 15 segundos
15 0 0 * * ?
Se ejecuta a las 00:00:15
0 15 * * * ?
Se ejecuta cada 15 minutos
0 0 15 * * ?
Se ejecuta cada día a las 15:00:00
0 15 15 ? * *
Se ejecuta cada día a las 15:15:00
0 15 15 * * ?
Se ejecuta cada día a las 15:15:00
0 15 15 * * ? *
Se ejecuta cada día a las 15:15:00
0 15 15 * * ? 2010
Se ejecuta cada día a las 15:15:00 durante el 2010
0 0/15 15 * * ?
Se ejecuta cada 15 minutos a partir de las 15:00:00
0 10/15 15 * * ?
Se ejecuta cada 15 minutos a partir de las 15:10:00
0 0/15 15,17 * * ?
Se ejecuta cada 15 minutos a partir de las 15:00:00 hasta las 17:45:00
0 0-15 15 * * ?
Se ejecuta cada 15 minutos empezando a las 15:00:00 y terminando a las 15:15:00


 Crontab
Crontab es un archivo de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario. Crontab verificará la fecha y hora en que se debe ejecutar el script o el comando, los permisos de ejecución y lo realizará en el background. Cada usuario puede tener su propio archivo crontab, de hecho el /etc/crontab se asume que es el archivo crontab del usuario root, cuando los usuarios normales (e incluso root) desean generar su propio archivo de crontab, entonces utilizaremos el comando crontab.
Crontab es la manera mas sencilla de administrar tareas de cron en sistemas multiusuario, ya sea como simple usuario de sistema o usuario root.


Formato:                                          crontab -<opciones>


EJEMPLO:
Realice un script que realice un respaldo de todos los archivos de configuración de mi sistema operativo (/etc/), el mismo se llamara etc.backup y se encontrará en el directorio home del usuario y además debe actualizarse todos los días lunes a las 7 am
http://blog.desdelinux.net/cron-crontab-explicados/
 http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=expresionesCron
 http://rm-rf.es/crontab-modo-de-uso-ejemplos

domingo, 2 de noviembre de 2014

VARIABLE DE ENTORNO PATH

Para entrar en detalle de la variable de entorno PATH debemos tener en cuenta los siguientes conceptos:

Ruta Relativa: es el directorio en el que un usuario está trabajando actualmente

Una Ruta Absoluta: es una dirección relativa al directorio raíz

¿Qué es una variable de entorno?

Una variable de entorno es un objeto designado para contener información usada por una o más aplicaciones, es decir forman un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora.

VARIABLE DE ENTORNO PATH

Esta variable contiene una lista de directorios separados por ":" en la cual el sistema buscará los archivos ejecutables, es decir  muestra una lista de rutas de acceso a los directorios que contienen archivos ejecutables. Al introducir el nombre de un ejecutable que no se encuentre en uno de los directorios listados, el sistema no lo encontrará a menos que se introduzca la ruta absoluta

Ahora bien, cuando introducimos un comando  el sistema busca un archivo con ese nombre en todos los directorios contenidos en la variable PATH. En caso de no encontrarlo se retorna un mensaje de error especificando que el comando no ha sido encontrado. Para saber los directorios contenidos en PATH debemos escribir en la consola:
echo $PATH

Para mostrar el contenido de una variable en el shell debe escribir:

echo $variable

¿Para qué utilizaremos la variable PATH?

Esta variable tiene varias aplicaciones de las cuales analizaremos :

EXPORTAR UN DOCUMENTO:

Esta utilidad es muy importante ya que nos permite ejecutar un programa desde cualquier directorio, este cambio ´puede ser para la sesión actual o para sesiones futuras

Para exportar nuestro programa vamos a necesitar nuestra ruta absoluta
Para que la variable PATH sea temporal (dure solamente para la sesión actual) necesitaremos el siguiente formato:

export PATH=$PATH:(la ruta absoluta de nuestro programa)
echo $PATH

O su equivalente:

 PATH=$PATH:(la ruta absoluta de nuestro programa)
export PATH
echo $PATH


Si deseamos que este cambio sea de forma permanente necesitaremos de bash_profile del usuario( /.bashrc ), el mismo es un archivo oculto en el directorio home de cada usuario que define variable ya sea específica o de entorno y los programas de inicio para ese usuario de modo que el terminal lee y ejecuta comandos desde ~/.bashrc,


Su formato será:

echo 'export PATH=$PATH:(la ruta absoluta de nuestro programa)' >> /home/user/.bashrc

De este do nuestra variable PATH contendrá de forma permanente el directorio que le hemos añadido 


Espero que esta informacion les haya resultado útil :)

jueves, 16 de octubre de 2014

Arquitectura del Sistema informatico RASPBERRY PI



Para desarrollar el tema a tratar debemos conocer ciertos conceptos básicos como son:

¿QUÉ ES LA ARQUITECTURA DE UN SISTEMA INFORMÁTICO? 
Cuando hablamos de la arquitectura de un  sistema informático nos referimos a  toda una estructura y a los detalles necesarios para que ésta funcione. Por tanto dentro de  la arquitectura de ordenadores están: microprocesadores, circuitos y programas del sistema (programas que permiten que funcione el sistema). También se puede decir que  la arquitectura de un sistema informático se refiere a la combinación de hardware y software básico que comunica los aparatos de una red informática.

¿QUÉ ES EL RASPBERRY PI ?

EL Raspberry Pi  es  un ordenador de una placa (hardware), es decir es una computadora completa en solo circuito, este fue creado con el objetivo de estimular la enseñanza de las ciencias de la computación ya que al tener un bajo costo todos podemos acceder a este y crear nuestros propios proyectos.

Un motivo  importante para utilizar el Raspberry Pi es que Al estar cursando la materia de Sistemas operativos este es muy efectivo ya que nos permite crear aplicaciones dentro de sistema operativos basados principalmente en Linux por lo que nos resultara familiar trabajar con él , además nos servirá para modificar el hardware de nuestro computador.

A continuación  vamos a analizar su arquitectura para lo cual primeramente debemos conocer:


ESTRUCTURA INFORMÁTICA RASPBERRY PI (MODELO B)




Para conocer su estructura informática de manera clara debemos ver este video:

Después de ver el video aclararemos ciertos detalles por ejemplo:
El sistema está comprendido por: Broadcom BCM2835 (CPU + GPU + DSP + SDRAM + Puerto USB
La placa tiene una dimensión de8.5 cm por 5.3 cm, tiene  un chip integrado Broadcom BCM2835, que contiene un procesador ARM11 con varias frecuencia de funcionamiento de 700mHz hasta 1 GHz
Su procesador gráfico  es VideoCore IV, y además cuentan con 512 MB de memoria RAM.  En la placa nos encontramos además con una salida de vídeo y audio a través de un conector HDMI, con lo que conseguiremos conectar la tarjeta a dispositivos como   televisores o  monitores que cuenten con dicha conexión.
 En cuanto a vídeo se refiere, también cuenta con una salida de vídeo compuesto y una salida de audio. Posee una conexión Ethernet 10/100 y si necesitamos una conexión inalámbrica a internet podemos comprar un adaptador Wi-Fi USB  Los puertos tienen una limitación de corriente, por lo que si queremos conectar discos duros u otro dispositivos debemos   hacerlo a través de un hub USB con alimentación. Respecto  al  tipo de almacenamiento de este ordenador, se tiene que decir que  no tiene ninguno, pero en su parte inferior cuenta con un lector de tarjetas SD, lo que  da la posibilidad de introducir tarjetas de memoria de 1 GB o más.

Finalmente  la Raspberry Pi cuenta con una serie de conexiones o puertos de entrada y salida que nos permiten hacer todo tipo de interfaces hardware, como el control de otros dispositivos, encendido y apagado de luces, etc.

Para saber que sistemas operativos están disponibles  para Raspberry Pi podemos ir a la página oficial  http://www.raspberrypi.org/ y  cargarlo  en una tarjeta SD. 


Para concluir  el  Raspberry Pi es un dispositivo impresionante, que nos brindará infinitas posibilidades para el desarrollo de nuevas aplicaciones ya que  es ideal para aprender programación, hardware, software y tecnología en general y debemos recordar  que el único límite que tendremos será nuestra imaginación :)

sábado, 4 de octubre de 2014

INSTALACIÓN DEL SISTEMA OPERATIVO UBUNTU MEDIANTE VIRTUALBOX

Primeramente vamos a realizar este procedimiento ya que en la materia de Sistemas Operativos se necesita trabajar con el Sistema operativo Ubuntu de Linux, nosotros vamos a instalar Ubuntu desde una máquina virtual para lo cual necesitaremos VIRTUALBOX que es un software que sirve para para poder virtualizar o instalar los diversos sistemas operativos dentro del sistema operativo principal.

Es importante responder una pregunta que es ¿Porque instalar una máquina virtual? Claramente no es necesario instalar Ubuntu desde una máquina virtual ya que también se puede instalar de forma nativa, pero esto lo hacemos con el objetivo de no hacer ninguna partición en el disco  y de esta manera no generar riesgo de daño en nuestro sistema operativo principal.


Para iniciar este proceso es importante conocer las características de nuestro computador especialmente si es de 64 o 32 bits y la memoria RAM




Esto es importante ya que descargare la versión de VIRTUALBOX para 64 bits  para lo cual iremos al la pagina oficial
En este caso descargamos la primera opción que es para maquinas de 64 y 32 bits es decir VirtualBox 4.3.16

Después de haber instalado VIrtualBox siguiendo las instrucciones  vamos a empezar a crear una maquina virtual que en este caso vamos a intalar una maquina virtual de tipo Linux de 32 bits que es lo que me permite VirtualBox 



Por lo tanto descargaremos Ubuntu de 32 bits, para lo cual entraremos a la pagina oficial de Ubuntu  http://www.ubuntu.com/download/desktop y descargaremos la imagen ISO para la de 32 bits, recordemos que la imagen ISO es una unidad virtual de CD es decir, como si hiciéramos la instalación con un CD de instalación 


Debemos recordar instalar Ubuntu Desktop que  es la versión de Ubuntu para  escritorio, En este caso descargaremos la opción para 32 bits ,una vez descargada la imagen ISO de Ubuntu 
Seguiremos con la creación de la maquina virtual, después de haber puesto nombre a nuestra maquina seguiremos con la configuración de la misma en este caso le voy a asignar 1 Gb en la memoria RAM
Vamos a crear un disco duro virtual 


Escogemos la opción predeterminada
Y ahora vamos a escoger el tipo de memoria en este caso escogemos memoria Dinámica para que se vaya asignando la memoria según vayamos ocupándola, ademas voy a escoger 30 Gb de memoria en el disco ya que este sera el limite de la memoria dinámica



En este momento  ya sse ha creadola maquina virtual y es momento de configuarla

El siguiente paso es insertar la imagen ISO de Ubuntu, debemos escoger la opcion almacenamiento , seleccionar disco virtual y finalmente seleccionar la imagen ISO
Una vez configurada la maquina virtual damos click en iniciar y esperamos que se instale Ubuntu


Esperamos que se inicialice y seleccionamos la opción instalar ubuntu


Debemos revisar que cumplamos los requisitos para instala Ubuntu

Debemos escoger la opción que dice borrar disco ya que es una maquina virtual
Escogemos  Nuestra ubicación y el idioma del teclado del teclado

Finalmente escribimos nuestra información
Y finalmente después de haber instalado correctamente ingresamos mediante nuestro usuario y ya podemos utilizar Ubuntu

Espero que esta información les resulte útil ...... GRACIAS :)