IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

La targeta de xarxa. Network Interface Card

La targeta de xarxa és el pont d'enllaç entre el sistema operatiu i el accés al medi de transmissió 
(ja sigui aquest un cable o un sistema sense fils)

També anomenada NIC (Network Interface Card) o adaptador de xarxa

Dispositiu que treballa als nivells baixos d'OSI (capa 1 física i capa 2 d'enllaç).

Cada interfície de xarxa té una adreça MAC única

Les targetes de xarxa modernes suporten diferents modes i velocitats

Comanda mii-tool

$mii-tool eth0

permet conèixer si tenim connexió a la xarxa

[email protected]:~$ sudo mii-tool 
eth0: negotiated 1000baseT-HD flow-control, link ok


$sudo ethtool eth0

més avançada que la comanda anterior

link modes: el tipus de connexions que es capaç d'acceptar la targeta de xarxa

10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full

Suport per auto-negociació es negocia la velocitat entre dos dispositius de xarxa

Advertised advertim quina velocitat a la qual treballarem

Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Half 1000baseT/Full 
	Link partner advertised pause frame use: No
	Link partner advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000033 (51)
			       drv probe ifdown ifup
	Link detected: yes

MAC

La MAC permet adreçar i identificar de forma unívoca les targetes de xarxa

La MAC és un identificador de 48 bits amb dos parts

podem comprovar la MAC del nostre sistema amb ifconfig

00:30:05:eb:37:f4

Cal tenir en compte que hi han targetes de xarxa amb més d'una interfície de xarxa (i per tant amb més d'una MAC)

per a obtenir una MAC propera o podem fer amb un ping a una maquina remota dins de la mateixa xarxa amb la comanda

$arp -n

i ens mostra amb totes les maquines que t'has comunicat últimament

Obtenir les MAC de tota la xarxa amb la comanda

$nmap +paràmetres eth0

Fabricants i prefix de les MAC

El 3 primers octets d'una MAC determinen el fabricant

00:30:05

Aquest identificador és anomenat Organizationally Unique Identifier (OUI) i està regulat per l'IEEE.

Consulteu la web:

http://standards.ieee.org/regauth/oui/index.shtml

On la IEEE regula el prefix de les MAC (els tres primers octets) i l'assignació a fabricant.

Aquí podeu consultar/buscar a partir del prefix d'una MAC quin és el fabricant.

Podeu obtenir la llista completa a:

http://standards.ieee.org/regauth/oui/oui.txt

Fitxers locals

Hi ha diferents fitxers en local que podem utilitzar per a saber quin és el fabricant d'una MAC.

$locate oui.db

ARP

ARP és un protocol a cavall entre el nivell de xarxa i el nivell d'enllaç (MAC)

Permet resoldre adreces MAC a partir d'adreces IP

S'utilitza en xarxes LAN (nivell 2) per poder treballar amb adreces IP (nivell 3)

Paquets que s'envien són ARP Request(who-has) i ARP Reply

Jordiromeroethernet01.png

Medis físics i interfícies

Diferents components

  • DTE: Data Terminal Equipment
  • MII: Media Independent Interface
  • PHY: PHYsical Layer

Interficies de xarxa

Tipus

GNU/Linux distingeix dos tipus de interficies de xarxa:

interficies fisiques: eth0, eth1, eth4, radio0, radio1, wlan0 ... Sempre representades per una interfície fisica NIC or WNIC. Que necesiten d'un driver per a que puguin funcionar.

interfícies virtuals o interfícies lògiques: lo, eth0:1, eth0.1, vlan2, br0, pppoe-dsl, tun0, imq0, teql0, ... Que no representen sempre una interfície física però sempre estan relacionats directa o indirectament amb un dispositiu físic existent( excepte lo).

Tipus de interfícies virtuals

  • Aliases o noms IP secundaries: eth4:5, eth4:6, .. Consulteu IP Aliasing
  • VLANS (fins a 4096): eth4.0, eth4.1, eth4.3, vlan0. Cal un dispositiu que suporti vlans (VLAN aware)
  • Bridges: interfícies que són un enllaç o pont entre diferents interfícies físiques o virtuals. Exemples br0, br-lan
  • Túnels: interfícies relacionades amb protocols de tunneling (tunneling protocols): pppoe-dsl, tun0, vpn1, ..
  • Bonding o link Aggregation: Dos targetes de xarxa o més es poden unir per simular una sola targeta de xarxa virtual (aka Channel bonding)

