viernes, julio 10, 2020

Forma rapida de compilar Openwrt

Esta es la forma rápida de compilar openwrt

Descarga usando git

 git clone https://git.openwrt.org/openwrt/openwrt.git

ingresa a la carpeta creada y actualiza los paquetes a las ultimas versiones

 cd openwrt
 ./scripts/feeds update -a
 ./scripts/feeds install -a

Hecho es solo debes ejecutar el siguiente comando para elegir la plataforma de destino de la imagen:

 make menuconfig






Como ya has elegido la plataforma y los paquetes ahora puedes compilar:

 make -j4

Ya compilado aparecerá una carpeta  bin donde encontraras  el archivo bin a utilizar:




Saludos




martes, diciembre 17, 2019

Analisis de Probe request

Para conectarse a las redes WIFI, los dispositivos deben descubrir o detectar las redes existentes, para esto utilizan los clientes los probe request en todos los canales de la banda en los que está habilitado para transmitir.



Estos paquetes se pueden capturar y así obtener la información de los dispositivos WIFI que están cercanos.


En Linux para conseguir esto debemos realizar los siguientes pasos:

1.- Configuración de Interface en modo Monitor


Para esto primero deshabilitamos el network-manager y deshabilitamos la interface con ifconfig:

sudo service network-manager stop
sudo ifconfig wlp1s0 down


Configuramos la interface en modo monitor y la volvemos a activar:

sudo iwconfig wlp1s0 mode monitor
sudo ifconfig wlp1s0 up


Verificamos que la interface este en modo monitor:

sudo iwconfig wlp1s0
wlp1s0    IEEE 802.11bgn  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=15 dBm  
                Retry short limit:7   RTS thr:off   Fragment thr:off
                Power Management:off




en modo normal deberia verse asi:

sudo iwconfig wlp1s0
wlp1s0    IEEE 802.11bgn  ESSID:"XXXXX" 
          Mode:Managed  Frequency:2.412 GHz  Access Point: 9A:8A:20:XX:XX:XX  
          Bit Rate=72.2 Mb/s   Tx-Power=15 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=62/70  Signal level=-48 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:31   Missed beacon:0



Ya estamos listo para verificar los probe request a traves de tcpdump o Wireshark


2.- Capturar a traves de TCPDUMP


En tcpdump debemos filtrar los probe request en nuestra interface WIFI:

sudo tcpdump -i wlp1s0 -s 0 -nne '(type mgt and subtype probe-req)' 

Para mas información de como filtrar por favor revisen [1]

Con esto obtendrán algo así:


 sudo tcpdump -i wlp1s0 -s 0 -nne '(type mgt and subtype probe-req)'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp1s0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
