jueves, 25 de febrero de 2010

SSh

SSH

es un programa que permite conectarse de manera segura a otra computadora on el objetivo de compartir recursos la sintaxis del comando es la siguiente:
ssh usuario @compuatora

----------------
L507:~ alumno$ ssh darwin@192.168.2.150
Password:
Last login: Thu Feb 25 07:53:44 2010
Alf-2:~ darwin$
-----------------
Obtener las Instrucciones

Alf-2:~ darwin$ cd desktop darwin
Alf-2:desktop darwin$ ls
instrucciones
Alf-2:desktop darwin$ cat instrucciones
Para ganar un punto extra, toque la puerta tres veces. Pero ¡corra!, que sólo el primero en hacerlo lo obtendrá
Alf-2:desktop darwin$
Alf-2:desktop darwin$

---------
cerrar un programa

Ps -U darwin
kill 619

-------
abrir aplicacion

Alf-2:desktop darwin$ open /applications/itunes.app
Alf-2:desktop darwin$

-------------
para que hable

Alf-2:desktop darwin$ say hello
Alf-2:desktop darwin$

SFTP

es un protocolo que sirve parea transferir archivos de manera segura.

L507:~ alumno$ sftp darwin@192.168.2.150
Connecting to 192.168.2.150...
Password:

copiar archivos de darwin a mi maquina

sftp> get

de mi maquina a la de darwin
put

-----------
Obtener instrucciones

L507:~ alumno$ cd desktop
L507:desktop alumno$ sftp darwin@192.168.2.150
Connecting to 192.168.2.150...
Password:
sftp> cd desktop
sftp> ls
instrucciones
sftp> get instruciones
Couldn't stat remote file: No such file or directory
File "/Users/darwin/Desktop/instruciones" not found.
sftp> get instrucciones
Fetching /Users/darwin/Desktop/instrucciones to instrucciones
sftp>



miércoles, 24 de febrero de 2010

Sentencias y bloques

La sentencia es la representacion de una acción, concecuencia de acciones ejecutables (operaciones)

Los bloques son grupos de sentencias delimitadas por llaves.

Método main

Es el punto de entrada al programa y la ejecución siempre inicia en el método main.
El método main debe ser:
* declarado static y en una clase coestructura, debe de regresar void o int, debe de ser escrito Main con mayúscula y puede no tener parámetros o recibir un arreglo de strings.


Elementos léxicos de un programa

1.- Comentarios --> anotaciones para documentar el programa. Existen dos formas de colocar comentarios:
// para un renglón
/*para más de un renglón*/

2.- Palabras reservadas --> palabras que tienen un determinado significado para el compilador.

3.- Identificadores --> nombres que los programadores dan a los diferentes elementos de un programa.
Deben de tener las siguientescaracterísticas:
* letras, caracteres, dígitos
* diferentes a las palabras reservadas
* no comenzar con dígitos
* sensible a mayúsculas y minúsculas
* debe contener nombres significativos

4.- Operadores y Punteros --> los operadores indican las operaciones y los punteros agrupan o separan. (ejemplo: { })

5.- Literales --> valores constantes escritos directamente en el programa.

6.- Directivas del preprocesador --> instrucciones al compilador. Comienzan con un signo de #

martes, 23 de febrero de 2010

C#

PROGRAMAR
Es hacer que la computadora obedesca una serie de instrucciones bien detalladas. Usando un lenguaje de programacion indicamos a la computadora que tiene que suceder en cada momento y como tiene que reaccionar ante la interaccion del usuario.
Se conoce como programación de computadoras a la implementación de un algoritmo en un determinado lenguaje de programación, conformando un programa.

PROGRAMA
Concepto desarrollado por Von Newmann en 1946. Se define como la union de una secuencia de instrucciones que una computadora puede interpretar y ejecutar y una o varias estructuras de datos que almacenan la informacion de datos independiente de las estructuras que dicha secuencia de instrucciones maneja.

Segùn Niklaus Wirth un programa esta formado por algoritmos y estructuras de datos.

