entendiendo la red

index | OSiUX | blog | docs | charlas | rss

Topología, redes y Subredes

  • centralizada

    redes-centralizadas.png

  • descentralizada

    redes-descentralizadas.png

  • en malla o mesh

    redes-mesh.png

Asignación de IPs por medio de DHCP

  • DHCP server
  • DHCP client

Red de 4 equipos

redes-lan.png

B dice, necesito una IP!

  • mensaje: DHCPDISCOVER
  • protocolo: UDP
  • puerto destino: 67
  • dirección física: 01:12:23:34:45:bb

redes-dhcp-discover.png

D dice, yo te puedo dar IP!

  • mensaje: DHCPOFFER
  • dirección física: 01:12:23:34:45:dd
  • dirección IP: 192.168.10.102
  • gateway: 192.168.10.1
  • dns primario: 8.8.8.8
  • dns secundario: 8.8.4.4

redes-dhcp-offer.png

B dice, confirmo recepción!

  • mensaje: DHCPREQUEST

redes-dhcp-request.png

D dice, confirmo confirmación!

  • mensaje: DHCPACK

redes-dhcp-ack.png

Resolución de nombres de dominios DNS

host localhost
localhost.gcoop.com.ar has address 127.0.0.1
dig osiux.com
; <<>> DiG 9.9.5-9-Debian <<>> osiux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8449
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;osiux.com.			IN	A

;; ANSWER SECTION:
osiux.com.		3418	IN	A	198.23.230.106

;; Query time: 0 msec
;; SERVER: 192.168.10.3#53(192.168.10.3)
;; WHEN: Sun Jul 12 10:58:15 ART 2015
;; MSG SIZE  rcvd: 43

viendo un paquete de query dns

tcpdump -r dns-query.pcap -nvX

analizando un paquete de query dns

tshark -r dns-query.pcap -VO dns

capturar consultas al dns

ssh root@linksys '/usr/sbin/tcpdump -i br0 -s 0 -w - dst port 53' >linksys.pcap

ranking de dns

tcpdump -r linksys.pcap -c 2000 -nnnA dst port 53 | \
egrep -o "A+\? .*\." | sed s/".$"//g | awk '{print $2}' | \
egrep -v "(osiux|fbcdn|akamai)" | sort | uniq -c | sort -nr | head
47 www.facebook.com
42 dns.msftncsi.com
41 su.ff.avast.com
37 ssl.google-analytics.com
37 ipv6.msftncsi.com
32 www.habbo.es
26 imap.googlemail.com
21 dynamic.zoneedit.com
19 www.msftncsi.com
18 kiwwwi.com.ar

Sniffers nmap, dsniff

nmap

nmap -sV --open 192.168.10.0/24 -p22 | head

Túneles y Redes Privadas Virtuales VPN

Redireccionar puertos con ssh

ssh -L 2525:localhost:25 osiux.com

Proxy Socks mediante ssh

ssh -D 9090 osiux.com

Tunel reverso con ssh

ssh -R 12345:localhost:22 osiux.com

Cómo saber la IP de un equipo?

B dice, cuál es la IP de D?

  • Se que D es 00:14:d1:18:4a:dd
  • Yo soy B y mi mac es 00:14:d1:18:4a:bb
  • Todos reciben paquete ARP por difusión

redes-arp-1.png

D contesta, mi IP es 10.4.14.225

redes-arp-2.png

Quénes están en esta red?

sudo arp-scan --interface eth0 --localnet

pingueando

ping -c 5 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.042 ms

--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.035/0.038/0.042/0.008 ms

capturando pings

sudo tcpdump -i lo -nnnt -c 5 icmp

viendo un ping

sudo tcpdump -i lo -nnntvvX -c 1 -e icmp
00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    127.0.0.1 > 127.0.0.1: ICMP echo request, id 4177, seq 329, length 64
  0x0000:  4500 0054 0000 4000 4001 3ca7 7f00 0001  E..T..@.@.<.....
  0x0010:  7f00 0001 0800 a68d 1051 0149 e754 5e51  .........Q.I.T^Q
  0x0020:  022f 0d00 0809 0a0b 0c0d 0e0f 1011 1213  ./..............
  0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
  0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233  $%&'()*+,-./0123
  0x0050:  3435 3637                                4567

traceroute

traceroute -m 100 216.81.59.173
traceroute to 216.81.59.173 (216.81.59.173), 100 hops max, 60 byte packets
 1  malbec (192.168.10.3)  0.138 ms  0.116 ms  0.108 ms
 2  * 1-125-16-190.fibertel.com.ar (190.16.125.1)  840.738 ms  842.679 ms
 3  * * *
 4  * * *
 5  * * *
 6  177-166-89-200.fibertel.com.ar (200.89.166.177)  21.177 ms 169-165-89-200.fibertel.com.ar (200.89.165.169)  20.270 ms 177-166-89-200.fibertel.com.ar (200.89.166.177)  20.273 ms
 7  130-165-89-200.fibertel.com.ar (200.89.165.130)  18.969 ms  12.166 ms  10.910 ms
 8  222-165-89-200.fibertel.com.ar (200.89.165.222)  14.533 ms  14.462 ms  12.577 ms
 9  xe-1-2-2.ar3.eze1.gblx.net (208.178.244.213)  11.203 ms  10.676 ms  10.770 ms