10:26:06.146207 249112607us tsft 1.0 Mb/s 2412 MHz 11b -31dBm signal -31dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:06.151624 249117920us tsft 1.0 Mb/s 2412 MHz 11b -27dBm signal -27dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request (prueba-wireshark) [1.0 2.0 5.5 11.0 Mbit]
10:26:06.166410 249132835us tsft 1.0 Mb/s 2412 MHz 11b 4dBm signal 4dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:06.169342 249135654us tsft 1.0 Mb/s 2412 MHz 11b 7dBm signal 7dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request (prueba-wireshark) [1.0 2.0 5.5 11.0 Mbit]
10:26:06.249639 249216271us tsft 1.0 Mb/s 2412 MHz 11b -28dBm signal -28dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:06.252041 249218017us tsft 1.0 Mb/s 2412 MHz 11b -10dBm signal -10dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request (prueba-wireshark) [1.0 2.0 5.5 11.0 Mbit]
10:26:06.269873 249236306us tsft 1.0 Mb/s 2412 MHz 11b -22dBm signal -22dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:06.271229 249237709us tsft 1.0 Mb/s 2412 MHz 11b -21dBm signal -21dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request (prueba-wireshark) [1.0 2.0 5.5 11.0 Mbit]
10:26:06.372397 249338889us tsft 1.0 Mb/s 2412 MHz 11b -10dBm signal -10dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:07.263172 250230286us tsft 1.0 Mb/s 2412 MHz 11b -67dBm signal -67dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:34:e1:2d:12:df:a4 Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
10:26:07.395149 250362383us tsft 1.0 Mb/s 2412 MHz 11b -60dBm signal -60dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:34:e1:2d:12:df:a4 Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
10:26:07.803719 250771377us tsft 1.0 Mb/s 2412 MHz 11b -42dBm signal -42dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:34:e1:2d:14:b2:bb Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
10:26:07.966819 250934075us tsft 1.0 Mb/s 2412 MHz 11b -90dBm signal -90dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:10:98:c3:01:f5:37 Probe Request () [1.0 2.0 5.5 11.0 Mbit]
10:26:07.980292 250947789us tsft 1.0 Mb/s 2412 MHz 11b -54dBm signal -54dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:34:e1:2d:14:b2:bb Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
10:26:08.003021 250970953us tsft 1.0 Mb/s 2412 MHz 11b -58dBm signal -58dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:34:e1:2d:14:b2:bb Probe Request () [1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 Mbit]
10:26:08.333273 251300852us tsft 1.0 Mb/s 2412 MHz 11b -87dBm signal -87dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:30:07:4d:c0:d2:b7 Probe Request (RAYTEL) [1.0 2.0 5.5 11.0 Mbit]
10:26:08.807109 251775003us tsft 1.0 Mb/s 2412 MHz 11b -48dBm signal -48dBm signal antenna 0 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:70:bb:e9:aa:b1:9f Probe Request () [1.0 2.0 5.5 11.0 Mbit]



Aqui como puntos importantes son, utilizando la ultima linea:

SA:70:bb:e9:aa:b1:9f: MAC desde dispositivo que genera el Probe Request

-48dBm: Es el nivel de señal con que se capturo ek paquete, esto puede darte una idea de que tan lejos o cerca este el dispositivo

[1.0 2.0 5.5 11.0 Mbit]: codificaciones que soporte el dispositivo

3.- Capturar a traves de Wireshark


en Wireshark debemos capturar en la interface WIFI y utilizar el siguiente filtro:

lan.fc.type_subtype == 0x0004

para mas detalles ver [2]





[1]: http://infosec.vishalmishra.in/2013/09/capture-wireless-traffic.html

 [2]: https://notasinalambricas.wordpress.com/2016/11/17/descubriendo-redes-inalambricas-parte-2/

[3]: https://www.cisco.com/c/en/us/support/docs/wireless-mobility/80211/200527-Fundamentals-of-802-11-Wireless-Sniffing.html











jueves, diciembre 20, 2018

Se instalara MySQL en un Ubuntu 18.04:

Se instalara MySQL en un Ubuntu 18.04:

 sudo apt install mysql-server

Para poder acceder de cualquier lugar se debe editar el archivo de configuración y permitir las conexiones remotas:

 sudo nano  /etc/mysql/mysql.conf.d/mysqld.cnf

 # cambiar de 127.0.0.1 a 0.0.0.0
 bind-address = 0.0.0.0

y se debe reiniciar el servicio:

 sudo service mysql restart

Ya el servidor permite conexiones remotas crearemos un usuario con acceso remoto y a todas las bases de datos:

 sudo mysql

 CREATE USER 'nombre_usuario'@'%' IDENTIFIED BY 'tu_contrasena';
 GRANT ALL PRIVILEGES ON * . * TO 'nombre_usuario'@'%';
 FLUSH PRIVILEGES;

miércoles, diciembre 16, 2015

Utilizar modulos SFP de terceros en swtiches Cisco

 
 
 
 
Aunque SFP no es un estándar, si se construye en base a un multi-source agreement (MSA) el cual permite que los módulos SFP sean compatibles entre múltiples fabricantes. 