LENGUAJE DE PROGRAMACION
Es la traduccion del lenguaje hombre al lenguaje màquina el cual tiene un numero limitado de datos y palabras. esta constituido por un conjunto de reglas:
1. sintacticas: especifican la formacion de instrucciones validas
2. semanticas: especifican el significado de estas instrucciones

Antecedentes de C#

La historia de C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970 con el objetivo de recodificar el sistema operativo UNIX, que hasta el momento se había programado en ensamblador. La pega del ensamblador era que lo ligaba a una serie de máquinas concretas, por lo que conseguir un lenguaje abstraído de cada máquina conseguiría una portabilidad del sistema muchísimo mayor. A su vez B fue inspirado en el BCPL de Martin Richard, diseñado tres años antes.

En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien diseña finalmente C a partir del B de Thompson, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior. Es un lenguaje que permite realizar una programación estructurada economizando las expresiones, con abundancia de operadores y tipos de datos (aunque los básicos sean pocos), codificando en alto y bajo nivel simultáneamente, reemplazando ventajosamente la programación en ensamblador y permitiendo una utilización natural de las funciones primitivas del sistema. Además, no está orientado a ningún área en especial y sobre todo consigue un código objeto altamente optimizado que repercute en que los programas son muy rápidos.

Durante muchos años no existen reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso dura seis años y a principios de los 90 el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a comercializarse con el nombre ANSI C.

Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup (también de Laboratorios Bell de AT&T). Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales (de SIMULA67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto del programa (de ALGOL68), y sobre todo, un auténtico motor de objetos con herencia múltiple que permite combinar la programación imperativa de C con la programación orientada a objetos. Estas nuevas características mantienen siempre la esencia del lenguaje C: otorgan el control absoluto de la aplicación al programador, consiguiendo una velocidad muy superior a la ofrecida por otros lenguajes.El siguiente hecho fundamental en la evolución de C++ es sin duda la incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening. Esta librería de clases con contenedores y algoritmos genéricos proporciona a C++ una potencia única entre los lenguajes de alto nivel.

Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.

La última variante que ha surgido de C es el moderno C#. En el año 2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que servirá de lenguaje principal de la plataforma. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia múltiple) con la plena orientación a objetos del segundo. La orientación a objetos es tal que el propio programa está encapsulado en una clase.Actualmente C# se encuentra entre los 10 lenguajes más utilizados. A pesar de su corta historia, ha recibido la aprobación del estándar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO.

procesos

ps -U alumno: procesos que usuario alumno corren en ese momento

PID proces id numero que identifica a dicho proceso
kill 1453 (PID) de la calculadora y se cierra

L507:~ alumno$ open /applications/calculator.app
se abre la aplicacion de calculadora
SCRIPTS

Es una Secuencia de instrucciones almacenadas en un archivo que el sistema operativo puede ejecutar


Un Script puede contener:

1) comandos de Unix
2) variables, condicionales y cualquier otra herramienta de un lenguaje de programación

En cualquier caso un Script se puede escribir en cualquier editor de textos

------------------
L507:~ alumno$ nano

L507:~ alumno$ chmode 777 pepe
-bash: chmode: command not found
L507:~ alumno$ chmod 777 natalie
chmod: natalie: No such file or directory
L507:~ alumno$ chmod 777 pepe
L507:~ alumno$ ls -l


jueves, 18 de febrero de 2010

ACL

ACL (Lista de control de acceso)

Una Lista de Control de Acceso o ACL (del ingles, Access Control List) es un concepto de seguridad informatica usado para fomentar la separacion de privilegios. Es una forma de determinar lospermisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace el pedido.

Las ACLs permiten controlar el flujo del tráfico en equipos de redes, tales como routers y switches. Su principal objetivo es filtrar tráfico, permitiendo o denegando el tráfico de red de acuerdo a alguna condición. Sin embargo, también tienen usos adicionales, como por ejemplo, distinguir "tráfico interesante" (tráfico suficientemente importante como para activar o mantener una conexión) en IDSN.

Proceso de configuración de ACL

