Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:205_network_configuration:205.2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:certificaciones:lpic:lpic-2:205_network_configuration:205.2 [2021/04/07 21:35] tempwininformatica:certificaciones:lpic:lpic-2:205_network_configuration:205.2 [2021/04/08 14:05] (actual) – [netstat] tempwin
Línea 22: Línea 22:
     * ''tcpdump''     * ''tcpdump''
     * ''nmap''     * ''nmap''
 +
 +===== VPN =====
 +
 +VPN (//Virtual Private Network//) permite conectar dos o mas redes remotas de modo seguro a través de una conexión insegura (Internet). Para ello crea un túnel cifrado, y toda la información se cifra antes de ser enviada a través de la conexión insegura. 
 +
 +De este modo, estando en cualquier sitio, tenemos la sensación de estar en la red remota a la que nos conectamos.
 +
 +Podemos implementar diferentes tipos de VPNs en función del sistema que usemos para el cifrado, desde certificados SSL/TLS a conexiones SSH.
 +
 +Algunos de los sistemas más utilizados en linux son **IPSEC** y **OpenVPN**
 +
 +===== Herramientas para resolución de problemas de red =====
 +
 +==== ping y ping6 ====
 +
 +Comando que permite conocer si una máquina está accesible o no.
 +
 +Utiliza el protocolo ICMP
 +
 +Opciones:
 +
 +  * ''-c'': Permite especificar el numero de ecos.
 +  * ''-b'': Permite hacer ping a una dirección de broadcast.
 +  * ''-i'': Permite especificar un intervalo (defecto 1s).
 +  * ''-n'': Deshabilita la resolución de nombres (solo muestra direcciones IP)
 +
 +<key>Ctrl</key> + <key>c</key> para detener la ejecución del comando ''ping''.
 +
 +<code bash>
 +ping 10.0.2.2
 +</code>
 +
 +<code>
 +PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
 +64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.293 ms
 +64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.297 ms
 +64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=0.225 ms
 +64 bytes from 10.0.2.2: icmp_seq=4 ttl=64 time=0.326 ms
 +64 bytes from 10.0.2.2: icmp_seq=5 ttl=64 time=0.399 ms
 +64 bytes from 10.0.2.2: icmp_seq=6 ttl=64 time=0.093 ms
 +</code>
 +
 +En la salida se ve la dirección de respuesta, el número de secuencia, tiempo de validez del paquete que le enviamos y tiempo de respuesta. 
 +
 +<code bash>
 +ping –c 6 www.google.es
 +</code>
 +
 +También podemos usar ping para comprobar si funciona correctamente el DNS ya que si al hacer ping a un nombre de dominio no nos responde, es posible que haya un problema de resolución de nombres.
 +
 +==== traceroute ====
 +
 +Comando que permite comprobar la conectividad con un sistema remoto, devolviendo los routers por lo que pasa el paquete IPv4/IPv6 (''traceroute6'')
 +
 +En el protocolo TCP/IP se envía información a un destino. Para llegar a ese destino, la información va pasando por routers que van encaminando la información hasta el punto correcto.
 +
 +<code bash>
 +traceroute www.google.de
 +</code>
 +
 +<code>
 +traceroute to google.de (172.217.23.99), 30 hops max, 60 byte packets
 +  ip-1-75-136-213.static.contabo.net (213.136.75.1)  0.700 ms  0.655 ms  0.629 ms
 +  nug-i1-link.telia.net (62.115.155.130)  3.329 ms nug-b1-link.ip.twelve99.net (213.248.100.130)  2.556 ms nug-b1-link.ip.twelve99.net (62.115.171.252)  2.532 ms
 +  ffm-bb1-link.ip.twelve99.net (62.115.113.146)  3.589 ms  3.614 ms ffm-bb2-link.ip.twelve99.net (62.115.114.148)  3.854 ms
 +  ffm-b11-link.ip.twelve99.net (62.115.124.117)  4.170 ms ffm-b11-link.ip.twelve99.net (62.115.124.119)  3.831 ms ffm-b11-link.ip.twelve99.net (62.115.124.117)  4.254 ms
 +  google-ic319727-ffm-b11.ip.twelve99-cust.net (62.115.151.27)  6.193 ms google-ic324085-ffm-b11.ip.twelve99-cust.net (62.115.153.213)  3.627 ms  3.603 ms
 +  * * *
 +  108.170.252.1 (108.170.252.1)  7.100 ms 142.250.46.244 (142.250.46.244)  9.305 ms fra16s45-in-f3.1e100.net (172.217.23.99)  3.571 ms
 +</code>
 +
 +En cuanto a la salida, ''*'' representa que el campo requerido no fue encontrado.
 +
 +Con la opción ''-n'' deshabilitamos el mapeo entre nombre de host y dirección IP:
 +
 +<code>
 +traceroute -n google.de
 +traceroute to google.de (142.250.185.99), 30 hops max, 60 byte packets
 +  213.136.75.1  0.630 ms  0.604 ms  0.588 ms
 +  62.115.172.2  1.044 ms  0.998 ms  0.964 ms
 +  62.115.113.146  3.800 ms  3.794 ms  3.756 ms
 +  62.115.124.117  3.808 ms  3.726 ms  3.783 ms
 +  62.115.151.25  6.228 ms  6.210 ms  6.194 ms
 +  * * *
 +  108.170.252.1  7.068 ms 142.250.210.196  3.887 ms 108.170.252.1  6.905 ms
 +  142.250.236.31  5.971 ms  6.108 ms  9.316 ms
 +  142.250.185.99  6.065 ms  6.042 ms  5.970 ms
 +</code>
 +
 +==== mtr ====
 +
 +Herramienta que combina las funciones de ''ping'' y ''traceroute''.
 +
 +<WRAP center round info 60%>
 +No viene instalada por defecto. Se consigue a través del paquete ''mtr''.
 +</WRAP>
 +
 +<code bash>
 +mtr whitehouse.gov
 +</code>
 +
 +<code>
 +                                                             My traceroute  [v0.92]
 +debian10 (10.0.2.15)                                                                                                    2021-04-08T11:38:23+0200
 +Keys:  Help   Display mode   Restart statistics   Order of fields   quit
 +                                                                                                        Packets               Pings
 + Host                                                                                                 Loss%   Snt   Last   Avg  Best  Wrst StDev
 + 1. 10.0.2.2                                                                                           0.0%    21    0.3   0.3   0.1   0.6   0.1
 + 2. 192.168.0.1                                                                                        0.0%    21    2.3   5.8   1.7  30.4   8.2
 + 3. 10.1.32.1                                                                                          0.0%    21   10.4  11.6   7.1  27.7   5.2
 + 4. 12.15.26.77.dynamic.reverse-mundo-r.com                                                            0.0%    21    8.7  10.1   6.6  19.2   3.2
 + 5. 57.17.26.77.dynamic.reverse-mundo-r.com                                                            0.0%    21    9.4   9.3   6.4  17.0   2.3
 + 6. ix-ae-7-700.tcore1.dvs-bilbao.as6453.net                                                           0.0%    21   21.7  23.4  18.4  42.2   5.2
 + 7. if-ae-14-2.tcore2.sv8-highbridge.as6453.net                                                        0.0%    21   42.2  45.0  39.1  67.5   6.8
 + 8. if-ae-11-2.tcore1.l78-london.as6453.net                                                            4.8%    21   37.7  40.4  35.9  49.3   3.7
 + 9. if-ae-29-2.thar2.ld5-slough.as6453.net                                                             0.0%    21   37.8  41.0  35.6  58.8   6.7
 +10. 80.231.48.167                                                                                      0.0%    21   54.0  49.7  39.2  80.6  12.6
 +11. ae7.r01.lon01.icn.netarch.akamai.com                                                               0.0%    21  115.0 117.3 113.3 132.2   3.9
 +12. ae1.r01.lon01.ien.netarch.akamai.com                                                               0.0%    20  113.3 115.1 108.6 126.8   5.0
 +13. ae3.drt-lon6.netarch.akamai.com                                                                    0.0%    20   62.9  61.3  43.0 244.7  44.2
 +14. a23-207-177-41.deploy.static.akamaitechnologies.com                                                0.0%    20   42.9  45.1  40.8  56.0   4.3
 +</code>
 +
 +<WRAP center round info 60%>
 +Para detener la ejecución de ''mtr'' se utiliza la combinación <key>C-c</key>.
 +</WRAP>
 +
 +==== arp y arpwatch ====
 +
 +Nos permiten detectar problemas de asignación de IPs, que pueden crear conflictos en la red.
 +
 +A menudo, podemos tener en nuestra red errores de varios tipos:
 +
 +  * IPs duplicadas.
 +  * Asignaciones de IPs fijas en rangos manejados por DHCP.
 +
 +''arpwatch'' es un demonio que monitoriza cambios en las asignaciones de IPs a las direcciones MAC de la red y los notifica via ''syslog'' o e-mail
 +
 +
 +==== netstat ====
 +
 +Muestra un listado de las conexiones activas de nuestra máquina. Además permite obtener información de la red y los protocolos utilizados.
 +
 +  * ''-i'': Permite obtener el estado de las tarjetas de red (igual que ''ifconfig –a'')
 +  * ''-e'': Visualiza todas las conexiones establecidas.
 +  * ''-r'': Permite obtener las tablas de enrutamiento (como ''route'')
 +  * ''-n'': Indica las IPs en lugar de los nombres de las conexiones.
 +  * ''-a'': Permite visualizar todas las conexiones.
 +  * ''-A'': Permite especificar la familia del protocolo.
 +  * ''-p'': Muestra el ID y el nombre del proceso que levanta el socket.
 +
 +Ejemplo:
 +
 +<code bash>
 +netstat -panetu
 +</code>
 +
 +Salida:
 +
 +<code>
 +Active Internet connections (servers and established)
 +Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
 +tcp        0      0 0.0.0.0:22              0.0.0.0:              LISTEN      0          15658      516/sshd
 +tcp        0      0 127.0.0.1:25            0.0.0.0:              LISTEN      0          16088      811/exim4
 +tcp        0      0 0.0.0.0:111             0.0.0.0:              LISTEN      0          11170      1/init
 +tcp        0     36 192.168.2.10:22         192.168.2.1:62380       ESTABLISHED 0          19672      1019/sshd: vagrant
 +tcp6            0 :::22                   :::                   LISTEN      0          15660      516/sshd
 +tcp6            0 ::1:25                  :::*                    LISTEN      0          16089      811/exim4
 +tcp6            0 :::111                  :::*                    LISTEN      0          1874       1/init
 +udp        0      0 0.0.0.0:68              0.0.0.0:                                   16280      825/dhclient
 +udp        0      0 0.0.0.0:111             0.0.0.0:                                   11171      1/init
 +udp        0      0 127.0.0.1:123           0.0.0.0:                          109        20939      507/ntpd
 +udp        0      0 192.168.2.10:123        0.0.0.0:                          109        19552      507/ntpd
 +udp        0      0 10.0.2.15:123           0.0.0.0:                          109        19550      507/ntpd
 +udp        0      0 0.0.0.0:123             0.0.0.0:                                   15548      507/ntpd
 +udp6            0 :::111                  :::*                                0          1879       1/init
 +udp6            0 ::1:123                 :::                               109        20943      507/ntpd
 +udp6            0 fe80::a00:27ff:fedd:123 :::*                                109        19557      507/ntpd
 +udp6            0 fe80::a00:27ff:fe45:123 :::*                                109        19555      507/ntpd
 +udp6            0 :::123                  :::*                                0          15545      507/ntpd
 +</code>
 +
 +<WRAP center round important 60%>
 +''netstat'' es un programa obsoleto. El sustituto de ''netstat'' es ''ss''. El sustituto de ''netstat -r'' es ''ip route''. El sustituto de ''nestat -i'' es ''ip -s link''
 +</WRAP>
 +
 +==== ss ====
 +
 +Herramienta similar a ''netstat'' para investigar las conexiones de red:
 +
 +Ejemplo:
 +
 +<code bash>
 +ss -a -n
 +</code>
 +
 +<code>
 +Netid  State    Recv-Q   Send-Q                                Local Address:Port            Peer Address:Port
 +u_dgr  UNCONN          0                                                 * 1704                       * 1703
 +u_dgr  UNCONN          0                                                 * 19370                      * 1796
 +u_dgr  UNCONN          0                                                 * 14860                      * 1796
 +u_dgr  UNCONN          0                                                 * 1703                       * 1704
 +u_str  ESTAB    0        0                                                 * 12607                      * 12608
 +u_str  ESTAB    0        0                                                 * 14910                      * 14911
 +u_str  ESTAB    0        0                                                 * 15561                      * 15560
 +udp    UNCONN          0                                           0.0.0.0:68                   0.0.0.0:*
 +udp    UNCONN          0                                           0.0.0.0:111                  0.0.0.0:*
 +udp    UNCONN          0                                         127.0.0.1:123                  0.0.0.0:*
 +udp    UNCONN          0                                      192.168.2.10:123                  0.0.0.0:*
 +udp    UNCONN          0                                         10.0.2.15:123                  0.0.0.0:*
 +udp    UNCONN          0                                           0.0.0.0:123                  0.0.0.0:*
 +udp    UNCONN          0                                              [::]:111                     [::]:*
 +udp    UNCONN          0                                             [::1]:123                     [::]:*
 +udp    UNCONN          0                   [fe80::a00:27ff:fedd:3798]%eth1:123                     [::]:*
 +udp    UNCONN          0                   [fe80::a00:27ff:fe45:b8a7]%eth0:123                     [::]:*
 +udp    UNCONN          0                                              [::]:123                     [::]:*
 +tcp    LISTEN          128                                         0.0.0.0:22                   0.0.0.0:*
 +</code>
 +
 +==== nmap ====
 +
 +Comando que permite realizar el escaneo de puertos de una máquina e identificar los servicios y versión o tipo de sistema operativo.
 +
 +<WRAP center round info 60%>
 +El paquete ''nmap'' no viene instalado por defecto. Se instala con el paquete ''nmap''
 +</WRAP>
 +
 +Opciones útiles:
 +
 +  * ''-A'': habilita determinar el sistema operativo y versión de servicios.
 +  * ''-F'': (Fast Scan)
 +
 +<code bash>
 +nmap –A 10.0.2.15
 +</code>
 +
 +<code>
 +Starting Nmap 7.70 ( https://nmap.org ) at 2021-04-08 11:52 CEST
 +Nmap scan report for 10.0.2.15
 +Host is up (0.000032s latency).
 +Not shown: 998 closed ports
 +PORT    STATE SERVICE VERSION
 +22/tcp  open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
 +| ssh-hostkey:
 +|   2048 ab:a0:fc:53:7c:c5:ed:9d:de:50:41:39:51:e2:90:3f (RSA)
 +|   256 ce:41:ee:41:fb:8b:82:8f:8b:74:1d:14:18:a9:cd:bc (ECDSA)
 +|_  256 ad:72:b1:81:b5:cc:6c:2b:26:7b:84:78:0e:77:fa:1f (ED25519)
 +111/tcp open  rpcbind 2-4 (RPC #100000)
 +| rpcinfo:
 +|   program version   port/proto  service
 +|   100000  2,3,4        111/tcp  rpcbind
 +|_  100000  2,3,4        111/udp  rpcbind
 +Device type: general purpose
 +Running: Linux 2.6.X
 +OS CPE: cpe:/o:linux:linux_kernel:2.6.32
 +OS details: Linux 2.6.32
 +Network Distance: 0 hops
 +Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
 +
 +OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
 +Nmap done: 1 IP address (1 host up) scanned in 10.47 seconds
 +</code>
 +
 +==== Wireshark ====
 +
 +Antes conocido como **ethereal**, es una herramienta de análisis de red o "sniffer". Nos permite examinar datos en tiempo real que circulan a través de la red o volcarlos a un fichero.
 +
 +Soporta gran cantidad de protocolos y nos permite filtrar la información para obtener de un modo mas detallado lo que buscamos.
 +
 +==== lsof ====
 +
 +Comando que permite establecer la lista de archivos abiertos por procesos en un sistema. Como Linux trata todo como un fichero, también nos muestra sockets de red abiertos.
 +
 +Ejemplos:
 +
 +<code bash>
 +lsof | grep httpd
 +</code>
 +
 +<code bash>
 +lsof /var/lib/mysql
 +</code>
 +
 +==== nc (netcat) ====
 +
 +Herramienta que nos permite abrir puertos, establecer conexiones de red entre ellos, y transmitir datos.
 +
 +Podemos utilizarlo para saber si un puerto está abierto.
 +
 +Por ejemplo, si queremos ver si en nuestra máquina está abierto el puerto 80:
 +
 +<code bash>
 +nc localhost 80
 +</code>
 +
 +Si está abierto, obtendríamos lo que devuelve el servicio que corra detrás.
 +
 +==== tcpdump ====
 +
 +Es una herramienta que nos permite monitorizar e inspecionar paquetes en tiempo real a través de la red.
 +
 +Podemos especificar origen (src), destino (dst), protocolo y puerto (port) con los operadores AND y OR para seleccionar.
 +
 +Como Wireshark, pero a bajo nivel y desde línea de comandos.
 +
 +  * ''-w archivo'':Guarda el resultado en un archivo en formato libpcap.
 +  * ''-i interfaz'': Indicamos la interfaz donde vamos a capturar el tráfico.
 +  * ''-s ventana'': Permite limitar el tamaño de las tramas capturadas (default 65535 bytes)
 +  * ''-n'': Indica las IPs en lugar de los nombres de las conexiones
 +
 +Ejemplos:
 +
 +<code bash>
 +tcpdump –w archivo.cap –i eth0 –s 0 –n port 22
 +</code>
 +
 +<code bash>
 +tcpdump -i eth0 src 10.10.0.1 and dst 10.10.0.254 and tcp port 80
 +</code>
 +
 +===== Tests =====
 +
 +**Which single parameter, when passed to nmap, will instruct nmap to perform a fast scan? (Provide only the option)**
 +
 +  * ''-F'' (''nmap -F'')
 +
 +** The following is an excerpt from the output of tcpdump -nli eth1 'udp'**:
 +
 +<code>
 +13:03:17.277327 IP 192.168.123.5.1065 > 192.168.5.112.53: 43653+ A? lpi.org. (25)
 +13:03:17.598624 IP 192.168.5.112.53 > 192.168.123.5.1065: 43653 1/0/0 A 24.215.7.109 (41)
 +</code>
 +
 +**Which network service or protocol was used?**
 +
 +  * FTP
 +  * HTTP
 +  * SSH
 +  * DNS (**Solución**)
 +  * DHCP 
 +
 +<WRAP center round info 60%>
 +En el registro de ''tcpdump'' el último número que aparece en las direcciones IP hace referencia al puerto.
 +</WRAP>
 +
informatica/certificaciones/lpic/lpic-2/205_network_configuration/205.2.1617824122.txt.gz · Última modificación: por tempwin