Agenda: ejercicios-analisis-local.txt

File ejercicios-analisis-local.txt, 9.2 KB (added by hervey, 9 years ago)
Line 
1Gestion y Monitoreo de Redes
2Analisis Local de su Red
3
4Notas:
5------
6* Comandos que empiezan con un "$" implica que deberia ejecutar el comando
7  como un usuario general - no como root.
8* Comandos que empiezan con un "#" implica que deberia trabajar como el usuario root.
9* Comandos con lineas mas especificas (como "GW-RTR>" o "mysql>") implica que esta
10  ejecutando el comando en un equipo remoto o dentro otro programa.
11* Si una linea termina con un "\" esto indica que el comando sigue en la proxima
12  linea y Ud. deberia tratar el comando si como fuera en una sola linea.
13
14Exercicios Parte I
15----------------
16
170. Haz un log in en su PC o abre una ventana de terminal como el usuario sysadmin.
18
19
20Midiendo el Desempeno de la Red
21--------------------------------
22
231. ping
24   ----
25
26ping es una programa que manda un pedido de ICMP de echo a los hosts de objectivo y
27que espera una respuesta de ICMP desde aquello host. Dependiendo en el sistema operativo
28en que estas usando ping puede ver minimo, maximo and los tiempos de ida y vuelta medianos,
29y hasta que, de repente, desviación estándar de la media por las respuestas de ICMP de
30host de objectivo. Para mas detalles vea:
31
32http://en.wikipedia.org/wiki/Ping
33
34Bloqueando ping, en general, no es una buena idea.
35
36Con todo esto en mente, intenta de usar ping en algunas formas diferentes:
37
38        $ ping localhost
39
40Apreta ctrl-c para parar el proceso. Abajo es salida tipica por el comanda arriba:
41
42PING localhost (127.0.0.1) 56(84) bytes of data.
4364 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.020 ms
4464 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.006 ms
4564 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.006 ms
4664 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.006 ms
4764 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.006 ms
4864 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.009 ms
4964 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.007 ms
50^C
51--- localhost ping statistics ---
527 packets transmitted, 7 received, 0% packet loss, time 5994ms
53rtt min/avg/max/mdev = 0.006/0.008/0.020/0.005 ms
54
55Pregunta: Porque demoro 20ms la primera respuesta de ICMP mientras que todo la
56demas respuestas demoraban mucho menos? Esto es un tipo de retardo. Que tipo de retardo
57es?
58
59Vamos a hacer un poco atraso/demora de proceso en una forma artificial. En un terminal
60tipea:
61
62        $ ping localhost
63
64En otra ventana, en la misma maquina, tipea:
65
66        $ cd
67        $ vi cpu.sh
68       
69Agrega las siguiente lineas al archivo como esto:
70
71        #!/bin/sh
72        sh $0
73        or in c
74        while ( 1 )
75        fork();
76
77Graba el archivo, y, despues, hazlo ejecutable:
78
79        $ chmod a+x cpu.sh
80
81Ahora corre el escripto:
82
83        $ ./cpu.sh
84
85Deberia ver que las respuestas a ping en la otra ventana empieza de tomar mas tiempo.
86Cuando terminas apreta ctrl-c in las dos ventanas de terminal para parar los dos
87procesos.
88
89
902. traceroute
91   ----------
92
93Tal vez ha usado traceroute antes, pero has realmente averiguado que hace traceroute?
94si no, lea estos:
95
96http://en.wikipedia.org/wiki/Traceroute
97http://es.wikipedia.org/wiki/Traceroute
98
99Ahora intenta:
100
101        $ traceroute nsrc.org
102
103Aqui hay una muestra de salida de un traceroute al nsrc.org:
104
105traceroute to nsrc.org (128.223.157.19), 30 hops max, 60 byte packets
106 1  192.168.5.129 (192.168.5.129)  4.291 ms  5.757 ms  6.725 ms
107 2  192.168.17.2 (192.168.17.2)  1.933 ms  1.932 ms  2.150 ms
108 3  192.168.0.1 (192.168.0.1)  2.140 ms  2.127 ms  2.598 ms
109 4  10.0.0.129 (10.0.0.129)  2.586 ms  2.576 ms  4.548 ms
110 5   (168.234.72.1)  4.792 ms  4.786 ms  4.750 ms
111 6  200.0.204.69 (200.0.204.69)  7.456 ms  5.665 ms  5.890 ms
112 7  panama-salvador.core.redclara.net (200.0.204.185)  64.651 ms  64.884 ms  64.870 ms
113 8  panama-santiago.core.redclara.net (200.0.204.22)  124.865 ms  124.853 ms  124.841 ms
114 9  saopaulo-santiago.core.redclara.net (200.0.204.38)  172.008 ms  171.793 ms  172.019 ms
11510  ge-7-1-0.0.rtr.chic.net.internet2.edu (64.57.28.114)  172.006 ms
116    xe-2-2-0.88.rtr.wash.net.internet2.edu (198.32.11.105)  244.441 ms  244.675 ms
11711  xe-0-1-0.0.rtr.atla.net.internet2.edu (64.57.28.6)  258.151 ms  258.384 ms  258.618 ms
11812  xe-0-0-0.0.rtr.salt.net.internet2.edu (64.57.28.24)  207.383 ms 
119    207.602 ms xe-1-0-0.0.rtr.hous.net.internet2.edu (64.57.28.112)  282.040 ms
12013  xe-2-0-0.0.rtr.losa.net.internet2.edu (64.57.28.96)  314.004 ms
121    xe-1-0-0.0.rtr.seat.net.internet2.edu (64.57.28.105)  224.293 ms  224.527 ms
12214  vl-101.xe-0-0-0.core0-gw.pdx.oregon-gigapop.net (198.32.165.65)  328.948 ms
123    vl-102.xe-1-0-0.core0-gw.pdx.oregon-gigapop.net (198.32.163.69)  227.015 ms
124    vl-101.xe-0-0-0.core0-gw.pdx.oregon-gigapop.net (198.32.165.65)  328.184 ms
12515  vl-105.uonet9-gw.eug.oregon-gigapop.net (198.32.165.92)  330.660 ms  330.891 ms  229.940 ms
12616  vl-3.uonet2-gw.uoregon.edu (128.223.3.2)  331.359 ms  229.748 ms  229.727 ms
12717  nsrc.org (128.223.157.19)  229.458 ms  229.460 ms  330.862 ms
128
129Entiende que significa cada cosa? Si no, vea la pagina de wikipedia y tipea
130
131        $ man traceroute
132
133para mas informacion. Que significa si vea lineas asi?
134
13515  * * *
13616  * * *
13717  * * *
138
139De nuevo, lea "man traceroute" para mas datos.
140
141Como puede ver traceroute puede estar usado para determinar donde hay problemas entre dos
142puntos de terminacion en una red.
143
144
1453. mtr
146   ---
147
148La herramienta mtr combina ping y traceroute en un solo paquete. Pruebalo:
149
150        $ mtr nsrc.org
151
152La salida del comando se vea diferente en diferente versiones de Linux y UNIX, pero en
153general vas a ver un resumen de perdida de paquetes a cada nodo en el camino al nodo
154de objectivo (nsrc.org arriba), numero de paquetes de ICMP echo request mandados, ultimo
155tiempo de rtt (tiempo de ida y vuelta) al nodo, promedio, mejor y peor rtt y, tambien
156la desviacion estandar de los tiempos de rtt.
157
158Mostrando la perdiad de paquetes en esta forma se lo hace mucho mas facil ver donde hay
159problemas en un camino de la Red.
160
161
162Ejercicios Parte II
163-------------------
164
165Analisis de la Red
166------------------
167
1681. lsof y netstat
169   ----------------
170
171Vea que servicios estan corriendo en tu maquina. Puede usar la presentacion como
172referencia.
173
174O, utilizar "man lsof", "man netstat", "lsof -h" y "netstat -h" para ver todo las
175opciones disponible (hay muchos!). Recuerda usar "sudo" cuando usa lsof y netstat
176para darte los permisos necesarios para ver todo.
177
178* Usando lsof, que servicios de IPv4 estan escuchando en su maquina?
179
180* Usando netstat, que servicios de IPv4 y IPv6 estan escuchando en su maquina?
181
182
1832. tcpdump y tshark
184   ------------------
185
186Para usar tcpdump necesita usar sudo, o sea root. Para usar wireshark necesita
187abrir un terminal y usar sudo como un usuario normal (ej: "sysadmin").
188
189Se usa tcpdump como esto:
190
191        $ sudo tcpdump -i lo -A -s1500 -w /tmp/tcpdump.log
192
193Ahora, genera algo de trafico en su interfaz de lo en otro terminal.
194
195Por ejemplo:
196
197        $ ping localhost
198        $ ssh localhost
199 
200etc. Despues se apreta CTRL-C para terminar la sesion de tcpdump.
201
202Nota: ssh genera salida mucho mas "interesante". Ahora vamos a ver la salida de tcpdump
203usando wireshark y/o tshark (wireshark = grafico, tshark = en terminal con curses).
204
205
206        $ sudo wireshark -r /tmp/tcpdump.log
207
208o, si quieres
209
210        $ sudo tshark -r /tmp/tcpdump.log | less
211
212Que vea? Puede seguir su sesion de SSH?
213
214Ahora intenta algo asi:
215
216        $ sudo rm /tmp/tcpdump.log
217        $ sudo tcpdump -i eth0 -A -s1500 -w /tmp/tcpdump.log
218
219En otro terminal haz:
220
221        $ ftp limestone.uoregon.edu
222 
223        Connected to limestone.uoregon.edu.
224        220 FTP Server ready.
225        Name (limestone.uoregon.edu:sysadmin): anonymous
226        Password: <anything you want>
227        ftp> exit
228
229Termina la sesion de tcpdump en otro terminal (CTRL-C). Ahora vea los contenidos de archivo
230de log:
231
232        $ sudo wireshark -r /tmp/tcpdump.log
233
234Puede ver su clave? Si tiene mucho trafico en su Red tal vez el archivo de tcpdump.log
235va a ser bastante grande. Puede buscar por su sesion de FTP usando el "Filter:" en wireshark,
236o en tshark simplemente buscando usando "/FTP".
237
238Vea si puede encontrar algo asi.
239
240        "FTP Request: PASS PasswordYouTypedIn"
241
242Escuchando por claves no encifrados en los LANs inalambricos es muy facil con una herramienta
243como esto.
244
2453. Usando iperf
246   ------------
247
248Usa "man iperf" o "iperf -h" por ayuda.
249
250Pide que tu vecino corre:
251
252        $ iperf -s
253
254Conecta a la maquina de su vecino usando:
255
256        $ iperf -c ipVecino
257
258Que rendimiento tiene entre tus maquinas?
259
260Puede considera conectando sus PCs directamente (un cable, no conmutador). No tiene que
261cambiar tu direccion de IP mientras que estan en el mismo grupo (Grupo 1 o Grupo 2) por el
262hecho que tiene el mismo rango de direccion de IP con el mismo Netmask.
263
264Verifica que puede hacer un ping entre sus maquinas. Ahora repite las pasos previos con su
265connecion nueva y directa. Ha mejorado su rendimiento? Porque?
266
267Si tiene tiempo sigue jugando con las opciones de iperf. Si tiene acceso a una maquina
268remoto corriendo UNIX o Linux puede instalar iperf ahi y hacer una prueba de coneccion entre
269la sala de este taller y su maquina remoto.
270
271Otras cosas para intentar...
272
273* Prueba TCP usando tamaños de ventanas diferentes (-2)
274
275* Verifica TCP MSS (-m). Como afecta esto a su rendimiento. Que es el "Path MTU Discovery"
276  (Discubrimiento de MTU del Camino).
277
278* Prueba con dos procesos de iperf en paralelo (-P) y compara los totales. Hay diferencia?
279  Porque?
280
281* Pruebe con diferente tamaños de paquetes y la opcion de TCP_NODELAY (-N).