miércoles, 27 de febrero de 2019

Como conocer a que grupos pertenece un usuario en linux

Conoce 4 maneras distintas de conocer a que grupos pertenece un usuario en un sistema linux.

1.- id nom_usuario
2.- lid nom_usuario      (Esta opcion se debe utilizar como root)
3.- groups nom_usuario
4.- grep nom_usuario /etc/group

martes, 19 de febrero de 2019

Instalación de VirtualBox en Debian 9



Agregue la siguiente línea a su /etc/apt/sources.list
Para esto ingresamos de la siguiente manera nano /etc/apt/sources.list

deb http://download.virtualbox.org/virtualbox/debian stretch contrib


Agregamos la llave
apt-key agregar oracle_vbox_2016.asc

apt-key add oracle_vbox.asc

Podemos combinar la descarga y el registro
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | Sudo apt-key add -

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | Sudo apt-key add -

Por ultimo actualizamos el sistema 
aptitude update 

Instalamos las dependencias de Virtual Box 
aptitude install cpp-6 gcc-6 gcc-6-base:i386 libasan3 libcc1-0 libgcc-6-dev libisl15 libmpx2 libsdl-ttf2.0-0 linux-compiler-gcc-6-x86 linux-headers-4.9.0-8-amd64 linux-headers-4.9.0-8-common linux-headers-amd64 linux-kbuild-4.9 build-essential

Y luego instalamos VirtualBox 6.0
aptitude install virtualbox-6.0

viernes, 15 de febrero de 2019

Como saber la Mac de un equipo consultando la IP

A varias personas les puede surgir la duda de como saber la mac de un equipo consultando la IP del mismo,desde otra estación de trabajo, con los siguientes comando lo puedes lograr.

Primero hacemos ping a la ip que del host que vamos a consultar

#ping 128.10.10.51

Una vez que se genera el ping se cancela y se procede a realizar el siguiente comando, para que muestre la mac del equipo

#arp -a


Error de Ruby current directory: /var/lib/gems/2.3.0/gems/

RubyGems que es un gestor de paquetes para el lenguaje de programación Ruby.

RubyGems proporciona un formato estándar y autocontenido (llamado gem) para poder distribuir programas o bibliotecas en Ruby, una herramienta destinada a gestionar la instalación de éstos, y un servidor para su distribución.

Al momento de instalar paquetes de ruby y utilizar rubygems pueden surgir errores como el siguiente:

Error
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r 

    current directory: /var/lib/gems/2.3.0/gems/nokogiri-1.10.1/ext/nokogiri
/usr/bin/ruby2.3 -r ./siteconf20190215-12565-goelrr.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

Para solventar el error que se muestra anteriormente se deben instalar los siguientes paquetes

Solución
aptitude install ruby-dev zlib1g-dev liblzma-dev 

jueves, 14 de febrero de 2019

Captura el tráfico de la red con Darkstat


Darkstat es una herramienta para Linux, usualmente viene incluida en la una gran cantidad de repositorios oficiales. 

Para iniciar debemos instalar en nuestra distribución Debian. Para ello, abrimos un terminal y tecleam

#aptitude install darkstat


Cómo configurar Darkstat

Para configurar Darkstat se debe editar el archivo de configuración de que se encuentra en la ruta “/etc/darkstat/init.cfg”.

Nota: Antes de poder ejecutar la herramienta debemos cambiar unos valores en este archivo, por lo que desde el mismo terminal volvemos a colocar lo siguiente:

Respaldo del original
cp /etc/darkstat/init.cfg /etc/darkstat/init.cfg-original

a continuacion modificamos:
nano /etc/darkstat/init.cfg

Una vez que entramos al archivo de configuración observamos lo siguiente:



Aquí debemos configurar los siguientes parámetros

Cambiamos de No a Yes
START_DARKSTAT=yes

Si estamos analizando la interfaz Lan colocamos -i eth0 en el caso que estemos utilizando la interfaz Wan utilizamos -i wan0
INTERFACE="-i eth0"

El puerto por default que trae es 666 se lo cambiaremos a 8081 o el de su preferencia
PORT="-p 8081"

Aqui colocamos la ip del equipo local que tenemos 
BINDIP="-b 128.10.10.180"

En este espacio colocamos el Gateway y la mascara de red.
(Pertenece a un Rango Privado o Reservado )
LOCAL="-l 128.10.10.1/255.255.255.0"

Por ultimo descomentamos DNS
DNS="--no-dns"

Debería quedar como lo muestra la siguiente imagen


Una vez configurado guardamos y nos dirigimos al navegador donde de forma gráfica observaremos el trafico de red de nuestro equipo y de las ip de la red.

martes, 12 de febrero de 2019

Como montar unidad externas (USB) en Linux

Primero debemos saber como esta identificado nuestro dispositivo usb en nuestro equipo.
Usualmente el dispositivo se muestra en /dev/sdb* en los casos mas comunes se muestra en /dev/sdb1

Pasos para identifica el dispositivo como sdb en la consola:

ls -l /dev/sd*

o

ls /dev/sdb*

Saldrá algo como esto:

/dev/sdb /dev/sdb1

Antes de continuar es bueno informar que para montar se debe usar mount y para desmontar umount.