Esto permite que uno pueda instalar módulos de distintas marcas en equipamiento Huawei, Cisco SMB, Juniper, etc. Pero en los switches Cisco de la linea Catalyst esto no es posible por que al instalar un modulo el switch arroga el siguiente error:


%GBIC_SECURITY_CRYPT-4-VN_DATA_CRC_ERROR: GBIC in port 65586 has bad crc
%PM-4-ERR_DISABLE: gbic-invalid error detected on Gi1/0/50, putting Gi1/0/50 in err-disable state

Lo cual bloquea la puerta y no la permite utilizar. Pero esto tiene solucion con los siguientes comandos:

service unsupported-transceiver
no errdisable detect cause gbic-invalid

El primer comando permite agregar módulos SFP de terceros o no soportados, y el segundo deshabilita el error por modulo invalido. Despues esto es necesario es reiniciar la puerta del switch que quedo con error para que esta funcione.


sábado, septiembre 19, 2015

Proxy SIP Repro

Repro es un proxy SIP simple de implementar y de configurar. Este proxy esta incluido en los repositorios de Debian 8.

Instalación


La instalacion es simple, solo debemos instalar como cualquier paquete con aptitude:

sudo aptitude install repro

Y lo iniciamos:

sudo /etc/init.d/repro start

la administracion es el siguiente:

http://127.0.0.1:5080/index.html

Los datos para ingresar son Usuario: admin y pass: admin


Configurar dominio


 Ingresamos a la pagina DOMAINS y agregamos la IP de computador con repro:


En este caso agregamos la IP 192.168.0.111 y el puerto 5060

Al agregar un nuevo dominio es necesario reiniciar Repro:

sudo /etc/init.d/repro restart

Configurar usuarios (extensiones)



Ahora de agregamos los usuarios para esto ingresamos a ADD USER



Agregamos los usuarios en el dominio 192.168.0.111 con los siguientes datos:

Usuario1
User Name: 100
Password: 100

Usuario2
User Name: 101
Password: 101




Configurar clientes


Primero configuraremos Linphone en nuestro escritorio Linux:

Opciones -> Preferencias ->  Gestionar Cuentas SIP -> Añadir




Ahora configuraremos linphone es nuestro android


Ahora podemos realizar llamadas entre el teléfono y el computador

domingo, septiembre 13, 2015

Calculo de enlaces inalambricos

El calculo de enlace se base en los siguientes datos y formulas, aquí se simplifico los cálculos dando por supuesto que hay linea vista, la zona de fresnel esta despegada y no se calcula la interferencia. El margen de potencia de requiere que al menos sea de 15db para que el enlace sea realizable
Nota: En enlace de menos de 7GHz de frecuencias, factores como lluvia, nieve, neblina no afectan significativamente los cálculos de los enlaces.


d = Distancia en Km

f = Frecuencia en Mhz

P_tx_tx = Potencia de transmisión del transmisor

At_cab_tx =Atenuación del cable de transmisor

Ga_An_tx = Ganancia antena de transmisor

At_cab_rx = Atenuación del cable de receptor

Ga_An_rx = Ganancia antena de receptor

Sen_rx  = Sensibilidad de receptor en data rate definido
 
 

Formulas

Atenuación_espacio_libre = 32,45 + 20log(d)+20log(f)  
Potencia = Pot_trans_tx – Aten_cab_tx – Aten_cab_rx + Gan_ant_tx + Gan_ant_tx  
Potencia_recepción = Potencia – Atenuación_espacio_libre

Margen de potencia de recepción

Margen = Potencia_recepción – Sensibilidad_del_receptor

Ejemplo de Calculo

El enlace sera de 1,9 Km de distancia, Para la implementación se utilizaran los equipos Ubiquiti PBE-M5-300 en la frecuencia de 5.8GHz, de estos equipos se obtienen los siguientes datos:


d = 1,9 Km
f = 5800 MHz
P_tx_tx = 21 db                  nota: obtenido en datasheet de equipo
At_cab_tx =0 db                  nota: No se utilizan cables la antena esta integrada
Ga_An_tx = 22 db                 nota: obtenido en datasheet de equipo 
At_cab_rx = 0db                  nota: No se utilizan cables la antena esta integrada
Ga_An_tx = 22db                  nota: obtenido en datasheet de equipo
Sen_rx = -73db                   nota: sensibilidad obtenida para data rate MCS15


Atenuación_espacio_libre = 32,45 + 20log(1,9)+20log(5800) = 32,45 + 5,58  +  75,3 = 113,3

Potencia = Pot_trans_tx – Aten_cab_tx – Aten_cab_rx + Gan_ant_tx + Gan_ant_tx = 21 - 0 -0 + 22 + 22 = 65

Potencia_recepción = Potencia – Atenuación_espacio_libre' = 65 - 113,3 = -49 db

Margen de potencia de recepción


Margen = Potencia_recepción – Sensibilidad_del_receptor = -49 - (-73) =  24 
 
El resultado nos da un margen mayor al margen requerido de 15, asi que el enlace es factible.
 
 

VRRP en Vyos/UBNT EdgeRouter

VRRP (Virtual Router Redundancy Protocol) es un protocolo de redundancia a nivel IP definido en el RFC3768. Fue diseña para permitir alta disponibilidad en la puerta de enlace por defecto en una subred, aunque se puede utilizar tambien para permitir alta disponibilidad de servicios (servidores web, Telefonía, etc). 
En este ejemplo revisaremos la funcionalidad original, alta disponibilidad de la puerta de enlace. Se presupone que ambos Vyos ya tienen acceso a internet, tienen configuradas interfaces, rutas, regla de NAT y de filtrado. El diagrama es el siguiente:


Los datos relevantes son:

Subred: 10.0.0./24
IP virtual: 10.0.0.10
IP router1: 10.0.0.11
IP router2: 10.0.0.12

El router1 sera el principal, tendrá mayor prioridad, y ademas tendra configurado el comando preempt que le permitira recuperar la IP virtual luego de una caida o reinicio.

Router1

set interfaces ethernet eth0 vrrp vrrp‐group 10
set interfaces ethernet eth0 vrrp vrrp‐group 10 virtual‐address 10.0.0.10/24
set interfaces ethernet eth0 vrrp vrrp‐group 10 preempt true
set interfaces ethernet eth0 vrrp vrrp‐group 10 priority 150
commit
save
#
show interfaces ethernet eth0 vrrp 
vrrp‐group 10 {
  preempt true
  priority 150
  virtual‐address 10.0.0.10/24
}
 

Router2


set interfaces ethernet eth0 vrrp vrrp‐group 10
set interfaces ethernet eth0 vrrp vrrp‐group 10 virtual‐address 10.0.0.10/24
set interfaces ethernet eth0 vrrp vrrp‐group 10 priority 100
commit
save
#
show interfaces ethernet eth0 vrrp 
vrrp‐group 10 {
  priority 100
  virtual‐address 10.0.0.10/24
}


Con esta configuración ya tendremos corriendo VRRP entre nuestro routers. Router1 en modo normal recibirá el trafico desde la subred, ante una caida de este Router2 obtendrá la IP virtual y permitira que el flujo de trafico a internet no se interrumpa.

Las opciones del comando VRRP en Vyos son las siguientes:

interfaces ethernet eth0 vrrp 
   vrrp-group <1-255> #VRRP group number
      advertise-interval <1-255> #Advertise interval (default 1)
      authentication
      description  #Description
      disable  #VRRP group disabled
      hello-source-address  #Source address for vrrp hello packets (optional)
      preempt  #Preempt mode
      preempt-delay <0-1000> #Preempt Delay in seconds
      priority <1-255> #Priority
      rfc3768-compatibility
      run-transition-scripts  #Scripts for VRRP state-transitions
      sync-group  #Add this vrrp group to a sync group
      virtual-address  #Virtual IP address (up to 20 per group)