Comandes nivell físic/enllaç

Mii-tool

Ens

$sudo mii-tool
eth0: negotiated 1000baseT-HD flow-control, link ok

Comandes

$lspci

Permet conèixer totes les connexions dels busos principals, sigui integrada o no

$lspci | grep ethernet
$lspci |grep network
$lspci -n

Afegin uns n més per a vore mes opcions del dispositiu

$lspci -nn
$locate pciid

permet conèixer el

cat /usr/share/misc/pci.ids | grep Ralink

Permet coneixer el numero id del fabricant Ralink

Ethernet

Ethernet és la tecnologia més utilitzada en xarxes LAN

Ethernet ha anat evolucionant i adaptant-se a les noves tecnologies

Al 1973 les velocitats eren de 3Mbps

Actualment es treballa amb velocitats de 10 Gbps

Però el protocol és el mateix

Tipus de xarxes Ethernet

Ethernet Velocitat de transmissió Tipus de cable Distancia màxima
10Base5 10Mbps Coaxial gruixut 500m Xarxes bus coaxial.T coaxial
10Base2 10Mbps coaxial 185m Xarxes bus coaxial.T coaxial
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la
Text de cel·la Text de cel·la Text de cel·la Text de cel·la Text de cel·la

Origen del nom

Metcalfe-enet.gif

Al Xerox PARC van crear el primer sistema experimental Ethernet per tal de connectar l'estació de treball Xerox Alto, amb una interfície gràfica d'usuari. Aquesta interfície experimental s'utilitzava per connectar entre si estacions de treball Alto o connectar-les amb servidors o impressores laser.

S'utilitzava un rellotge sincrón amb un rellotge similar al de la estació de treball Xerox Alto, el resultat era una velocitat de 2.94 Mbps.

El nom descriu lo essencial que és el medi físic o ether (de luminiferous ether que en el seu moment es creia que era el que propagava les ones electromagnètiques)


Primer cable ethernet

Jordiromeroethernet04.png

Segments de xarxa i dominis de col·lisió

És una porció de xarxa separada de la resta per un dispositiu de xarxa com:

  • Repetidor
  • Bridge o Switch
  • Router

El domini de col.lisió És un segment lògic de xarxa on els paquets poden col·lisionar al ser enviats a un medi compartit.

Switched LAN. Hubs i Switchs

Les LANs connectades a switchs o HUBS tenen una topologia física d'estrella.

  • Topologia lògica:
    • HUB: mateix segment de xarxa (bus compartit). Treballa a nivell físic (mecànic). Dispositiu “tonto” (dumb)
    • Switch: s'utilitza una base de dades per recordar les MACs (Ips) de cada port i es connecta de forma directa els ports d'origen i destinació d'una comunicació. reballa a nivell d'enllaç (taula de MACS). Dispositiu intel·ligent.
  • LAN Commutada: Cada PC té el seu propi segment de xarxa no compartit. Els switches són més segurs.

Topologies de xarxa

Jordiromeroxarxa01.png

Bridge

Bridge: Enllaç de capa física/capa d'enllaç. Els bridges poden ser mateix medi (switch Ethernet) o entre diferents tipus de medi/canals (un AP Wifi en mode bridge converteix senyal WIFI en senyal amb fil)

Utilitats de bridge a Linux. Paquet bridge-utils

El paquet bridge-utils proporciona el suport per a gestionar bridges a Linux.

Instal·lació

$sudo apt-get install bridge-utils

Comanda brctl

gestió dels bridges

$brctl show
[email protected]:~#  brctl show
bridge name	bridge id		STP enabled	interfaces
vmbr0		8000.d8d385ae5a8c	no		eth0


Mostra els bridge que hem creat dins de la nostra xarxa

IMPORTANT: Per o correcte funcionament dels brigdes totes les interfícies de xarxa han de estar actives amb la comanda $sudo ifconfig ethx up

Crear un nou bridge

$ sudo brctl addbr br0

Comprovem el funcionament

$ifconfig

Mostrem les MAC que detecta dins del sistema

