domingo, 28 de febrero de 2010

miércoles, 24 de febrero de 2010

Elementos lexicos de un programa

1.- comentarios= Anotaciones para documentar el programa. Existen 2 formas para colocar los comentarios // para un renglon o /*para mas de un renglon*/.

2. Palabras reservadas= tiene un determinado significado para el compilador

3.- Identificadores= nombres que los programadores dan a los diferentes elementos deu un programa. Deben de tener las sig caracteristicas
-Letras, digitos o caracteres
-Diferentes a las palabras reservadas
-no comenzar con digitos
-Sensible a mayusculas y minusculas
-deben contener nombres sigificativos

4.- Operadores y punteros= los operadores indican las operaciones y los punteros agrupan o separan
ej. { }

5.- Literales= Valores constantes escritos directamente en el programa

6.-Directivas del preprocesador= Instrucciones al compilador, comienzan con #

SENTENCIAS Y BLOQUES

La sentencia es la representación de una acción o secuencia de acciones ejecutables (operaciones) o no ejecutables (declaraciones).

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 en una clase u estructura, debe regresar "void" o "int". Debe ser escrito
Main, y puede no tener parámetros y recibir un arreglo de Strings

lunes, 22 de febrero de 2010

c# antecedentes

El lenguaje B por Ken Thompson en 1970: recodificar el sistema operativo UNIX. Inspirado en el BCPL de Martin Richard, diseñado tres años antes.

En 1972 es Dennis Ritchie diseña finalmente C a partir del B, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior.

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.

1980 surge C++ de la mano de Bjarne Stroustrup (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.

Evolución de C++ incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening.

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++.


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.

c#

Programar

Hacer que la computadora obedesca una serie de intrucciones bien detalladas. Usando un lenguaje de programacion indicamos a la computadora que tiene que suceder a cada momento y como debe funcionar a la interaccion del usuario. Se conoce como programacion de computadoras a la implementacion de un adgoritmo en un determinad lengusje de terminacion conformando un programa.

Programa

Concepto desarrollado por Paull neuman por 1946 . se define como la union de una secuencia de instrucciones que una computadora ppueda interpretar y ejecutar y una o varias estructuras de datos que almacenan la info de datos independiente a las estructuras que dicha secuencia de instrucciones maneja.

Segun Niklaus Wirth un programa esta formado por adgoritmos y estructuas de datos.

Lenguaje de programacion

Es la traduccion del lenguaje hmbreal lenguaje maquina el cual tiene un numero limitado de datos y palabras. Esta constituido por un conjunto de reglas:
1.- Sintactitas=especifican la formacionde instrucciones validas.
2.- Semanticas= especifican el significado de estas instrucciones.


jueves, 18 de febrero de 2010

acl

Paso 1: Limitar el cliente A a una subred
Se le solicita limitar el cliente A a solamente la subred a la cual se encuentra actualmente vinculado. El cliente A necesita poder acceder al servidor A, pero no necesita acceso a Internet ni al servidor B. ¿Dónde colocaría la lista de acceso?


Paso 2: Limitar el acceso del cliente A al servidor A, pero permitir el acceso al servidor B y a Internet

Se le solicita que limite el acceso del cliente B al servidor A, pero el cliente B necesita acceso a Internet y al servidor B. ¿Dónde colocaría la lista de acceso?



Paso 3: Permitir que sólo el cliente A acceda a los routers solamente con el SSH

Se le solicitó asegurar el acceso a los routers sólo para el cliente A, que será la PC de administración para esos routers. Usted quiere limitar el acceso del cliente A a sólo el SSH y evitar el acceso a Telnet. ¿Dónde ubicaría la lista de acceso?

Ayuda: Se necesita más de una interfaz para más de un router para controlar el SSH y el acceso a Telnet a los routers.

cisco capitulo 8




.- ¿Qué son las ACL?


ACL significa Access Control List, y es un concepto de seguridad informática usado para fomentar la separación de privilegios. Es una forma de determinar los permisos 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 ISDN.


Fuente Info: http://es.wikipedia.org/wiki/Lista_de_control_de_acceso



2.- Proceso detallado 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:


router(config)#line vty 0 4

router(config-line)#access-class[Nº de lista de acceso][in|out]




Como eliminar las listas de acceso


Desde el modo interfaz donde se aplico la lista:


Router(config-if)#no ip access-group[Nº de lista de acceso]


Desde el modo global elimine la ACL