domingo 8 de enero de 2012

bash


Escrito Esta:
1 Corintios 14:26 ¿Qué hay que hacer, pues, hermanos? Cuando os reunís, cada cual aporte salmo, enseñanza, revelación, lenguas ointerpretación. Que todo se haga para edificación.

TOMADO DE:Wikipedia


bash (bourne again shell) es un programa informático cuya función consiste en interpretar órdenes. Está basado en la shell de Unix y es compatible con POSIX. Fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de Linux. Su nombre es un acrónimo de Bourne-Again Shell (otro shell bourne) — haciendo un juego de palabras (born-again significa renacimiento) sobre el Bourne shell (sh), que fue uno de los primeros intérpretes importantes de Unix.
Hacia 1978 Bourne era el intérprete distribuido con la versión del sistema operativo Unix Versión 7Stephen Bourne, por entonces investigador de los Laboratorios Bell, escribió la versión original de Bourne. Brian Fox escribió bash en 1987. En 1990, Chet Ramey se convirtió en su principal desarrollador. Bash es el intérprete predeterminado en la mayoría de sistemas GNU/Linux, además de Mac OS X Tiger, y puede ejecutarse en la mayoría de los sistemas operativos tipo Unix. También se ha llevado a Microsoft Windows por el proyecto Cygwin.

Sintaxis de bash


La sintaxis de órdenes de bash es un superconjunto de instrucciones basadas en la sintaxis del intérprete Bourne. La especificación definitiva de la sintaxis de órdenes de bash, puede encontrarse en el bash Reference Manual distribuido por el proyecto GNU. Esta sección destaca algunas de sus únicas características.
La mayoría de los shell scripts (guiones de intérprete de órdenes) Bourne pueden ejecutarse por bash sin ningún cambio, con la excepción de aquellos guiones del intérprete de órdenes, o consola, Bourne que hacen referencia a variables especiales de Bourne o que utilizan una orden interna de Bourne. La sintaxis de órdenes de bash incluye ideas tomadas desde el Korn Shell (ksh) y el C Shell (csh), como la edición de la línea de órdenes, el historial de órdenes, la pila de directorios, las variables $RANDOM y $PPID, y la sintaxis de substitución de órdenes POSIX$(...). Cuando se utiliza como un intérprete de órdenes interactivo, bash proporciona autocompletado de nombres de programas, nombres de archivos, nombres de variables, etc, cuando el usuario pulsa la tecla TAB.
La sintaxis de bash tiene muchas extensiones que no proporciona el intérprete Bourne. Varias de las mencionadas extensiones se enumeran a continuación.

Acceso a los parámetros