$brctl showmacs vmbr0
[email protected]:~#  brctl showmacs vmbr0
port no	mac addr		is local?	ageing timer
  1	00:06:29:f7:66:72	no		   3.69
  1	00:0c:42:b6:83:f6	no		  29.45
  1	00:1c:c0:a7:4c:da	no		 112.94
  1	00:1e:67:2e:3c:f4	no		   0.21
  1	00:1f:29:5e:bc:c2	no		   9.01
  1	00:21:5a:72:c4:55	no		 116.94
  1	00:26:18:5c:b4:2d	no		   6.06
  1	00:26:ab:7f:35:c9	no		  37.76
  1	12:3f:07:75:09:2f	no		 139.56
  1	1c:7e:e5:2d:4d:a6	no		  77.37
  1	28:10:7b:b1:74:84	no		  27.00
  1	28:10:7b:b1:74:b4	no		  18.39
  1	28:10:7b:bd:0a:c4	no		  13.38
  1	28:10:7b:bd:0a:f4	no		 112.81
  1	28:10:7b:bd:0b:54	no		 106.92
  1	28:10:7b:bd:0b:84	no		 102.20
  1	28:10:7b:bd:0b:b4	no		 119.64
  1	2a:5e:73:9c:4a:58	no		 116.94
  1	5a:b0:2b:fa:e2:aa	no		 116.94
  1	5a:b0:2b:fa:e2:ab	no		 137.16
  1	78:e7:d1:d2:2b:47	no		   0.06
  1	9e:dc:7a:84:1b:11	no		 117.18
  1	b8:a3:86:68:f0:b0	no		  81.88
  1	b8:a3:86:69:7a:e0	no		  40.90
  1	c6:88:13:da:70:5d	no		 172.15
  1	d4:ca:6d:20:8f:7f	no		   0.00
  1	d8:d3:85:ae:5a:8c	yes		   0.00
  1	fc:75:16:73:e4:b0	no		  25.30
  1	fc:75:16:73:e4:e0	no		 110.06
  1	fc:75:16:73:e4:f1	no		   0.57
  1	fe:79:f1:9c:71:56	no		  81.59

Creació del bridge de forma permanent. /etc/network/interfaces

Instal·lem el paquet bridge-utils i al fitxer /etc/network/interfaces creem una interfície que sigui un bridge de la eth0:

$ cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0

auto eth0
iface eth0 inet manual

També podem utilitzar DHCP:

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
  
auto br0
iface br0 inet dhcp
bridge_ports eth0

auto eth0
iface eth0 inet manual

NOTA: Noteu com la interfície eth0 es configura com manual i la línia bridge_ports eth0.

I tornem a iniciar la xarxa:

$ sudo /etc/init.d/networking restart

Ebtables

Semblant als iptables però a nivell de capa2

Ethernet Bridging

Un Bridge connecta diferents segments de xarxa permeten que el trànsit passi entre aquests segments. D'aquesta forma la mida màxima de la xarxa es pot ampliar. Un bridge transparent aprèn les direccions MAC de les estacions connectades Al procediment se l'anomena Bridge transparent, pel fet que el bridge és transparent (no es detectable) per les estacions de treball, és a dir tota aquesta tasca es realitza sense haver de fer cap canvi en les estacions de treball. A més el bridge també té adreces MAC en cada port. Aquestes adreces són invisibles per al dispositius de la xarxa i el frames no s'alteren de cap manera.

VLAN

Crear una xarxa virtual, que permet tindré múltiples segments de xarxa virtuals en una sola interfície física.

Una VLAN representa una interfície de xarxa de capa 2 tan vàlida com qualsevol interfície de xarxa de capa 2 i per tant es poden propagar les VLAN a través d'Ethernet bridges o en enllaços WIFI.

Tipus

Port-Based VLAN: cada port físic es configura amb una ACL, especificant a quines VLAN pertany aquell port.Assignarem un numero de vlan a cada un del port del swicth

MAC-based VLAN: el commutador es configura amb una ACL que indica segons la mac a quina VLAN pertany un dispositiu. Vegeu macvlan.

Protocol-based VLAN: segons el protocol es posa el transit en una VLAN o en un altre

802.1Q: estàndard relacionat en capa 2 per a VLAN

ATM VLAN: Utilitza LAN Emulation (LANE protocol) per fer un mapejat de paquets Ethernet a cel·les ATM, es a dir converteix adreces MAC a adreces ATM

802.1Q

