Bladeren bron

Rafa - introduccion y aclaración sobre clases

Rafael Arce Nazario 8 jaren geleden
bovenliggende
commit
a659593ee7
2 gewijzigde bestanden met toevoegingen van 9 en 3 verwijderingen
  1. 3
    0
      README-en.md
  2. 6
    3
      README-es.md

+ 3
- 0
README-en.md Bestand weergeven

@@ -123,6 +123,9 @@ Inside the payload, the IP packet contains various field, among them:
123 123
 
124 124
 In this laboratory experience, you will complete a simple packet sniffer that captures all the IP packets that flow through your laboratory computer, and some additional information of the packets.  Additionally, it detects the non encrypted requests of images in the web, and displays the images in the GUI.
125 125
 
126
+For the purposes of this lab, we will think of TIP packets as being a *specialization* of Ethernet packets.  As such, it is a good strategy to implement the IP packet as class that is *derived* from the Ethernet packet class through inheritance. Thus, the IP packet class will have all the data members and methods of the Ethernet class (for example, source and destination MAC addresses) plus additional data members and methods that apply specifically to IP Packets (for example source and destination ports).
127
+
128
+
126 129
 ---
127 130
 
128 131
 ---

+ 6
- 3
README-es.md Bestand weergeven

@@ -2,13 +2,14 @@
2 2
 
3 3
 ![header.png](images/header.png)  
4 4
 
5
-[Verano 2016 - Ive - Coralys]
5
+[Verano 2016 - Ive - Coralys - Rafa]
6
+
6 7
 
7 8
 La *programación orientada a objetos* (object oriented programming - OOP) es un paradigma de programación que promueve el diseño de programas en el que distintos objetos interactúan entre sí para resolver un problema. C++ es uno de los lenguajes de programación que promueve la programación orientada a objetos, permitiendo que los programadores creen sus propias clases desde cero o derivadas de otras clases existentes. Otros lenguajes que promueven OOP son Java, Python, JavaScript y PHP.   
8 9
 
9
-En OOP, cada objeto encapsula dentro de él ciertas propiedades sobre el ente que está modelando. Por ejemplo, un objeto que modela un *punto* encapsula dentro de sí las coordenadas *x* y *y* del punto que representa. Además, cada objeto permite realizar ciertas acciones sobre sí, con los *métodos* que contiene. Por ejemplo, un objeto de la clase *punto* puede realizar la acción de cambiar el valor de su coordenada *x*.
10 10
 
11
-Cuando la clase de objetos que necesitamos utilizar en nuestro programa no ha sido predefinida en el alguna librería, necesitamos declarar e implementar nuestra propia clase. Para esto, definimos *clases* que contengan datos con ciertas *propiedades* o *atributos*, y acciones que queremos hacer con esos datos por medio de *métodos* o *funciones miembro*. De esta manera, podremos organizar la información y los procesos en *objetos* que tienen las propiedades y métodos de una clase. En la experiencia de laboratorio de hoy, practicarás el definir una clase e implementar algunos de sus métodos, completando el analizador de redes (*sniffer*) simple. El sniffer captura todos los paquetes de protocolo de internet (IP) que fluyen a través de tu computadora en el laboratorio, y alguna información adicional de los paquetes.
11
+En este experiencia de laboratorio, practicarás la definición de clases y la implementación de sus métodos mientras completas un programa que implementa un analizador de redes (*network sniffer*) simple. Cada dato que tu computadora recibe y envía a través de la red se estructura como un paquete de red (“network packet”). El analizador de redes es una aplicación comúnmente utilizada por especialistas de redes y *hackers* para inspeccionar esos paquetes. El software escucha las comunicaciones que pasan por el interfaz de redes de tu computadora y las presenta como datos en formato estructurado. Cada paquete contiene múltiples informaciones necesarias para garantizar su comunicación, tales como la dirección de fuente y destino. Por esto, es común en programación representar los paquetes usando objetos u otros tipos de data estructurada. En los ejercicios de este laboratorio crearás clases para paquetes de red. Una vez las clases y sus métodos hayan sido correctamente implementados, podrás correr la aplicación del analizador de redes y ver con lujo de detalle las comunicaciones que pasan por tu interfaz de redes cada vez que accedes una página web. 
12
+
12 13
 
13 14
 
14 15
 ## Objetivos:
@@ -131,6 +132,8 @@ Dentro del "payload", el paquete de IP contiene varios campos, entre ellos:
131 132
 
132 133
 En esta experiencia de laboratorio completarás un sniffer de paquetes sencillo que captura todos los paquetes de IP que fluyen a través de tu computadora de laboratorio, y alguna información adicional de los paquetes.  Adicionalmente, detecta las solicitudes no encriptadas de imágenes en la web, y despliega las imágenes en el GUI.
133 134
 
135
+En este laboratorio, pensaremos en los paquetes de IP como una *especialización* de los paquetes de Ethernet.  Por lo tanto, implementarás la clase de paquetes IP como derivada de la clase de los paquetes Ethernet (usando herencia). De este modo, la clase para paquetes IP tendrá todos los miembros de datos y métodos de la clase de paquetes de Ethernet (por ejemplo, dirección MAC de fuente y destino) en adición de los datos y métodos particulares a los paquetes de IP (por ejemplo, los puertos de fuente y destino).
136
+
134 137
 ---
135 138
 
136 139
 ---