Creamos primero una carpeta para montar el contenido de la memoria USB.

#mkdir /mnt/usb

Para saber que formato tiene el dispositivo de almacenamiento colocamos el siguiente comando

#fdisk -l

Montamos el dispositivo

Una vez que ya sabemos el formato en que esta nuestro dispositivo tenemos varias opciones depende el formato. 

En caso de montar un dispositivo con el sistema de archivos de memoria USB FAT es el siguiente comando

#mount -t vfat /dev/sdb1 /media/usb

  • Detallando el comando anterior tenemos mount el cual indica montar. 
  • El parámetro -t vfat esta indicando el sistema de archivos a montar es del tipo FAT
  • La ruta /dev/sdb1 es la partición de nuestra memoria USB.
  • La ruta /media/usb es el directorio en que se montará el contenido de la partición /dev/sdb1 de nuestra memoria USB.

En el caso que mi memoria USB estuviera formateada en NTFS el comando para montar la memoria USB seria el siguiente comando

mount -t ntfs-3g /dev/sdb1 /media/usb

  • La palabra mount indica montar. 
  • El parámetro -t ntfs-3g especificamos que el sistema de archivos a montar es del tipo NTFS
  • La ruta /dev/sdb1 es la partición de nuestra memoria USB y /media/usb es el directorio en que se montará el contenido de la partición /dev/sdb1 de nuestra memoria USB.

La manera mas comun de hacerlo es la siguiente

#mount /dev/sdb1 /mnt/usb

Para verificar que el dispositivo se la partición colocamos los siguientes comando

Accedemos al carpeta:

cd /mnt/usb/

Listar su contenido
ls

Para desmontar el dispositivo colocamos el siguiente comando

#umount /dev/sdb

jueves, 7 de febrero de 2019

Tutorial de tcpdump análisis de paquetes de red en Linux

Tcpdump es una herramienta de línea de comandos utilizada en sistemas operativos Linux que permite capturar, mediante la biblioteca libpcap, el tráfico de una red LAN, WAN, etc. 


Primero iniciamos con la instalación de tcpdum

#apt install tcpdump


Una vez instalado tenemos la opción de diferente comando depende las necesidades del momento.

-Comando para ver que interfaces de red tenemos instaladas
#tcpdump -D



-El comando tcpdump con el parámetro mas sencillo
#tcpdum -A

-Iniciamos con la captura de paquetes en la interfaz wlan0 la red inalambrica
#tcpdump -nS -i wlan0

-Comenzar a utilizar tcpdum en modalidad verbose para todas las interfaces de red
#tcpdump -v -i any

-Permite evitar que tcpdump ubique los nombre de dominio de las IP que son capturadas
#tcpdump -n -v

-Comando para hacer capturas por protocolo
#tcpdump -i eth0 udp
#tcpdump -i eth0 tcp
#tcpdump -i eth0 icmp

-Comando para hacer capturas del protocolo por un puerto especifico
Ejemplo del tráfico WEB por el puerto UDP 80:
#tcpdump -i eth0 tcp port 80

Ejemplo del tráfico DNS por el puerto UDP 53:

#tcpdump -i eth0 udp port 53

-Comando para ver paquetes de un host especifico
#tcpdump host 192.168.1.50 -v

-Comando para ver paquetes de un host y puerto especifico
#tcpdump host 192.168.1.50 and port 80 -v

-Host o IP de origen/destino
#tcpdum -i interfaz protocolo puerto condicion src ip

Especificamos todavía más, capturamos el tráfico TCP por el puerto 80, pero sólo visualizamos el tráfico originado desde la IP 192.168.1.50. Para ello usamos el parámetro “src“. 

Como estamos utilizando más de un parámetro, debemos comenzar a añadir condicionales (and|or)

El siguiente ejemplo captura el tráfico que cumple las dos condiciones, puerto TCP 80 y origen IP 192.168.1.50:
#tcpdump -i eth0 tcp port 80 and src 192.168.1.50

Al igual que existe IP/host de origen, existe de destino, el parámetro es “dst“. 

En este ejemplo utilizamos el condicional “or” en lugar de “and”, de modo que para que se capture tráfico, o viene por el puerto 80 TCP o tiene destino la IP 192.168.1.50 (sea cual sea el puerto y protocolo):
#tcpdump -i eth0 tcp port 80 and dst 192.168.1.50

-Comando para filtrar los paquetes con origen 192.168.1.50 que lleven destino al puerto 80
#tcpdump src host 192.168.1.50 and dst port 80 -v

-Comando que permite capturar todo el tráfico excepto ciertas condiciones
Además de los condicionales “and|or” que comentaba antes, también podemos utilizar “not” para descartar cierto tráfico

Por ejemplo, vamos a capturar todo el tráfico a excepción del tráfico por protocolo ICMP:
#tcpdump -i eth0 not icmp

También podemos usar varias condiciones. Por ejemplo, capturar todo el tráfico a excepción del ICMP y el TCP:
#tcpdump -i eth0 not icmp and not tcp

-Comando para capturar numero de paquetes específicos con destino a un puerto en especifico
#tcpdum -i cant de paquete dst puerto


Aquí el ejemplo
tcpdump -c 3 dst port 80