El protocol més utilitzat per a xarxes VLAN és IEEE_802.1Q, també conegut com VLAN Tagging. És un protocol estàndard d'encapsulació que defineix com inserir el 4 bytes (32 bits) de l'identificador VLAN (VLAN ID) en una capçalera Ethernet.

Format del frame

Jordiromero802101.png

Sistemes Operatius

VLANS a Linux

VLANS vconfig

Instal·lar el paquet vlan

$ sudo apt-get install vlan

Comprovem que ens ha instal·lat

$ sudo dpkg -L vlan | more
/.
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/40-vlan-network-interface.rules
/lib/udev/vlan-network-interface
/usr
/usr/share
/usr/share/doc
/usr/share/doc/vlan
/usr/share/doc/vlan/howto.html
/usr/share/doc/vlan/vlan.html
/usr/share/doc/vlan/TODO.Debian
/usr/share/doc/vlan/copyright
/usr/share/doc/vlan/NEWS.Debian.gz
/usr/share/doc/vlan/changelog.Debian.gz
/usr/share/man
/usr/share/man/man5
/usr/share/man/man5/vlan-interfaces.5.gz
/usr/share/man/man8
/usr/share/man/man8/vconfig.8.gz
/etc
/etc/network
/etc/network/if-pre-up.d
/etc/network/if-pre-up.d/vlan
/etc/network/if-post-down.d
/etc/network/if-post-down.d/vlan
/etc/network/if-up.d
/etc/network/if-up.d/ip
/sbin
/sbin/vconfig

Comprovem el funcionament de la comanda vconfig

$ sudo vconfig
Expecting argc to be 3-5, inclusive.  Was: 1

Usage: add             [interface-name] [vlan_id]
       rem             [vlan-name]
       set_flag        [interface-name] [flag-num]       [0 | 1]
       set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
       set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
       set_name_type   [name-type]

* The [interface-name] is the name of the ethernet card that hosts
  the VLAN you are talking about.
* The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
* skb_priority is the priority in the socket buffer (sk_buff).
* vlan_qos is the 3 bit priority in the VLAN header
* name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
              DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
* FLAGS:  1 REORDER_HDR  When this is set, the VLAN device will move the
            ethernet header around to make it look exactly like a real
            ethernet device.  This may help programs such as DHCPd which
            read the raw ethernet packet and make assumptions about the
            location of bytes.  If you don't need it, don't turn it on, because
            there will be at least a small performance degradation.  Default
            is OFF.

Carreguem el modul 8021q

$sudo modprobe 8021q

Creem la vlan2

$ sudo vconfig add eth0 2

i despres la vlan3

$ sudo vconfig add eth0 3

Comprovem que s'ha creat la vlan amb la comanda ifconfig

[email protected]:~$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:30:05:eb:37:f4  
          inet addr:192.168.204.115  Bcast:192.168.204.255  Mask:255.255.255.0
          inet6 addr: fe80::230:5ff:feeb:37f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13719 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10364 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9866633 (9.8 MB)  TX bytes:1333077 (1.3 MB)
          Interrupt:23 Base address:0x8000 

eth0.2    Link encap:Ethernet  HWaddr 00:30:05:eb:37:f4  
          inet6 addr: fe80::230:5ff:feeb:37f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 B)  TX bytes:4108 (4.1 KB)