Los guiones de bash reciben los parámetros que le pasa la shell como $1, $2, ..., $n. Podemos saber cuantos hemos recibido con el símbolo $#.
Por ejemplo, si nuestro guión necesita dos parámetros pondremos:
 if [ $# -lt 2 ]; then
   echo "Necesitas pasar dos parámetros."
   exit 1
 fi
Además disponemos del array $@, el cual contiene todos los parámetros pasados al guión y podemos iterar sobre estos de la siguiente manera:
  for param in "$@"
  do
    echo "$param"
  done

Redirecciones de entrada/salida

La sintaxis de bash permite diferentes formas de redirección de entrada/salida de las que el Shell Bourne tradicional carece. bash puede redirigir la salida estándar y los flujos de error estándar a la vez utilizando la sintaxis:
 orden >& archivo
que es más simple que teclear la orden Bourne equivalente, "orden > archivo 2>&1". Desde la versión 2.05b, bash puede redirigir la entrada estándar desde una cadena utilizando la siguiente sintaxis (denominada "here strings"):
 orden <<< "cadena a leer como entrada estándar"
Si la cadena contiene espacios en blanco, deben utilizarse comillas.
Ejemplo: Redirige la salida estándar a un archivo, escribe datos, cierra el archivo y reinicia stdout
 # hace que el descriptor de archivo 6 sea una copia de stdout (descriptor archivo 1)
 exec 6>&1
 # abre el archivo "test.data" para escritura
 exec 1>test.data
 # genera algún contenido
 echo "data:data:data"
 # recupera stdout original, al hacer que sea una copia del descriptor de archivo 6
 exec 1>&6
 # cierra el descriptor de archivo 6
 exec 6>&-
Abre y cierra archivos
 # abre el archivo test.data para lectura
 exec 6<test.data
 # lee hasta el final del archivo
 while read -u 6 dta
 do
   echo "$dta" 
 done
 # cierra el archivo test.data
 exec 6<&-
Captura la salida de órdenes externas
  # ejecuta 'find' y guarda los resultados en VAR
  # busca nombres de archivos que terminan con la letra "h"
  VAR=$(find . -name "*h")

Escape con contrabarra

Las palabras con la forma $'string' se tratan de un modo especial. Estas palabras se expanden a string, con los caracteres escapados por la contrabarra reemplazados según especifica el lenguaje de programación C. Las secuencias de escape con contrabarra, se decodifican del siguiente modo:
Escapes con contrabarra
Backslash
Escape
Se expande a ...
\aUn carácter de alerta (bell)
\bUn carácter de retroceso
\eUn carácter de escape
\fUn carácter de alimentación de línea (form feed)
\nUn carácter de nueva línea
\rUn carácter de retorno de carro
\tUn tabulador horizontal
\vUn tabulador vertical
\\Un carácter contrabarra
\'Un carácter de comilla simple
\nnnEl carácter de 8 bits cuyo valor es el número octal nnn (de uno a tres dígitos)
\xHHEl carácter de 8 bits cuyo valor es el número hexadecimal HH (uno o dos dígitos hexadecimales)
\cxUn carácter control-X
El resultado expandido se encuentra entrecomillado con comilla simple, como si el signo $ no estuviese presente.
Una cadena entrecomillada con comillas dobles precedida por un signo $ ($"...") será traducida de acuerdo al LOCALE actual. Si fuese C o POSIX, se ignora el símbolo $. Si la cadena es traducida y reemplazada, el reemplazo estará entrecomillado por comilla doble.



miércoles 14 de diciembre de 2011

Niveles de ejecución (runlevels)


Escrito esta:Dijo Jesús "Yo soy la vid verdadera, y mi Padre es el viñador."(Juan 15:1)

Tomado de:ac.usc.es

 El proceso init inicia el sistema en un determinado runlevel

  • el runlevel inicial especificado en /etc/inittab

Runlevel
determinada configuración software que permite la ejecución de una serio de procesos en la máquina
Los runlevels se identifican por números de 0 a 6

RunlevelDescripción
0parada del sistema
1modo monousuario; solo root puede entrar
2, 3, 4, 5modos multiusuario
6reiniciar el sistema
Stambién monousuario (usado por scripts)
La utilización de los runlevels 2-5 varía con la distribución de Linux:
  • en Debian los 4 son idénticos: modo multiusuario completo (con entorno de ventanas, si disponible); por defecto se usa el 2
  • en RedHat y similares:
    • 2: multiusuario sin NFS
    • 3: multiusuario completo (sin ventanas)
    • 4: no usado
    • 5: multiusuario completo (con ventanas)
Es posible cambiar de runlevel en cualquier momento usando el comando telinit o init:
  • Formato
    telinit [-t SEC] runlevel
  • SEC es el número de segundos que esperará init a que un proceso se detenga con un SIGTERM antes de antes de matarlo con un SIGKILL (por defecto, 5)
  • Ejemplo: pasa al runlevel 6 en 10 segundos (reinicia la máquina)
    telinit -t 10 6
  • Es posible hacer que init relea el fichero de configuración /etc/inittab:
    telinit q
  • podemos saber en que runlevel nos encontramos con el comando runlevel
    • runlevel: muestra el runlevel actual y el anterior
      # runlevel
      N 2
      indica que nos encontramos en el nivel 2 y que no hubo nivel anterior

El fichero /etc/inittab

Define como se ejecutan los runlevels
  • indica el runlevel por defecto
  • indica los scripts a ejecutar en cada runlevel
Formato de las líneas de inittab
identificador:runlevels:acción:proceso

  • identificador: nombre asociado a cada línea del fichero generalmente no superior a 4 caracteres
  • runlevels: lista de runlevels (todos seguidos) para los cuales esta línea se tendrá en cuenta
  • acción: indica de qué forma o bajo qué condiciones se ejecuta el comando del campo siguiente
  • proceso: comando que se ejecuta para esta entrada en los runlevels especificados
Algunas de las acciones de init son (para verlas todas ver el manual de inittab)
  • respawn: el proceso se reinicia si termina
  • waitinit inicia el proceso y espera a que termine para seguir
  • onceinit inicia el proceso una vez, cuando se entra en el runlevel
  • sysinit: el proceso se ejecuta durante el arranque de la sistema
  • ctrlaltdel: el proceso se ejecuta si se recibe un CTRL-ALT-DEL
  • powerwait: el proceso se ejecuta cuando se acaba la batería
  • powerokwait: el proceso se ejecuta cuando se recupera la energía
  • powerfailnow: el proceso se ejecuta cuando la batería está casi vacía
Ejemplo de inittab
# Número de runlevel por defecto.
id:2:initdefault:

# Script que se ejecuta siempre en cada inicio 
# independientemente del runlevel.
si::sysinit:/etc/init.d/rcS

# Script para cada runlevel 
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normalmente no se alcanza, sólo si falla el reinicio
z6:6:respawn:/sbin/sulogin

# Qué hacer si se presiona CTRL-ALT-DEL
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Qué hacer si la corriente se va/vuelve
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

  • el script /etc/init.d/rcS se ejecuta en el arranque
    • este script llama a los scripts del directorio /etc/rcS.d
  • Por cada runlevel, se ejecuta el script /etc/init.d/rc X
    • este script llama a los scripts del directorio /etc/rcX.d

Directorios /etc/rcX.d

Los ficheros de estos directorio son de la forma:
[K|S]NNServicio
Al entrar en un runlevel se ejecutan todos los ficheros del /etc/rcX.d correspondiente
  • los que empiezan por K detienen servicios
  • los que empiezan por S los inician
  • los scripts se ejecutan por orden alfabético (primero K y después S)
Todos los ficheros son enlaces a los scripts reales, que están en el directorio /etc/init.d
  • estos script admiten, al menos, uno de los siguientes parámetros:
    • start inicia el servicio
    • stop para el servicio
  • Ejemplo, para y reinicia los servicios de red:
    # /etc/init.d/networking stop
    # /etc/init.d/networking start
Si queremos iniciar un nuevo servicio en un determinado runlevel
  • colocar el script de inicio en /etc/init.d
  • hacer un enlace de nombre SxyServicio en el runlevel
    • tener en cuenta posibles dependencias con otros servicios
  • hacer un enlace de nombre tipo K en el runlevel en que se quiera pararlo
    • un buen número de secuencia es 100-xy (el orden de matar los procesos inverso debe ser al de iniciarlos)
  • existen programas que nos facilitan la labor:
    • update-rc.d: crea y borra enlaces a los scripts init
    • sysv-rc-conf: GUI para consola
    • ksysv: entorno gráfico para KDE

Terminales

Despues de ejecutar los scripts de inicio, init crea un conjunto de terminales virtuales, siguiendo lo que se indica en /etc/inittab
.......
# Lanzar las terminales para el login de los usuarios
# Notar que el la mayoría de los sistemas tty7 es usado por X Window,
# así, para añadir mas getty's se debe saltar tty7
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

  • en esta configuración, los runlevels 2 y 3 arrancan 6 terminales y los 4 y 5 sólo 1
  • podemos cambiar de tty con Ctrl-Alt-F[1-6]
  • el tty7 se utiliza para pasar al entorno de ventanas
  • los terminales se lanzan con spawn para que se vuelvan a crear cuando salimos de la sesión
En este momento se puede acceder al sistema:
  • al iniciar la sesión en un terminal:
    • el proceso tty se convierte en un proceso login que chequea usuario y contraseña
    • si se accede con éxito, el proceso login se convierte en un shell
  • al salir de la sesión
    • el proceso bash muere
    • init relanza (respawn) un nuevo tty

miércoles 30 de noviembre de 2011


Escrito Esta:
Eclesiastés 9:5 Porque los que viven saben que han de morir, pero los muertos no saben nada, ni tienen ya ninguna recompensa, porque su memoria está olvidada.
Tomado de: Wikipedia
Dennis MacAlistair Ritchie (9 de septiembre de 1941 - 12 de octubre de 2011) fue un científico computacional estadounidense.
Colaboró en el diseño y desarrollo de los sistemas operativos Multics y Unix, así como el desarrollo de varios lenguajes de programación como el C, tema sobre el cual escribió un célebre clásico de las ciencias de la computación junto a Brian Wilson KernighanEl lenguaje de programación C.
Recibió el Premio Turing de 1983 por su desarrollo de la teoría de sistemas operativos genéricos y su implementación en la forma del sistema Unix. En 1998 le fue concedida la Medalla Nacional de Tecnología de los Estados Unidos de América. El año 2007 se jubiló, siendo el jefe del departamento de Investigación en software de sistemas de Alcatel-Lucent.
C y Unix
Artículo principal: C (lenguaje de programación)
Artículo principal: Unix
Ritchie es conocido sobre todo por ser el creador del lenguaje de programación C y cocreador, junto con Ken Thompson, del sistema operativo Unix. También fue coautor junto con Brian Kernighan del manual El lenguaje de programación C, que durante años fue el estándar de facto del lenguaje (conocido como K&R C), hasta la aparición del ANSI C.
Estas aportaciones han convertido a Ritchie en un importante pionero de la informática moderna. El lenguaje C aún se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java. Unix también ha sentado las bases de los sistemas operativos modernos, estableciendo conceptos y principios que hoy son ampliamente adoptados.
Ken Thompson y Dennis Ritchie, creadores de C.


martes 20 de septiembre de 2011

Programas desarrollados por GNU

Escrito esta:
Pero El les dijo: Soy yo; no temáis.(Juan 6:20)
 
Listado de algunos programas desarrollados por el proyecto GNU:
El proyecto GNU también ayuda con el desarrollo de otros paquetes, como:

Distribuciones de GNU

La única variante completamente GNU es el núcleo Hurd, la cual es distribuida como Debian GNU/Hurd y otros, aunque no hay ninguna versión oficial hasta el momento.
Linux es el núcleo más usado con GNU, aunque Linux en sí no es parte de él. GNU también es utilizado con otros núcleos, como Debian GNU/kFreeBSD, Debian GNU/NetBSD, Nexenta OS o GNU-Darwin.

miércoles 14 de septiembre de 2011

Tux

Deuteronomio 4:23 Guardaos, pues, no sea que olvidéis el pacto que el SEÑOR vuestro Dios hizo con vosotros, y os hagáis imagen tallada en forma de cualquier cosa que el SEÑOR tu Dios te ha prohibido.
Tux es el nombre de la mascota oficial de Linux. Creado por Larry Ewing en 1996, es un pequeño pingüino de aspecto risueño y cómico. La idea de que la mascota de kernel Linux fuera un pingüino provino del mismo Linus Torvalds, creador de kernel Linux. Según se cuenta, cuando era niño le picó unpingüino, y le resultó simpática la idea de asociar un pingüino a su proyecto.

Origen
Existen dos versiones sobre el origen de su nombre. La primera sugiere que el nombre surge del hecho de que los pingüinos parecen vestir un esmoquin(que en inglés es tuxedo max, abreviado tux). La segunda es que las letras que componen Tux provienen de las palabras Torvalds Unix.
Tux fue diseñado durante un concurso para elegir un logotipo para Linux. Las herramientas utilizadas para su creación fueron, por supuesto, un computador con el sistema operativo con kernel Linux y el software libre de manipulación de imágenes GIMP. Algunas de las imágenes enviadas se encuentran aún disponibles en el sitio del concurso.

Todas las distribuciones de Linux o software libre tienen una version de Tux para mostrarlo tales como ubuntu, fedora, debian, suse, entre otros.

Su Uso
El logotipo se puede usar y modificar sin restricciones, siempre que se reconozca la autoría de Larry Ewing, ya que es su trabajo y se debe reconocer su autoría tal y como se indica en su página.
Tux se ha vuelto un icono para las comunidades de Linux y de software libre; un grupo de linuxeros británico incluso ha adoptado un pingüino en el zoológico de Bristol. Es mucho más famoso que su gran amigo, GNU, un ñu pacífico y algo tímido que representa el proyecto GNU.

Con respecto al origen de su nombre, una historia sugiere que proviene del hecho de que los pingüinos parecen vestir un esmoquín (en inglés tuxedo) y la segunda es que las letras que componen Tux provienen de las palabras Torvalds y UniX.

viernes 5 de agosto de 2011

REFERENCIA DE COMANDOS UNIX-LINUX

Tomado de :Pello.info

La siguiente lista de comandos pretende ser de utilidad como referencia rapida para utilizar comandos de sistema. Se ha agrupado en dos: los comandos de sistema corrientes y los relacionados con la administracion.

Pueden probar los comandos de Linux en la siguiente Dirección: http://www.masswerk.at/jsuix/

claro no son todos pero si los basicos este es el :Manual man

Comando

ls
Descripción: =list. listar contenido de directorios.
Ejemplos: ls, ls -l, ls -fl, ls --color

cp
Descripción: =copy. copiar ficheros/directorios.
Ejemplos:cp -rfp directorio /tmp, cp archivo archivo_nuevo

rm
Descripción: =remove. borrar ficheros/directorios.
Ejemplos: rm -f fichero, rm -rf directorio, rm -i fichero

mkdir
Descripción: =make dir. crear directorios.
Ejemplos: mkdir directorio

rmdir
Descripción: =remove dir. borrar directorios, deben estar vacios.
Ejemplos: rmdir directorio

mv
Descripción: =move. renombrar o mover ficheros/directorios.
Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio

date
Descripción: gestion de fecha de sistema, se puede ver y establecer.
Ejemplos: date, date 10091923

history
Descripción: muestra el historial de comandos introducidos por el usuario.
Ejemplos: history | more

more
Descripción: muestra el contenido de un fichero con pausas cada 25 lineas.
Ejemplos: more fichero

grep
Descripción: filtra los contenidos de un fichero.
Ejemplos:cat fichero | grep cadena

cat
Descripción: muestra todo el contenido de un fichero sin pausa alguna.
Ejemplos: cat fichero

chmod
Descripción: cambia los permisos de lectura/escritura/ejecucion de ficheros/directorios.
Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod -r fichero

chown
Descripción: =change owner. cambia los permisos de usuario:grupo de ficheros/directorios.
Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R

tar
Descripción: =Tape ARchiver. archivador de ficheros.
Ejemplos: tar cvf fichero.tar directorio , tar xvf fichero.tar, tar zcvf fichero.tgz directorio, tar zxvf fichero.tgz

gunzip
Descripción: descompresor compatible con ZIP.
Ejemplos: gunzip fichero

rpm
Descripción: gestor de paquetes de redhat. Para instalar o actualizar software de sistema.
Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm --force paquete.rpm, rpm -q --info programa

mount
Descripción: montar unidades de disco duro, diskette, cdrom.
Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat

umount
Descripción: desmontar unidades.
Ejemplos: umount /dev/hda2, umount /mnt/lnx

wget
Descripción: programa para descargar ficheros por http o ftp.
Ejemplos: wget http://www.rediris.es/documento.pdf

lynx
Descripción: navegador web con opciones de ftp, https.
Ejemplos: lynx www.ibercom.com, lynx --source http://www.ibercom.com/script.sh | sh

ftp
Descripción: cliente FTP.
Ejemplos: ftp ftp.ibercom.com

whois
Descripción: whois de dominios.
Ejemplos: whois ibercom.com

who
Descripción: muestra los usuarios de sistema que han iniciado una sesion.
Ejemplos: who, w, who am i

mail
Descripción: envio y lectura de correo electronico.
Ejemplos: mail pepe@ibercom.com < fichero, mail -v pepe@ibercom.com < fichero

sort
Descripción: ordena el contenido de un fichero.
Ejemplos: cat /etc/numeros | sort, ls | sort

ln
Descripción: =link. para crear enlaces, accesos directos.
Ejemplos: ln -s /directorio enlace

tail
Descripción: muestra el final (10 lineas) de un fichero.
Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more

head
Descripción: muestra la cabecera (10 lineas) de un fichero.
Ejemplos: head fichero, head -100 /var/log/maillog | more

file
Descripción: nos dice de que tipo es un fichero.
Ejemplos: file fichero, file *


Comandos de administracion

sysctl
Descripción: Configurar los paràmetros del kernel en tiempo de ejuecución.
Ejemplos: sysctl -a

ulimit
Descripción: muestra los limites del sistema (maximo de ficheros abiertos, etc..)
Ejemplos: ulimit

adduser
Descripción: añadir usuario de sistema.
Ejemplos: adduser pepe, adduser -s /bin/false pepe

userdel
Descripción: = eliminar usuario de sistema
Ejemplos: userdel pepe

usermod
Descripción: = modificar usuario de sistema
Ejemplos: usermod -s /bin/bash pepe

df
Descripción: = disk free. espacio en disco disponible. Muy util.
Ejemplos: df, df -h

uname
Descripción: =unix name. Informacion sobre el tipo de unix en el que estamos, kernel, etc.
Ejemplos: uname, uname -a

netstat
Descripción: la informacion sobre las conexiones de red activas.
Ejemplos: netstat, netstat -ln, netstat -l, netstat -a

ps
Descripción: =proccess toda la informacion sobre procesos en ejecucion.
Ejemplos: ps, ps -axf, ps -A, ps -auxf

free
Descripción: muestra el estado de la memoria RAM y el SWAP.
Ejemplos: free

ping
Descripción: heramienta de red para comprobar entre otras cosas si llegamos a un host remoto.
Ejemplos: ping www.rediris.es

traceroute
Descripción: herramienta de red que nos muestra el camino que se necesita para llegar a otra maquina.
Ejemplos: traceroute www.rediris.es

du
Descripción: =disk use. uso de disco. Muestra el espacio que esta ocupado en disco.
Ejemplos: du *, du -sH /*, du -sH /etc

ifconfig
Descripción: =interface config. configuracion de interfaces de red, modems, etc.
Ejemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0

route
Descripción: gestiona las rutas a otras redes.
Ejemplos: route, route -n

iptraf
Descripción: muestra en una aplicacion de consola TODO el trafico de red IP, UDP, ICMP.
Permite utilizar filtros, y es SUMAMENTE UTIL para diagnostico y depuracion de firewalls
Ejemplos: iptraf

tcpdump
Descripción: vuelca el contenido del trafico de red.
Ejemplos: tcpdump, tcpdump -u

lsof
Descripción: muestra los ficheros(librerias, conexiones) que utiliza cada proceso
Ejemplos: lsof, lsof -i, lsof | grep fichero

lsmod
Descripción: Muestra los modulos de kernel que estan cargados.
Ejemplos: lsmod

modprobe
Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal.
Ejemplos: modprobe ip_tables, modprobe eepro100

rmmod
Descripción: Elimina modulos del kernel que estan cargados
Ejemplos: rmmod

sniffit
Descripción: Sniffer o husmeador de todo el trafico de red. No suele venir instalado por defecto.
Ejemplos: sniffit -i