10  po2-30G.ar2.MIA2.gblx.net (67.17.106.162)  304.575 ms  303.357 ms po3-20G.ar2.MIA2.gblx.net (67.16.139.18)  296.836 ms
11  xe-0-3-0.mia10.ip4.tinet.net (213.200.84.37)  136.244 ms  135.641 ms  134.175 ms
12  xe-2-1-0.atl11.ip4.gtt.net (89.149.128.25)  160.805 ms  161.130 ms xe-8-2-0.atl11.ip4.gtt.net (89.149.128.45)  204.103 ms
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
31  * * *
32  * * *
33  * * *
34  * * *
35  * * *
36  * * *
37  * * *
38  * * *
39  * * *
40  * * *
41  * * *
42  * * *
43  * * *
44  * * *
45  * * *
46  * * *
47  * * *
48  * * *
49  * * *
50  * * *
51  * * *
52  * * *
53  * * *
54  * * *
55  * * *
56  * * *
57  * * *
58  * * *
59  * * *
60  * * *
61  * * *
62  * * *
63  * * *
64  * * *
65  * * *
66  * * *
67  * * *
68  * * *
69  * * *
70  * * *
71  * * *
72  * * *
73  * * *
74  * * *
75  * * *
76  * * *
77  * * *
78  * * *
79  * * *
80  * * *
81  * * *
82  * * *
83  * * *
84  * * *
85  * * *
86  * * *
87  * * *
88  * * *
89  * * *
90  * * *
91  * * *
92  * * *
93  * * *
94  * * *
95  * * *
96  * * *
97  * * *
98  * * *
99  * * *
100  * * *
traceroute -m 255 obiwan.scrye.net | awk {'print $2'}

protocolos

redes-protocolos-1.png

redes-protocolos-2.png

Qué tiene un paquete TCP/IP?

+------------------------+--------------------------+
| MAC origen fe:ca:fe:ca | MAC destino  ca:fe:ca:fe |
+------------------------+--------------------------+
| IP origen 192.168.1.22 | IP destino  96.8.118.129 |
+---------------------------------------------------+
| Puerto origen    45678 | Puerto destino: 80       |
+------------------------+--------------------------+
| Nro Secuencia    12345 | Nro ACK                  |
+---+---+---+---+---+----+--------------------------+
| U | A | P | R | S | F | GET / HTTP/1.0            |
| R | C | S | S | Y | I |                           |
| G | K | H | T | N | N |                           |
+---+---+---+---+---+---+---------------------------+

Ethernet header

|                   |1                  |2                  |3  |
|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Hardware type         |          Protocol type        |
+---------------+---------------+-------------------------------+
|Hw address len.|Pr address len.|             Opcode            |
+---------------+---------------+-------------------------------+
|               Source hardware address                         |
+---------------------------------------------------------------+
|               Source protocol address                         |
+---------------------------------------------------------------+
|               Destination hardware address                    |
+---------------------------------------------------------------+
|               Destination protocol address                    |
+---------------------------------------------------------------+
|                            Data                               |
+---------------------------------------------------------------+

IP header

|                   |1                  |2                  |3  |
|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  | Diff.Services |     Total length              |
+-------+-------+---------------+-----+-------------------------+
|        Identification         |Flags|         Fragment offset |
+---------------+---------------+-----+-------------------------+
|    TTL        | Protocol      | Header checksum               |
+---------------+---------------+-------------------------------+
|                       Source IP address                       |
+---------------------------------------------------------------+
|                  Destination IP address                       |
+---------------------------------------------------------------+
|                     Options and padding                       |
+---------------------------------------------------------------+

UPD header

|                   |1                  |2                  |3  |
|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |        Destination Port       |
+-------------------------------+-------------------------------+
|          Length               |        Checksum               |
+-------------------------------+-------------------------------+
|                           Data                                |
+---------------------------------------------------------------+

TCP header

|                   |1                  |2                  |3  |
|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |        Destination Port       |
+-------------------------------+-------------------------------+
|                        Sequence Number                        |
+-------------------------------+-------------------------------+
|                     Acknowledgment Number                     |
+-------+-----+-----+-+-+-+-+-+-+-------------------------------+
|dOffset|rsrvd| ECN |U|A|P|R|S|F|        Window                 |
|       |     |     |R|C|S|S|Y|I|                               |
|       |     |     |G|K|H|T|N|N|                               |
+-------+-----+-----+-+-+-+-+-+-+-------------------------------+
| Checksum                      | Urgent Pointer                |
+-------------------------------+-------------------------------+
|                      Options and padding                      |
+---------------------------------------------------------------+
|                           Data                                |
+---------------------------------------------------------------+

ChangeLog

  • [2013-06-05 mié] simplifico y hago correcciones varias
  • [2013-04-09 mar] corrijo gráficos ascii-art
  • [2013-04-04 jue] primer borrador general

Author: Osiris Alejandro Gómez (osiux@osiux.com)

Date: 2013-04-04

Emacs 24.4.1 (Org mode 8.3beta)

Validate