[C][LINUX][GCC][SHELL] Error de compilacion LIBXML2

Tratando de parsear el XML con la librería existente en la maquina Redhat. Pero al momento de compilar me arroja los siguientes errores, los cuales no he podido resolver durante la mañana:

SDP.c:(.text+0x13d5): undefined reference to `xmlParseMemory'
SDP.c:(.text+0x13ec): undefined reference to `xmlDocGetRootElement'
SDP.c:(.text+0x1403): undefined reference to `xmlFreeDoc'
SDP.c:(.text+0x141b): undefined reference to `xmlStrcmp'
SDP.c:(.text+0x142b): undefined reference to `xmlFreeDoc'

En el archivo SDP.c hago la referencia a la libreria:
#include 
#include 
#include 
Y en el Makefile esta incluida igual:


LIBXML      = -I/cons/cons

cons: $(IF_UPDATE) 
 $(CC)  $(INC_KRONOS)  -g $(CFLAGS) -DIPC $(ARCHIVO_CONF_PROD) SDP.c $(MSGs_ALARMA) $(LIBXML) ${LIBRPC} $(SDPINC) $(FILES_COMPILAR) $(I
NC_CONF) $(LIB_CONF) $(INC_ALARMA) $(LIB_ALARMA) $(LIB_OUM) -o $@ $(LIBADICIONAL)



Red Hat Enterprise Linux 5:-

1
2
3
4
checking for libxml2 config script... /usr/bin/xml2-config
checking if libxml2 is at least v2.6.29... no, 2.6.26
configure: error: NOTE: libxml2 library must be at least 2.6.29
 Actualizar la librería:

libxml2-2.9.1.tar.gz
$ wget -i ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz

$ tar -xvf libxml2-2.9.4.tar.gz


Esta linea al entrar al directorio descomprimido le damos una ruta alternativa donde configurar los fuentes resultantes, ya que generalmente en una maquina de desarrollo no tenemos permisos de ROOT para instalar el paquete completo en la maquina, por lo que opte por descomprimir en un directorio distinto al tipo /opt o el /usr
$./configure --prefix=/cons/cons/libxml2/libxml --with-python=no


Se agrego la opción --with-python=no ya que no es necesario en este caso utilizar python para compilar la libreria en este caso.

$make clean
$ make && make install



Luego de compilar se debe cambiar la referencia estática a la librería en el MAKEFILE:
$ diff Makefile Makefile.20160922
26,27c26
< #Eliminar path en produccion $(shell xml2-config --cflags)
< LIBXML      = $(shell /cons/cons/cons/libxml2/libxml/bin/xml2-config --cflags --libs)
---
> LIBXML      = -I/cons/cons






Con este cambio se dejara a la librería obtener la ruta de las cabeceras xml2-config --cflags --libs
$ diff SDP.c SDP.c.20160922
23,25c23,24
< #include 
< #include 
< #include 
---
> #include 
> #include 
36,37d34
En el codigo editar las referencias a las cabeceras de las librerias de la LIBXML2:
Compilar y al pasar a produccion tener el cuidado de sacar la ruta de desarrollo en donde quedo la libreria compilada :
/cons/cons/libxml2/libxml/bin/

AWK y tratamiento de archivos

Para confeccionar las pruebas de Stress prepare varios archivos con los móviles por ej para utilizar distinto orden de los móviles para poder  hacer una creación con móviles padres existentes:

sort -n -r msisdn2x2.txt > msisdn2x2Inv.txt
Luego de esto confeccione otro archivo con 4 columnas con tanda de 500 móviles cada fila uno con los msisdn como venían ordenados fila 1 y fila 2 o la fila 2 y 4 con el orden invertido.
Para aplicar el AWK solo se debe tener en cuenta que solo funciona con String y se debe tener cuidado con las comillas ( "" ), para ello los XML de entrada las reemplace por @
Como el archivo debe ir un String con :   SOAPAction OPERACION|
Las variables $1 y $2 corresponden a las columnas del archivo : "moviles/msisdn2x2.txt" 
el comando sed es para reemplazar caracteres sed 's/@/"/g' reemplaza el string "@" por " y elimina los espacios entre caracteres.
manual/gawk.html

Para el problema de reemplazo de móviles con varios registros se deben confeccionar archivos de prueba con los Request de peticiones SOAP y se deben enviar varias variables por cada linea que se lea del archivo de pruebas, es necesario usar AWK.
//cambio de numero $1 padre inicial del 1 al 500 y numero nuevo $2 del 501 al 1000


awk '{print "@SOAPAction: changeMDNumber@|"$1""$2""}' moviles/msisdn2x2.txt | sed 's/@/"/g' > changeMDNumberMultiSmart.txt


Mr Robot de la ficcion a la realidad Version 2( nuevas temporadas)


Mr. Robot es una serie de televisión estadounidense creada por Sam Esmail.1 Se estrenó el 24 de junio de 2015 en la cadena USA Network. La serie sigue a Elliot Alderson (Rami Malek), un joven hacktivista que sufre de fobia social, depresión clínica y delirios3 , trabaja como ingeniero de seguridad informática y usa sus habilidades para proteger a las personas por las que se preocupa. Elliot es reclutado por Mr. Robot (Christian Slater), el misterioso líder de un grupo de hacktivistas que quiere destruir a poderosos empresarios de multinacionales que están manejando el mundo. La temática de la serie revela algunos temas conocidos como el uso de linux en especial la favorita es Kali Linux es una distribución basada en Debian GNU/Linux diseñada principalmente para la auditoría y seguridad informática en general. Fue fundada y es mantenida por Offensive Security Ltd. Mati Aharoni and Devon Kearns, ambos pertenecientes al equipo de Offensive Security, desarrollaron la distribución a partir de la reescritura de BackTrack, que se podría denominar como la antecesora de Kali Linux. En varios capítulos los protagonistas hacen uso de esta distro en Raspberry Pi, en un capitulo se ve que Darlene via fono le pide activar las conexiones de red a Angela Moss desde su terminal, para ello debe iniciar Kali Linux desde USB:

  
 

En otra escena se puede ver a Eliot llegando a su casa y fabricando una antena de WIFI con un embace de papas fritas para aumentar la seña de recepción y usar la WIFI del vencino.

 

En la primera temporada se puede ver a Eliot con Tyrell teniendo la discusión filosófica de cual es el entorno de escritorio es el mejor Gnome o KDE:


O en el primer capitulo donde se puede ver un ataque de DDoS que resulto ser un rootkit en los servidores de E Corp:

 

En otro capitulo se puede ver el uso de herramientas como osTicket: osTicket es un Sistema de Soporte al cliente a través de Internet, totalmente automatizado y con capacidad para integrar numerosos teleoperadores y tareas automáticas. osTicket funciona protocolos como perl gateway, pop3, gestiona un número ilimitado de emails, etc.

 
La Administración incorpora acciones de borrado de tickets de la base de datos, creación de categorías y representantes, creación de grupos, implantación de alertas y un largo etcétera. Características: Categorías y Representantes Flujos de E-mail Conexiones Pop3 Direcciones de correo ilimitadas Monitorización de Operadores Seguimiento de Visitantes Auto asignación de Tickets Paneles de Administración Paneles de Operadores Paneles de Usuarios Alertas para dispositivos móviles etc.

Para realizar el hackeo a E Corp utilizan una van robada utilizando una vulnerabilidad conocida en los CPU de los autos:
hackers-remotely-kill-jeep-highway






El uso Raspberry Pi:  es un ordenador de placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de bajo coste desarrollado en Reino Unido por la Fundación Raspberry Pi.
RASPBERRY-Pi-3-Model-B-Wireless-Lan-1-2GHz-Quad-Core-64Bit-1GB-RAM-2016-Model






Hacen un super computador con la Raspberry Pi :
university-builds-cheap-supercomputer-with-raspberry-pi-and-legos


En el capitulo 9 de la segunda temporada se usa el pwn phone para hackear al dark army, de hecho este telefono viene con Kali Linux preinstalado con todas sus herramientas, en el video del demo se puede ver como usa el pwn para obtener la cuenta de google de la victima usando una red wifi abierta y robandoles las credenciales con una pagina falsa de login de google.

pwn-phone2014b


Existen técnicas y maneras de conseguir acceso físico a un equipo y explotar las vulnerabilidades, y lo único que hay que hacer es forzar los condicionantes adecuados para poder llevarlo a cabo. Perder de vista el equipo o prestarlo a un amigo un momento para revisar las novedades de algún blog, o separarte de tu escritorio por unos momentos para ir al lavabo, es tiempo suficiente para que un atacante pueda llegar y enchufar un dispositivo como el “USB Rubber Ducky”.

Este dispositivo es un teclado programado con forma de USB que nada más conectarse comienza a escribir en el equipo de forma automatizada, para lanzar programas y herramientas que bien pueden estar en el equipo víctima o cargados en la memoria Micro SD que lleva incluida.

En cuestión de segundos tendría acceso a información que se podría subir automáticamente a un servidor FTP u otro sitio. Algo parecido a lo que se explicaba con USB Dumper, pero al revés, es decir, en lugar de ser el servidor el malicioso que roba los datos del USB, sería USB Rubber Ducky el que robaría los datos al equipo.



¿Qué es USB Rubber Ducky?

Casi todos los sistemas operativos de computadoras portátiles, tablets o smartphones permiten la comunicación con el usuario a través de los teclados USB. Es por eso que hay una especificación en el estándar USB ubicua conocida como HID (Human Interface Device) – o dispositivo de interfaz humana. En pocas palabras, cualquier sistema operativo al que conectemos el USB Rubber Ducky lo detectara y será bien aceptado automáticamente como si se hubiera conectado un teclado, ya sea en Windows, OS X, Linux o Android.


Al final, el teclado sigue siendo un interfaz fundamental y lo que hará USB Rubber Ducky es "teclear comandos" en el sistema como si lo estuviera haciendo el usuario que se ha conectado a la sesión. Usando un sencillo lenguaje de programación y un editor de texto podríamos compilar un binario que automatice diversos “payloads” con lo cual podríamos realizar ataques en cuestión de segundos.
  
Debido a su estructura, los sistemas operativos ofrecen una confianza inherente a las pulsaciones del teclado, por lo tanto los dispositivos que abusan de la interfaz HID no pueden ser detectados por las contramedidas tradicionales de forma sencilla ya que iría contra la filosofía Plug&Play de los sistemas. Esto hace que sea una herramienta muy útil en procesos de pentesting internos, ataques de ingeniería social del tipo "¿me puedes imprimir un documento?" o de auténticos atacantes de dentro de la organización.

¿Qué ataques se pueden realizar?

Al final, cuando un usuario pincha un USB Rubber Ducky en su sesión de usuario es como si le hubiera dejado el teclado al atacante para que este ejecutase lo que quisiera. Es decir, este ataque se aprovecha de la confianza del usuario, que al final siempre es “el eslabón mas débil” o de la seguridad física de muchos equipos expuestos.

¿Cuántos de ustedes han llegado a alguna oficina gubernamental, banco y tienen a simple vista y acceso a los puertos USB de los equipos? ¿A cuántos de ustedes les han prestado algún equipo para revisar el correo, las redes sociales, etcétera? ¿Cuántos no tienen en la oficina un equipo de un compañero con cuentas de diferentes administradores o que tenga más permisos que el resto? ¿Cuántas veces no has visto un puerto USB en un Kiosco de Internet o un Punto de Información? Si ninguno de esos puertos bloquea el interfaz HID, puedes hacer el ataque. Al final quizás agregar, subirlas a un servidor FTP en cuestión de segundos.

Seguro que os ha tocado llegar a una oficina a resolver tramites y la persona que te atendió tuvo que salir un par de minutos, y esto es tiempo suficiente para un atacante enchufar el USB Rubber Ducky y lanzar el payload - en lugar de hacer un David Hasselhoff para robar las passwords -Por mencionar algunos ataques brevemente:

Recolección de información del sistema operativo.
* Robar información importante de los navegadores de Internet.
* Robar y usar las cookies de las sesiones abiertas.
* Hacer capturas de pantalla del escritorio y carpetas importantes del sistema.
* Robar y utilizar las contraseñas de las conexiones WiFi de la víctima.
* Subir la información a traves un servidor FTP.
 Ataques dirigidos al sistema:
* Agregar usuarios con permisos administrativos al equipo de la víctima.
* Borrar usuarios del sistema.
* Hacer Pharming de DNS.
* Infección del sistema descargando y ejecutando un binario de Internet.
* Crackear passwords del administrador en el sistema.
* Crear un Backdoor WiFi.
* Bloquear programas en el sistema operativo de forma sigilosa.
¿Cómo podemos protegernos de estos ataques?

Desde que el grupo de hackers de Hack5 hizo pública la herramienta, algunos siguen pensando que desactivando el “autoplay” de los discos USB podrían detenerlo, pero esto no es posible hacerlo de esa manera ya que el ataque no sea hace vía un USB de almacenamiento sino como si alguien estuviera tecleando en un teclado USB.

Las formas que se puede utilizar para detectar que un USB es realmente un HID USB, se puede hacer un script en PowerShell que enumere la lista de dispositivos HID que alerte cuando uno nuevo se haya conectado y se bloquee. Aquí hay información sobre cómo acceder a la lista de los dispositivos desde PowerShell. A partir de ese punto, la forma en la que quieres estar protegido depende de ti.

En el trabajo de Adrian Crenshaw, titulado "Plug & Prey: Malicious USB devices" que fue presentado en la ShmooCON 2011 se explica en detalle la lista de posibles ataques que se pueden hacer por USB. Entre ellos, por supuesto, los teclados USB que abusan de la interfaz HID.

NTPassword



NTPassword es un software forense que se utiliza para recuperar contraseñas almacenadas en el registro de Windows. No es necesario que el sistema esté conectado a Internet, ya que el programa se ejecuta desde una unidad externa como CD o un USB. En el episodio 8 de la segunda temporada, Mobley de fsociety utiliza esta herramienta para crackear el ordenador de Susan Jacobs, la empleada de E Corp cuya casa han ocupado.

MagSpoof



¿Cómo utilizar los datos de la banda magnética de una tarjeta sin tener una tarjeta en donde copiarlos? Fácil: utiliza MagSpoof. Es un dispositivo que usa un electroimán simulando ser la barra magnética de una tarjeta. Claro está: previamente hay que haber guardado los números contenidos en la banda de la tarjeta que se quiere explotar. Lo utiliza Darlene en el episodio 6 de la segunda temporada para entrar a la habitación de hotel desde donde dará las indicaciones a Angela para conseguir hackear al FBI.

El ransomware

El ransomware ha sido la gran estrella de 2015. Según datos de Kaspersky, 754.684 ordenadores se infectaron el año pasado con troyanos chantajistas, un 171% más que en 2014. Ya lo contamos en eldiario.es: este tipo de malware funciona de forma similar a un troyano y tiene la capacidad de encriptar determinados archivos o datos de nuestro sistema, pidiendo después un rescate por liberarlos. Así empieza la segunda temporada de Mr. Robot.
Como curiosidad: alguien ha creado un ransomware imitando al fsociety que aparece en la serie. Lo subieron a Virustotal hace algo menos de un mes y, aunque de momento no ha infectado a nadie, es código abierto.

TOR browser

Es el navegador que recomiendan los whistleblowers y todo aquel que quiera garantizarse una expectativa mínima de privacidad en la red. La red TOR funciona a través de nodos interconectados que enmascaran la dirección IP del sistema. Los datos viajan encriptados de unos nodos a otros y solo se descifran al llegar a su destino, haciendo que el rastro sea prácticamente imposible de seguir ya que antes, los paquetes de datos han cambiado de IP varias veces. Por ejemplo. Ray, que le pide ayuda a Elliot para aumentar la seguridad de sus sistemas, tiene una página web con pornografía infantil en la Deep web a la que solo se puede acceder vía TOR.

Bluescanner y Bluesniff

Elliot ataca a lo largo de la serie varios dispositivos Bluetooth utilizando Bluescanner y Bluesniff. La distro de Linux que también utiliza Elliot, Kali Linux, los lleva de serie. El primero sirve para rastrear dispositivos Bluetooth y extraer información de ellos sin necesidad de emparejarse con él. El segundo rastrea redes Bluetooth ocultas y ataca los dispositivos vulnerables para acceder a sus sistemas.

Wickr


Aunque pueda parecer lo contrario, Wickr no es nueva. Fue lanzada en 2012, pero experimenta cierto auge gracias a la serie de Sam Esmail. Como en Signal, Telegram o WhatsApp, las conversaciones van cifradas de extremo a extremo. Además, elimina todos los metadatos de cada conversación y permite poner fecha de caducidad a los mensajes: desde 3 segundos a 6 días. En Wickr están tan seguros de que tienen el software total que ofrecen 10.000 dólares a quien descubra fallos en la app. Es ese candado en Mr. Robot que Elliot, Mobley o Darlene tocan y, después de leer el mensaje, se autodestruye.

DeepSound

Cada vez que hackea a alguien, Elliot almacena la información en un CD que previamente ha encriptado utilizando una herramienta llamada DeepSound. Este software permite esconder o cifrar los datos en un archivo de música con extensión .wav, .mp3, etc. Es por eso que Elliot no llama a los CDs por el nombre del hackeado: para él son discos de grupos de música famosos como Led Zeppelin, Blur, Van Halen...

Elliot usa Kibana para visualizar los esfuerzos del Ejército Oscuro para robar datos en "eps3.4_runtime-error.r00". Los usuarios elásticos en todo el mundo hacen una doble toma. Tratamos de escribir con calma una publicación de blog.
El Sr. Robot es un favorito de toda la compañía por razones que probablemente sean obvias. El programa es famoso por representar escenarios de ciberseguridad con una estrategia de detección realista, herramientas y respuestas. Entonces, cuando el equipo de Mr. Robot se acercó a nosotros, nos emocionó saber que querían presentar a Kibana en un próximo episodio. Nosotros, por supuesto, dijimos "¡sí!". No podíamos esperar para ver nuestro software en acción en el mundo de Elliot. Por cierto, notará que no es la última versión de Kibana, sino que Kibana 4 se ajusta a la línea de tiempo del programa.

En forma real, las mentes técnicas del Sr. Robot querían construir un auténtico tablero Kibana poblado de datos, creado con las herramientas reales. ¿Puedes ver por qué somos fanáticos?
Ryan Kazanciyan , Consultor Técnico de Mr. Robot, nos complace a todos en el contexto de ciberseguridad detrás de cada episodio. En su última publicación, se sumerge en cómo hizo un tablero de Kibana que representa la actividad maliciosa realizada por el Ejército Oscuro. Para empezar, Ryan construyó una máquina virtual ELK (hoy denominada Elastic Stack) compuesta por Elasticsearch, Logstash y Kibana. Luego lo llenó con datos de sistemas Windows y Linux. Para obtener más comentarios entre bastidores sobre cómo construyó cada sección del tablero, dirígete a su publicación de blog .

monitoring-the-dark-army-with-kibana-mr-robot

Por eso nos gusta a los informáticos esta serie de tv, contenido y acción (acción informática).

Mysql definicion de claves primarias PK

Claves primarias ¿simples o compuestas? 

 

Clave primaria compuesta.


Las claves primarias pueden ser simples, formadas por un solo campo o compuestas, más de un campo.
Recordemos que una clave primaria identifica 1 solo registro en una tabla. Para un valor del campo clave existe solamente 1 registro. Los valores no se repiten ni pueden ser nulos.
Retomemos el ejemplo de la playa de estacionamiento que almacena cada día los datos de los vehículos que ingresan en la tabla llamada "vehiculos" con los siguientes campos:

 - patente char(6) not null,
 - tipo char (4),
 - horallegada time not null,
 - horasalida time,
 
Necesitamos definir una clave primaria para una tabla con los datos descriptos arriba. No podemos usar la patente porque un mismo auto puede ingresar más de una vez en el día a la playa; tampoco podemos usar
la hora de entrada porque varios autos pueden ingresar a una misma hora. Tampoco sirven los otros campos.

Como ningún campo, por si solo cumple con la condición para ser clave, es decir, debe identificar un solo registro, el valor no puede repetirse, debemos usar 2 campos.

Definimos una clave compuesta cuando ningún campo por si solo cumple con la condición para ser clave.
 Usamos 2 campos como clave, la patente junto con la hora de llegada, así identificamos unívocamente cada registro.

Para establecer más de un campo como clave primaria usamos la siguiente sintaxis:

 create table vehiculos(
  patente char(6) not null,
  tipo char(4),
  horallegada time not null
  horasalida time,
  primary key(patente,horallegada)
 );
Ahora desarrollando me encontré con el siguiente TABLA :

CREATE TABLE `ServiceBalanceQuota` (
  `idServicePCRF` int(11) NOT NULL,
  `idBalance` int(11) NOT NULL default '0',
  `idQuota` int(11) NOT NULL,
  `idProduct` int(11) NOT NULL,
  PRIMARY KEY  (`idServicePCRF`,`idQuota`,`idProduct`),
  KEY `IDX_Produ` (`idProduct`),
  KEY `IDX_Service` (`idServicePCRF`),
  KEY `IDX_Balance` (`idBalance`),
  KEY `IDX_Quota` (`idQuota`),
  CONSTRAINT `FK_Balance` FOREIGN KEY (`idBalance`) REFERENCES `Balance` (`idBalance`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `Fk_Product` FOREIGN KEY (`idProduct`) REFERENCES `Product` (`idProduct`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_Quota` FOREIGN KEY (`idQuota`) REFERENCES `Quota` (`idQuota`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_Service` FOREIGN KEY (`idServicePCRF`) REFERENCES `ServicePCRF` (`idServicePCRF`) ON DELETE NO ACTION ON UPDATE NO ACTION
)


Podemos ver que tiene clave compuesta de ,

  PRIMARY KEY  (`idServicePCRF`,`idQuota`,`idProduct`)
Ahora si se quiere insertar los siguientes registros con esta estructura ?

 MultiSmart
Bal_Plan_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



 MultiSmart
Bal_Plan_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A




 MultiSmart
Bal_Plan_2
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A


 MultiSmart
Bal_Addon_1
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



 MultiSmart
Bal_Addon_2
QPS_1_RS
QPS_1_BON_V
QPS_1_BON_A



Obviamente no se puede.

Una Primary Key no puede tener valores repetidos ni valores nulos. Y eso, hay varias formas de conseguirlo.
Lo más conveniente siempre es que la columna que actúa como Primary Key (o una de las columnas, si es compuesta) sea autoincremental porque eso nos asegura que no tendrá valores repetidos ni nulos porque el mismo Firebird se encarga de asignarle valores a esa columna.
Pero ¿una columna o varias columnas?
Si planeas usar replicación entonces lo más conveniente es que la Primary Key esté compuesta por dos (o más) columnas. Si crees que nunca usarás replicación entonces puedes usar una sola columna autoincremental para ella.
La replicación es enviar los datos de una Base de Datos a otra Base de Datos. Por ejemplo tienes sucursales en Buenos Aires, Montevideo y Bogotá, cada una de ellas con su respectiva Base de Datos y quieres consolidar las ventas de esas tres sucursales para tenerlas en una sola Base de Datos. Entonces, debes poder distinguir en cual sucursal se realizó cada venta y los identificadores no te servirán porque pueden estar repetidos.

Conclusión:
  • Si no usas ni planeas usar replicación entonces la Primary Key puede estar compuesta por una sola columna autoincremental
  • Si usas o podrías llegar a usar replicación, entonces la Primary Key debería estar compuesta por dos columnas: una que identifique a la Sucursal y otra que sea autoincremental

BD MYSQL 5.X definicion de columnas

diseñemos una BD en MYSQL: pongámosle value  a una columna , GENIOS!!

ERROR 1064 (42000): You have an error in your SQL syntax ...
near '
 
 

El problema con eso es que hay palabras reservadas para MYSQL la mayoría deṕende de la versión que estemos utilizando.

Para evitar los errores se debe escapear las columnas con esos nombre mal definidos, para ello se debe usar `COLUMNA_NAME` o si la SQL_MODE esta en 'ANSI'  se debe usar comillas dobles "COLUMNA_NAME" , depende de la session del SQL.


Table 10.2 Keywords and Reserved Words in MySQL 5.7
ACCESSIBLE (R) ACCOUNT[a] ACTION
ADD (R) AFTER AGAINST
AGGREGATE ALGORITHM ALL (R)
ALTER (R) ALWAYS[b] ANALYSE
ANALYZE (R) AND (R) ANY
AS (R) ASC (R) ASCII
ASENSITIVE (R) AT AUTOEXTEND_SIZE
AUTO_INCREMENT AVG AVG_ROW_LENGTH
BACKUP BEFORE (R) BEGIN
BETWEEN (R) BIGINT (R) BINARY (R)
BINLOG BIT BLOB (R)
BLOCK BOOL BOOLEAN
BOTH (R) BTREE BY (R)
BYTE CACHE CALL (R)
CASCADE (R) CASCADED CASE (R)
CATALOG_NAME CHAIN CHANGE (R)
CHANGED CHANNEL[c] CHAR (R)
CHARACTER (R) CHARSET CHECK (R)
CHECKSUM CIPHER CLASS_ORIGIN
CLIENT CLOSE COALESCE
CODE COLLATE (R) COLLATION
COLUMN (R) COLUMNS COLUMN_FORMAT
COLUMN_NAME COMMENT COMMIT
COMMITTED COMPACT COMPLETION
COMPRESSED COMPRESSION[d] CONCURRENT
CONDITION (R) CONNECTION CONSISTENT
CONSTRAINT (R) CONSTRAINT_CATALOG CONSTRAINT_NAME
CONSTRAINT_SCHEMA CONTAINS CONTEXT
CONTINUE (R) CONVERT (R) CPU
CREATE (R) CROSS (R) CUBE
CURRENT CURRENT_DATE (R) CURRENT_TIME (R)
CURRENT_TIMESTAMP (R) CURRENT_USER (R) CURSOR (R)
CURSOR_NAME DATA DATABASE (R)
DATABASES (R) DATAFILE DATE
DATETIME DAY DAY_HOUR (R)
DAY_MICROSECOND (R) DAY_MINUTE (R) DAY_SECOND (R)
DEALLOCATE DEC (R) DECIMAL (R)
DECLARE (R) DEFAULT (R) DEFAULT_AUTH
DEFINER DELAYED (R) DELAY_KEY_WRITE
DELETE (R) DESC (R) DESCRIBE (R)
DES_KEY_FILE DETERMINISTIC (R) DIAGNOSTICS
DIRECTORY DISABLE DISCARD
DISK DISTINCT (R) DISTINCTROW (R)
DIV (R) DO DOUBLE (R)
DROP (R) DUAL (R) DUMPFILE
DUPLICATE DYNAMIC EACH (R)
ELSE (R) ELSEIF (R) ENABLE
ENCLOSED (R) ENCRYPTION[e] END
ENDS ENGINE ENGINES
ENUM ERROR ERRORS
ESCAPE ESCAPED (R) EVENT
EVENTS EVERY EXCHANGE
EXECUTE EXISTS (R) EXIT (R)
EXPANSION EXPIRE EXPLAIN (R)
EXPORT EXTENDED EXTENT_SIZE
FALSE (R) FAST FAULTS
FETCH (R) FIELDS FILE
FILE_BLOCK_SIZE[f] FILTER[g] FIRST
FIXED FLOAT (R) FLOAT4 (R)
FLOAT8 (R) FLUSH FOLLOWS[h]
FOR (R) FORCE (R) FOREIGN (R)
FORMAT FOUND FROM (R)
FULL FULLTEXT (R) FUNCTION
GENERAL GENERATED[i] (R) GEOMETRY
GEOMETRYCOLLECTION GET (R) GET_FORMAT
GLOBAL GRANT (R) GRANTS
GROUP (R) GROUP_REPLICATION[j] HANDLER
HASH HAVING (R) HELP
HIGH_PRIORITY (R) HOST HOSTS
HOUR HOUR_MICROSECOND (R) HOUR_MINUTE (R)
HOUR_SECOND (R) IDENTIFIED IF (R)
IGNORE (R) IGNORE_SERVER_IDS IMPORT
IN (R) INDEX (R) INDEXES
INFILE (R) INITIAL_SIZE INNER (R)
INOUT (R) INSENSITIVE (R) INSERT (R)
INSERT_METHOD INSTALL INSTANCE[k]
INT (R) INT1 (R) INT2 (R)
INT3 (R) INT4 (R) INT8 (R)
INTEGER (R) INTERVAL (R) INTO (R)
INVOKER IO IO_AFTER_GTIDS (R)
IO_BEFORE_GTIDS (R) IO_THREAD IPC
IS (R) ISOLATION ISSUER
ITERATE (R) JOIN (R) JSON[l]
KEY (R) KEYS (R) KEY_BLOCK_SIZE
KILL (R) LANGUAGE LAST
LEADING (R) LEAVE (R) LEAVES
LEFT (R) LESS LEVEL
LIKE (R) LIMIT (R) LINEAR (R)
LINES (R) LINESTRING LIST
LOAD (R) LOCAL LOCALTIME (R)
LOCALTIMESTAMP (R) LOCK (R) LOCKS
LOGFILE LOGS LONG (R)
LONGBLOB (R) LONGTEXT (R) LOOP (R)
LOW_PRIORITY (R) MASTER MASTER_AUTO_POSITION
MASTER_BIND (R) MASTER_CONNECT_RETRY MASTER_DELAY
MASTER_HEARTBEAT_PERIOD MASTER_HOST MASTER_LOG_FILE
MASTER_LOG_POS MASTER_PASSWORD MASTER_PORT
MASTER_RETRY_COUNT MASTER_SERVER_ID MASTER_SSL
MASTER_SSL_CA MASTER_SSL_CAPATH MASTER_SSL_CERT
MASTER_SSL_CIPHER MASTER_SSL_CRL MASTER_SSL_CRLPATH
MASTER_SSL_KEY MASTER_SSL_VERIFY_SERVER_CERT (R) MASTER_TLS_VERSION[m]
MASTER_USER MATCH (R) MAXVALUE (R)
MAX_CONNECTIONS_PER_HOUR MAX_QUERIES_PER_HOUR MAX_ROWS
MAX_SIZE MAX_STATEMENT_TIME[n] MAX_UPDATES_PER_HOUR
MAX_USER_CONNECTIONS MEDIUM MEDIUMBLOB (R)
MEDIUMINT (R) MEDIUMTEXT (R) MEMORY
MERGE MESSAGE_TEXT MICROSECOND
MIDDLEINT (R) MIGRATE MINUTE
MINUTE_MICROSECOND (R) MINUTE_SECOND (R) MIN_ROWS
MOD (R) MODE MODIFIES (R)
MODIFY MONTH MULTILINESTRING
MULTIPOINT MULTIPOLYGON MUTEX
MYSQL_ERRNO NAME NAMES
NATIONAL NATURAL (R) NCHAR
NDB NDBCLUSTER NEVER[o]
NEW NEXT NO
NODEGROUP NONBLOCKING[p] NONE
NOT (R) NO_WAIT NO_WRITE_TO_BINLOG (R)
NULL (R) NUMBER NUMERIC (R)
NVARCHAR OFFSET OLD_PASSWORD[q]
ON (R) ONE ONLY
OPEN OPTIMIZE (R) OPTIMIZER_COSTS[r] (R)
OPTION (R) OPTIONALLY (R) OPTIONS
OR (R) ORDER (R) OUT (R)
OUTER (R) OUTFILE (R) OWNER
PACK_KEYS PAGE PARSER
PARSE_GCOL_EXPR[s] PARTIAL PARTITION (R)
PARTITIONING PARTITIONS PASSWORD
PHASE PLUGIN PLUGINS
PLUGIN_DIR POINT POLYGON
PORT PRECEDES[t] PRECISION (R)
PREPARE PRESERVE PREV
PRIMARY (R) PRIVILEGES PROCEDURE (R)
PROCESSLIST PROFILE PROFILES
PROXY PURGE (R) QUARTER
QUERY QUICK RANGE (R)
READ (R) READS (R) READ_ONLY
READ_WRITE (R) REAL (R) REBUILD
RECOVER REDOFILE REDO_BUFFER_SIZE
REDUNDANT REFERENCES (R) REGEXP (R)
RELAY RELAYLOG RELAY_LOG_FILE
RELAY_LOG_POS RELAY_THREAD RELEASE (R)
RELOAD REMOVE RENAME (R)
REORGANIZE REPAIR REPEAT (R)
REPEATABLE REPLACE (R) REPLICATE_DO_DB[u]
REPLICATE_DO_TABLE[v] REPLICATE_IGNORE_DB[w] REPLICATE_IGNORE_TABLE[x]
REPLICATE_REWRITE_DB[y] REPLICATE_WILD_DO_TABLE[z] REPLICATE_WILD_IGNORE_TABLE[aa]
REPLICATION REQUIRE (R) RESET
RESIGNAL (R) RESTORE RESTRICT (R)
RESUME RETURN (R) RETURNED_SQLSTATE
RETURNS REVERSE REVOKE (R)
RIGHT (R) RLIKE (R) ROLLBACK
ROLLUP ROTATE[ab] ROUTINE
ROW ROWS ROW_COUNT
ROW_FORMAT RTREE SAVEPOINT
SCHEDULE SCHEMA (R) SCHEMAS (R)
SCHEMA_NAME SECOND SECOND_MICROSECOND (R)
SECURITY SELECT (R) SENSITIVE (R)
SEPARATOR (R) SERIAL SERIALIZABLE
SERVER SESSION SET (R)
SHARE SHOW (R) SHUTDOWN
SIGNAL (R) SIGNED SIMPLE
SLAVE SLOW SMALLINT (R)
SNAPSHOT SOCKET SOME
SONAME SOUNDS SOURCE
SPATIAL (R) SPECIFIC (R) SQL (R)
SQLEXCEPTION (R) SQLSTATE (R) SQLWARNING (R)
SQL_AFTER_GTIDS SQL_AFTER_MTS_GAPS SQL_BEFORE_GTIDS
SQL_BIG_RESULT (R) SQL_BUFFER_RESULT SQL_CACHE
SQL_CALC_FOUND_ROWS (R) SQL_NO_CACHE SQL_SMALL_RESULT (R)
SQL_THREAD SQL_TSI_DAY SQL_TSI_HOUR
SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER
SQL_TSI_SECOND SQL_TSI_WEEK SQL_TSI_YEAR
SSL (R) STACKED START
STARTING (R) STARTS STATS_AUTO_RECALC
STATS_PERSISTENT STATS_SAMPLE_PAGES STATUS
STOP STORAGE STORED[ac] (R)
STRAIGHT_JOIN (R) STRING SUBCLASS_ORIGIN
SUBJECT SUBPARTITION SUBPARTITIONS
SUPER SUSPEND SWAPS
SWITCHES TABLE (R) TABLES
TABLESPACE TABLE_CHECKSUM TABLE_NAME
TEMPORARY TEMPTABLE TERMINATED (R)
TEXT THAN THEN (R)
TIME TIMESTAMP TIMESTAMPADD
TIMESTAMPDIFF TINYBLOB (R) TINYINT (R)
TINYTEXT (R) TO (R) TRAILING (R)
TRANSACTION TRIGGER (R) TRIGGERS
TRUE (R) TRUNCATE TYPE
TYPES UNCOMMITTED UNDEFINED
UNDO (R) UNDOFILE UNDO_BUFFER_SIZE
UNICODE UNINSTALL UNION (R)
UNIQUE (R) UNKNOWN UNLOCK (R)
UNSIGNED (R) UNTIL UPDATE (R)
UPGRADE USAGE (R) USE (R)
USER USER_RESOURCES USE_FRM
USING (R) UTC_DATE (R) UTC_TIME (R)
UTC_TIMESTAMP (R) VALIDATION[ad] VALUE
VALUES (R) VARBINARY (R) VARCHAR (R)
VARCHARACTER (R) VARIABLES VARYING (R)
VIEW VIRTUAL[ae] (R) WAIT
WARNINGS WEEK WEIGHT_STRING
WHEN (R) WHERE (R) WHILE (R)
WITH (R) WITHOUT[af] WORK
WRAPPER WRITE (R) X509
XA XID[ag] XML
XOR (R) YEAR YEAR_MONTH (R)
ZEROFILL (R)


keywords MYSQL 

Problemas de activación WIFI6 en LG_OLED55CXPSA

  Mi experiencia con este TV  ah sido impecable hasta ahora, llevaba un uso normal y no tenia que usar la conexión por wifi ya que tengo una...