jueves, 11 de diciembre de 2008

Linux, comandos básicos de redes

Cambiar de un sistema operativo a otro siempre es un poco lioso, a parte de porque tenemos que adaptarnos a una nueva filosofía porque en un primer momento desconocemos como funcionan muchas de las cosas de este nuevo SO.

Si sois lectores habituales sabréis que no hace mucho cambié de sistema operativo, de Windows XP a Linux (Kubuntu 8.04 y posteriormente a Kubuntu 8.10). Como es lógico soy un novato aún, por ese motivo esta hoja puede ayudar a muchos que como yo se encuentren en la misma situación.

Hoy los que os proponemos es una lista de comandos básicos de redes en Linux.

Para ejecutarlos tan sólo debemos abrir una ventana de terminal y escribir:

ping

Sirve par verificar la respuesta de nuestro host (máquina) en la red. ¿Seguís igual? Bueno lo explicaremos de una forma más sencilla.

Muchas veces abras visto que algunas paginas web no se cargan, este comando nos ayudará a determinar cual es el motivo de alguno de estos fallos. Podemos hacer un ping a la dirección IP de nuestro router a ver si está caido, o bien haremos un ping a una web que sabemos que no se caerá nunca (www.google.com) y ver si carga correctamente. Si los paquetes, al hacer ping a google, se pierden es posible que estemos teniendo problemas con los dns (para comprobar esto último haríamos un ping a la dirección IP de google y veríamos si llegan o no, si lo hacen estamos ante un fallo en las dns y sino es probable que estemos ante un fallo de conexión por parte de nuestro ISP.).

Ejemplo: ping www.google.com

[root@geekets.com ~]# ping google.com
PING google.com (72.14.205.100) 56(84) bytes of data.
64 bytes from google.com (72.14.205.100): icmp_seq=1 ttl=238 time=157 ms
64 bytes from google.com (72.14.205.100): icmp_seq=2 ttl=238 time=155 ms
64 bytes from google.com (72.14.205.100): icmp_seq=3 ttl=238 time=155 ms

traceroute

Con traceroute podemos ver en tiempo real todo el camino que realiza un paquete hasta llegar a su destino. Como os decía antes en algunas ocaciones la carga de páginas webs no se realizará debido a problemas técnicos en algún punto de la red. Con este comando podremos ver donde se pierden los paquetes.

Ejemplo: traceroute www.google.com

netstat –r (–v)

Nos proporciona información sobre nuestra red

[root@geekets.com]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
10.15.0.0 * 255.255.0.0 U 0 0 0 eth0
default 10.10.254.254 0.0.0.0 UG 0 0 0 eth0

netstat –a

Nos permite ver los puertos abiertos en nuestro PC

netstat –nt

Verifica todas las conexiones TCP

[root@geekets.com]# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.18.0.77:49453 192.18.0.20:389 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:48896 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:47444 ESTABLISHED

ifconfig

Muestra la dirección IP de nuestra máquina

[root@geekets.com]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:75:C8:1E:C9
inet addr:192.18.0.20 Bcast:192.18.0.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2562828 errors:0 dropped:0 overruns:1 frame:0
TX packets:819327 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:283710198 (270.5 MiB) TX bytes:119183438 (113.6 MiB)
Interrupt:193 Base address:0×6000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:25326 errors:0 dropped:0 overruns:0 frame:0
TX packets:25326 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7914566 (7.5 MiB) TX bytes:7914566 (7.5 MiB)

telnet

Permite ligar un determinado host a un puerto específico.

Ejemplo: telnet www.google.com 80

dig

Permite hacer consultas más detalladas al servicio de DNS

[root@geekets.com ~]# dig google.com

; <<>> DiG 9.3.3rc2 <<>> google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36771
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
google.com. 274 IN A 72.14.205.100
google.com. 274 IN A 74.125.45.100
google.com. 274 IN A 209.85.171.100

;; Query time: 1 msec
;; SERVER: 172.16.0.2#53(172.16.0.2)
;; WHEN: Tue Dec 9 14:46:26 2008
;; MSG SIZE rcvd: 76

whois

Permite obtener información sobre un determinado dominio.

Ejemplo: whois google.com

nslookup

Nos da el nombre de host para una IP.

[root@geekets.com ~]# nslookup www.google.com
Server: 10.10.0.1
Address: 10.10.0.1#53

Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 74.125.39.147
Name: www.l.google.com
Address: 74.125.39.104
Name: www.l.google.com
Address: 74.125.39.99
Name: www.l.google.com
Address: 74.125.39.103

mtr

Combina los comando ping y traceroute

tcpdump -i

Sniffer de redes.

Ejemplo: tcpdump –i eth0

iptab

Permite crear subnetting

Ejemplo: iptab

[root@geekets.com ~]# iptab
+———————————————-+
| addrs bits pref class mask |
+———————————————-+
| 1 0 /32 255.255.255.255 |
| 2 1 /31 255.255.255.254 |
| 4 2 /30 255.255.255.252 |
| 8 3 /29 255.255.255.248 |
| 16 4 /28 255.255.255.240 |
| 32 5 /27 255.255.255.224 |
| 64 6 /26 255.255.255.192 |
| 128 7 /25 255.255.255.128 |
| 256 8 /24 1C 255.255.255.0 |
| 512 9 /23 2C 255.255.254.0 |
| 1K 10 /22 4C 255.255.252.0 |
| 2K 11 /21 8C 255.255.248.0 |
| 4K 12 /20 16C 255.255.240.0 |
| 8K 13 /19 32C 255.255.224.0 |
| 16K 14 /18 64C 255.255.192.0 |
| 32K 15 /17 128C 255.255.128.0 |
| 64K 16 /16 1B 255.255.0.0 |
| 128K 17 /15 2B 255.254.0.0 |
| 256K 18 /14 4B 255.252.0.0 |
| 512K 19 /13 8B 255.248.0.0 |
| 1M 20 /12 16B 255.240.0.0 |
| 2M 21 /11 32B 255.224.0.0 |
| 4M 22 /10 64B 255.192.0.0 |
| 8M 23 /9 128B 255.128.0.0 |
| 16M 24 /8 1A 255.0.0.0 |
| 32M 25 /7 2A 254.0.0.0 |
| 64M 26 /6 4A 252.0.0.0 |
| 128M 27 /5 8A 248.0.0.0 |
| 256M 28 /4 16A 240.0.0.0 |
| 512M 29 /3 32A 224.0.0.0 |
| 1024M 30 /2 64A 192.0.0.0 |
| 2048M 31 /1 128A 128.0.0.0 |
| 4096M 32 /0 256A 0.0.0.0 |
+———————————————-+

Me habré dejado muchos comando por el camino pero creo que estos son los más interesantes. Podéis descargaros este estupendo pdf donde se recogen estos comandos junto con algunos otros.


Fuente: geekets.com

1 comentario:

Anónimo dijo...

Te felicito por cambiarte a Linux! Yo aún no me atrevo.