eth0.3    Link encap:Ethernet  HWaddr 00:30:05:eb:3f:e4  
           inet6 addr: fe80::230:5ff:feeb:37f4/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
            RX bytes:0 (0.0 B)  TX bytes:4108 (4.1 KB)

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:2298 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
           RX bytes:266875 (266.8 KB)  TX bytes:266875 (266.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:19:5b:cc:09:58  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Afegim una ip a la vlan2 i a la vlan3

$ sudo ifconfig eth0.2 192.168.2.104
$ sudo ifconfig eth0.3 192.168.3.104

Comprovem que estem dins de la xarxa fent un ping a una altra maquina

$ping 192.168.3.117

Realitzarem la pràctica i comprovarem amb el wireshark com podem veure el paquet ping i com està format el paquet que s'envia

Jordiromerovlan01.png

Configuració permanent

Cada vegada que desconnectem el cable o tanquem la sessió del sistema, la configuració de les VLAN es perd, per a poder conservar les configuracions ho farem de la següent manera:

Afegirem al fitxer /etc/modules la línia

8021q

Editarem el fitxer etc/network/interfaces

#La interficie principal del sistema
auto eth0
iface eth0 inet dhcp

# VLAN AMB VLANID=2
auto eth0.2
iface eth0.2 inet static
       address 192.168.2.114
       netmask 255.255.255.0
       network 192.168.2.0
       broadcast 192.168.2.255

# VLAN AMB VLANID=3
auto eth0.3
iface eth0.3 inet static
       address 192.168.3.114
       netmask 255.255.255.0
       network 192.168.3.0
       broadcast 192.168.3.255


VLANS ip

Conceptes

VLAN aware si el dispositiu és compatible amb vlan, per exemple una impressora seria un dispositiu que no és vlan aware

Tagged tagged és un paquet que porta la etiqueta 802.1q

untagged untagged no porta identificador vlan

ingress

egress

normes de entrada podem decidir quins paquets entren al siwtch

normes de sortida podem definir quines normes li donem en cas que hi hagi algun paquet que no correspont a la vlan

add if missing afegir al paquet si fa falta

vid vlan id, identifica la vlan

pvid vlan que es posara als paquets que no vinguin sense etiquetar, per defecte és 1 per tant no hauriem de triar 1 com a vlan

Resolució de problemes

Ens dona un error per en falta el modul 8021q

$ sudo vconfig add eth0 2
WARNING:  Could not open /proc/net/vlan/config.  Maybe you need to load the 8021q module, or maybe you are not using PROCFS??
Added VLAN with VID == 2 to IF -:eth0:-


Carreguem el modul 8021q

$sudo modprobe 8021q

ICMP

Internet Control Message Protocol

S'utilitza per a enviar missatges de control entre dos dispositius, un dels més coneguts, el ping que permet saber si dos maquines que es poden comunicar.

Capçalera ICMP

ICMP és un protocol que corre sobre el protocol IP i no utilitza ni TCP ni UDP. Tots els paquets ICMP tenen una capçalera de mida de 8 bytes (64 bits) i una mida de les dades (payload) variable·

Bits 0–7 8–15 16–23 24–31
0 Type Code Checksum
32 Rest of Header

Jordiromeroicmp01.png

Els 4 primers Bytes de la capçalera (header) han de ser consistents:

  • Primer byte: indica el ICMP type
  • Segon byte: indica el ICMP code
  • Tercer i quart bytes: són el checksum tel missatge icmp sencer (ICMP message)
  • Resta de byte: depenen dels tipus i el codi ICMP

Tipus de missatges

Type Code Description
0 – Echo Reply 0 Echo reply (used to ping)
1 and 2 Reserved
3 – Destination Unreachable 0 Destination network unreachable
1 Destination host unreachable
2 Destination protocol unreachable
3 Destination port unreachable
4 Fragmentation required, and DF flag set
5 Source route failed
6 Destination network unknown
7 Destination host unknown
8 Source host isolated
9 Network administratively prohibited
10 Host administratively prohibited
11 Network unreachable for TOS
12 Host unreachable for TOS
13 Communication administratively prohibited
14 Host Precedence Violation
15 Precedence cutoff in effect
4 – Source Quench 0 Source quench (congestion control)
5 – Redirect Message 0 Redirect Datagram for the Network
1 Redirect Datagram for the Host
2 Redirect Datagram for the TOS & network
3 Redirect Datagram for the TOS & host
6 Alternate Host Address
7 Reserved
8 – Echo Request 0 Echo request (used to ping)
9 – Router Advertisement 0 Router Advertisement
10 – Router Solicitation 0 Router discovery/selection/solicitation
11 – Time Exceeded 0 TTL expired in transit
1 Fragment reassembly time exceeded
12 – Parameter Problem: Bad IP header 0 Pointer indicates the error
1 Missing a required option
2 Bad length
13 – Timestamp 0 Timestamp
14 – Timestamp Reply 0 Timestamp reply
15 – Information Request 0 Information Request
16 – Information Reply 0 Information Reply
17 – Address Mask Request 0 Address Mask Request
18 – Address Mask Reply 0 Address Mask Reply
19 Reserved for security
20 through 29 Reserved for robustness experiment
30 – Traceroute 0 Information Request
31 Datagram Conversion Error
32 Mobile Host Redirect
33 Where-Are-You (originally meant for IPv6)
34 Here-I-Am (originally meant for IPv6)
35 Mobile Registration Request
36 Mobile Registration Reply
37 Domain Name Request
38 Domain Name Reply
39 SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol
40 Photuris, Security failures
41 ICMP for experimental mobility protocols such as Seamoby [RFC4065]
42 through 255 Reserved

Ping

La comanda Ping s'utilitza com a eina de diagnostic per tal de saber quan un host és accessible o no des de la nostra màquina. La comanda ping utilitza el protocol ICMP enviant un paquet Echo Request ICMP i esperant una resposta Echo Response ICMP. Al paquet Echo Request sovint se l'anomena "Ping" i al paquet Echo Response "Pong" en analogia amb el "Ping-Pong".

exemple ús ping

$ping -c 4 www.iesebre.com
PING www.iesebre.com (192.168.50.80) 56(84) bytes of data.
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=1 ttl=63 time=0.877 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=2 ttl=63 time=0.537 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=3 ttl=63 time=0.611 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=4 ttl=63 time=0.729 ms

--- www.iesebre.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.537/0.688/0.877/0.131 ms

Utilitzem el paràmetre -c per limitar el nombre de paquets ping que enviem. En Linux, la comanda ping no té límits al enviar paquets... Si executem:

$ ping  www.iesebre.com
PING www.iesebre.com (192.168.50.80) 56(84) bytes of data.
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=1 ttl=63 time=0.465 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=2 ttl=63 time=0.529 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=3 ttl=63 time=0.567 ms
64 bytes from www.iesebre.com (192.168.50.80): icmp_req=4 ttl=63 time=0.606 ms
...

Hem de fer Ctrl+C per a poder aturar el ping i poder vore les estadistiques

--- www.iesebre.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6007ms
rtt min/avg/max/mdev = 0.400/0.520/0.606/0.066 ms

Ping rate

La velocitat normal de ping és 1 ping per segon

Amb el paràmetre -i podem modificar la velocitat en que enviem un ping

$ ping -i 0.5 localhost


Com a super usuari podem modificar la velocitat del ping que vulguem

Time to live

Amb el paràmetre -t podem modificar el temps de vida que pot tenir un paquet ping i obtindrem com a resposta un paquet icmp time to live exeded

$ ping -t 2 www.google.es
PING www.google.es (173.194.70.94) 56(84) bytes of data.
From routortosa01real.tortosa.guifi.net (109.69.15.2) icmp_seq=18 Time to live exceeded
From routortosa01real.tortosa.guifi.net (109.69.15.2) icmp_seq=19 Time to live exceeded

Jordiromeroicmp02.png

Missatges de control

Traceroute

Podem saber el número de salts que fa un paquet abans d'arribar a la seva destinació

$ traceroute -n www.google.es
traceroute to www.google.es (173.194.70.94), 30 hops max, 60 byte packets
 1  192.168.204.1  0.361 ms  0.369 ms  0.366 ms
 2  109.69.15.2  7.022 ms  6.931 ms  6.945 ms
 3  10.253.4.22  10.711 ms  10.711 ms  10.745 ms
 4  149.6.130.113  15.650 ms  15.698 ms  10.739 ms
 5  154.54.59.129  11.094 ms  11.045 ms  10.788 ms
 6  154.54.36.154  28.178 ms  28.063 ms  31.684 ms
 7  154.54.74.98  46.939 ms  40.419 ms 154.54.74.86  40.104 ms
 8  130.117.49.153  46.084 ms  42.378 ms 130.117.50.237  42.603 ms
 9  149.6.140.58  153.739 ms  153.698 ms  153.717 ms
10  209.85.240.64  61.316 ms 209.85.241.110  89.872 ms 209.85.240.64  56.596 ms
11  72.14.239.60  45.832 ms 72.14.239.62  43.210 ms  43.048 ms
12  209.85.254.116  46.148 ms  47.429 ms 209.85.254.118  47.351 ms
13  * * *
14  173.194.70.94  47.600 ms  46.806 ms  44.550 ms

Destination Unreachable

El paquet icmp ens indica que la maquina no es troba en funcionament o no es pot accedir, la última màquina que no pot accedir a la destinació és la que respon amb el paquet

Jordiromeroicmp03.png

Vegeu També

http://pciids.sourceforge.net/

MAC

Bridge

Bridging

VLAN

Bridges amb Linux