El proceso de creación de una ACL se lleva a cabo creando la lista y posteriormente asociándola a una interfaz entrante o saliente.
Configuración de ACL estándar

Router(config)#access-list[1-99][permit|deny][dirección de origen][mascara comodín]

Donde:

1-99 Identifica el rango y la lista.

Permit|deny indica si esta entrada permitirá o bloqueará el tráfico a partir de la dirección especificada.

Dirección de origen identifica la dirección IP de origen.

Mascara comodín o wildcard identifica los bits del campo de la dirección que serán comprobados.

La mascara predeterminada es 0.0.0.0 (coincidencia de todos los bits).
Asociación de la lista a una interfaz

Router(config-if)#ip access-group[nº de lista de acceso][in|out]

Donde:

Número de lista de acceso indica el número de lista de acceso que será aplicada a esa interfaz.

In|out selecciona si la lista de acceso se aplicará como filtro de entrada o de salida.
Ejemplo de una ACL estándar denegando una red:

Router#configure terminal
Router(config)#access-list 10 deny 192.168.1.0 0.0.0.0
Router(config)#access-list 10 permit any
Router(config)#interface serial 0
Router(config-if)#ip access-group 10 in

Se ha denegado al host 192.168.1.0 y luego se ha permitido a cualquier origen,
Posteriormente se asocio la ACL a la interfaz Serial 0.
Configuración de ACL extendida

El proceso de configuración de una ACL IP extendida es el siguiente:

Router(config)#access-list[100-199][permit|deny][protocol][dirección de origen][mascara comodín][dirección de destino][mascara de destino][puerto][establisehed][log]
100-199 identifica el rango y número de lista
Permit|deny: indica si la entrada permitirá o bloqueara la dirección especificada.
Protocolo: como por ejemplo IP, TCP, UDP, ICMP

Dirección origen y destino: identifican direcciones IP de origen y destino.

Mascara wildcard origen y mascara destino: Son las mascaras comodín. Las 0 indican las posiciones que deben coincidir, y los 1 las “que no importan”.

Puerto:(opcional) puede ser por ejemplo: lt (menor que), gt (mayor que), eq (igual a), o neq (distinto que) y un número de puerto de protocolo correspondiente.

Establisehed: (opcional) Se usa solo para TCP de entrada. Esto permite que él rafico TCP pase si el paquete utiliza una conexión ya establecida (por ejemplo posee un conjunto de bits ACK)

Log: (opcional) Envía un mensaje de registro a la consola a un servidor syslog determinado.

Algunos de los números de puertos más conocidos:

20 Datos del protocolo FTP
21 FTP
23 Telnet
25 SMTP
69 TFTP
53 DNS

Asociación de la lista a una interfaz

Router(config-if)#ip access-group[nº de lista de acceso][in|out]

Donde:

Número de lista de acceso indica el número de lista de acceso que será aplicada a esa interfaz.

In|out selecciona si la lista de acceso se aplicará como filtro de entrada o de salida.

Ejemplo de una ACL Extendida denegando un host hacia el puerto 80 de una red:

Router(config)#access-list 120 deny tcp host 204.204.10.1 any eq 80
Router(config)#access-list 120 permit ip any any
Router(config)#interface serial 1
Router(config-if)#ip access-group 120 in

Se ha denegado al host 204.204.10.1, (identificándolo con la abreviatura “host”) hacia el puerto 80 de cualquier red de destino (usando el termino any). Posteriormente se permite todo trafico IP. Esta ACL se asocio a la interfaz Serial 1 como entrante.
Aplicación de una ACL a la linea de telnet

Para evitar intrusiones no deseadas en las conexiones de telnet se puede crear una
lista de acceso estándar y asociarla a la Line VTY. El proceso de creación se lleva a cabo como una ACL estándar denegando o permitiendo un origen hacia esa interfaz. El modo de asociar la ACL a la Línea de telnet es el siguiente:


sábado, 6 de febrero de 2010

Capitulo 8 Cisco!!!

plan de recuperacion de desastres


seguridad de transmision inalambrica