teoria-socket-raw: (0.01) *EN DESARROLLO* ¿Que es un socket raw? ¿Para que se usa? PARA QUE: Ciertos programas necesitan un acceso completo a los paquetes de red sin pasar por TCP o UDP. Los ejemplos simples son ping y traceroute. Los sniffer también abren sockets raw para hacer su trabajo (?tcpdump?) COMO FUNCIONA: ... ESENCIAL: Para ver los socket raw abiertos en nuestro sistema: cat /proc/net/raw *ATENCION* Siempre hay dos abiertos por el kernel 2.2 se les identifica porque el inode es "0" Para saber que programa ha abierto un socket raw: El socket raw de ping aparece en lsof como TYPE raw Por lo tanto: lsof | awk '$5 == "raw" { print }' (hay que lanzarlo como root) NOTA: Para que muestre algo hacer en otra ventana ping NOTA2: No he visto ninguna opción en lsof para hacer esto... si alguien sabe como que me lo diga ;-) POR HACER: ¿Es un programa con un socket raw atacable? El socket ¿raw? de tcpdump apacere en lsof como TYPE "sock" y "can't identify protocol" y no aparece en /proc/net/raw (ni en ningún archivo de /proc/net (lo he buscado por el inode) ¿no es raw? ¿ideas? Para verlos todos y la cabecera: lsof | awk '$5 ~ "TYPE|raw|sock" { print }' (hay que lanzarlo como root) MAS INFO: http://www.whitefang.com/rin/ (Raw IP Networking FAQ)