Son entidades del S.O. para conexiones y se agrupan en dominios
(AF=Address Family):
Dominio AF_UNIX (Unix Domain socket, UDS o IPC socket)
Dominio AF_INET
Protocol family (kernel Linux):
PF_UNIX: locales, en filesys
PF_INET: TCP/IP
PF_PACKET: enlace (nivel 2)
PF_KEY: IPSec
PF_NETLINK: config. avanzada de networking
5. Sockets
Dominio AF_UNIX
Los procesos han de estar en la misma mquina.
Tipos:
stream
datagram
Son ficheros, ej. al hacersudo find / -type s -lsaparecen unos
cuantos en/var/runutilizados por distintos servicios (xdm,
mysql,...).
Tambin pueden verse connetstat -xapn
6. Sockets
Dominio AF_INET:
Los procesos pueden estar en distintas mquinas.
Tipos:
tcp o stream
udp o datagram
raw sockets: empleados para desarrollar nuevos protocolos o
hacer uso de funcionalidades internas de los existentes
Los puertos < 1024 son privilegiados (limitados a root). Ej.
$nc -l -p 1023 $Can't grab 0.0.0.0:1023 with bind : Permission
denied
7. Protocolos y Servicios
/etc/protocols Ejs. (segn IANA):
Nivel 3:
ip: 0
icmp: 1
ipv6: 41
ospf: 89
Nivel 4:
tcp: 6
udp: 17
sctp: 132
Encapsulamiento y tunelado
gre: 47
esp: 50
ah: 51
ipip: 94
l2tp: 115
8. Protocolos y Servicios
/etc/services
9. Ej. Protocolo ftp
2 canales, ambos sobre tcp:
Canal de comandos. Puerto tcp 21
Canal de datos. Puerto tcp dependiente del modo.
Modos:
Activo: el cliente abre un puerto aleatorio>1023 y lo enva
al servidor junto con su IP para que el servidor empiece la conexin
por su puerto 20. Problemtico para filtrado por firewall.
Pasivo: el servidor abre un puerto aleatorio>1023 y lo enva
al cliente junto con su IP para que el cliente empiece la
conexin.
Pasivo extendido: slo enva el puerto, y no la IP del
servidor
10. Ej. Protocolo ftp
Securizacin:
FTP sobre SSH (secure FTP o FTP/SSH): actuando en modo pasivo,
con un cliente ssh que acte de proxy SOCKS.
FTP sobre SSL (FTPS)
Otros no exactamente FTP:
scp
sftp
Otros de intercambio de ficheros:
webdav
pando
11. Servidor de Comunicaciones
Un proceso que atiende peticiones de otros procesos, de la
misma o de otras mquinas. Ej:netstat -apn
En cada mquina, interfaces de escucha:
Slo local: localhost o 127.0.0.1
Slo por determinadas interfaces: 192.168.3.1
Por cualquier interface: 0.0.0.0 o *
En cada interface de escucha, sockets (Inet o Unix)