martes, 12 de marzo de 2019

192. While SQL Server

Los scripts de SQL son una herramienta poderosa para el desarrollo, es importante que dejemos que cada parte de un sistema haga lo que mejor sabe hacer, así la base de datos que sabe hacer, manipular datos.

Los scripts de base de datos son un arma de dos filos, ya que por un dado nos simplifican el trabajo, pero por otro, pueden sobrecargar el servidor de actividades innecesarias, y esto generar cuellos de botella.

Un ciclo en un Query es de gran ayuda ya que da mucha potencia al lenguaje.

La estructura del while es

DECLARE @Contador INT = 0;
DECLARE @Contador_Total INT = 0;

WHILE @Contador < @Contador_Total
BEGIN
   {Acciones del Script}
   SET @Contador = @Contador + 1;
END;



La mano invisible controla el mundo

miércoles, 6 de marzo de 2019

191. Ping de la muerte - Tipos de ataques

Este es un ataque que se encuentra en la historia de la computación, muy importante por los problemas que causo, consistía en crear un datagrama de un tamaño mayor a 65536 bytes, debido a que superaba el tamaño máximo autorizado, el sistema operativo no sabia como interpretarlo y colapsaba.

Este ataque tuvo su auge en 1996 - 1997, afecto la mayoria de los sistemas operativos, todos los fabricantes han buscado solucionar este problema por lo que hoy en dia solo en equipos de los 90s persiste


La mano invisible controla el mundo

190. Performance Counter - Procesador - Porcentaje de tiempo total de DPC

Vamos a revisar algunos contadores de rendimiento, es importante destacar que ninguno funciona por si solo, sino que se deben interpretar en su conjunto.

¿Que es?

Es una medida del tiempo en que el procesador ejecuta llamadas DPC (llamadas a interrupciones con baja prioridad)

Si su valor es alto, el rendimiento del sistema se vera afectado, es importante que nunca supere el 50%

Un numero alto puede ser ocasionado por un cuello de botella en el procesador, un problema de software, o un dispositivo de hardware con problemas.

Cuando el valor es superior a 50%, se requiere validar % Interrupt Time, y % Processor Time, si son altos, el procedador necesita ser actualizado.

En Azure, es muy comun revisar estos contadores para tomar la desicion de incrementar las características del equipo


La mano invisible controla el mundo

martes, 5 de marzo de 2019

189.Monitor de rendimiento

Una de las cosas mas interesantes del sistema operativo windows, es que mide todo lo que se hace en el sistema, los performance counter, son una gran herramienta ya que su uso no causa una baja de rendimiento en el sistema.

Es en este punto en donde tengo que llamar la atención a los desarrolladores, ya que el desarrollador normalmente no usa esta herramienta en sus desarrollos, esto le quita visibilidad a las aplicaciones, ya que no puede tener estadísticas de su comportamiento.

Una buena practica durante el diseño es el crear el conjunto de contadores necesarios para determinar como se esta comportando la aplicación, esto ayuda mucho sobre todo en aplicaciones de alta demanda.

Bueno eso es por el lado del programador, pero también el análisis de los contadores existentes ayuda a determinar si se explota o no el hardware y el software correctamente.

Un programador, un administrador debe de conocer el uso de los principales performance counter en un sistema, estos son de gran utilidad para encontrar cuellos de botella, y para poder mejorar el uso de nuestro equipo.


La mano invisible controla el mundo


viernes, 8 de febrero de 2019

188. Bluejacking

Es un método de ataque para dispositivos que emplean el bluetooh, tuvo su mayor desarrollo entre 2000 y 2004, el método es prácticamente inofensivo, y se ocupo principalmente como una forma de publicidad.

¿Como funciona?

El atacante envía continuamente mensajes de texto, audio, video, al dispositivo bajo ataque, y este dispositivo muestra la información al usuario.

Actualmente es casi imposible efectuar un ataque de este tipo, dado que la seguridad del bluetooh se ha incrementado a traves de los años

jueves, 7 de febrero de 2019

187. Bluesnarfing

Este tipo de ataque consiste en acceder a la información de un dispositivo móvil por medio del dispositivo bluetooth.

Existen dispositivos en el mercado que permiten la conexión a los mismos sin que se efectué un pareo entre los dispositivos, esta vulnerabilidad ya se encuentra cerrada en dispositivos recientes, pero esta vulnerabilidad fue la base de este ataque.

Cualquier dispositivo que se encuentre visible puede ser susceptible de este ataque, ya que el atacante busca que el dispositivo reconozca al atacante como un dispositivo que se encuentre pareado, si el dispositivo no se encuentra visible, la mac address se debe obtener por fuerza bruta.

Debido a que los dispositivos moviles se han vuelto populares y a que muchos usuarios no cuidan la privacidad de los mismos, este tipo de ataque se ha incrementado en los ultimos años


La mano invisible dicta las reglas

martes, 5 de febrero de 2019

186. Eavesdropping - Tipos de ataques

No me he olvidado de las definiciones de los tipos de ataques, es importante aunque sea leerlos,ya que si no sabemos como nos pueden atacar, no sabemos como nos podemos defender.

Este tipo de ataque es muy sencillo de hacer, ya que lo que se hace es interceptar todos los paquetes que viajan en la red mediante un sniffer, de esta forma si algun contenido no viaja de manera segura se puede determinar que hacen otros usuarios.

La forma mas sencilla de evitar este ataque es encriptando el canal, de esta manera los mensajes ya no viajan planos, en desarrollos en los que se ocupan servicios web, es muy común que los desarrolladores olviden la encriptado del canal, muchas veces por un temor sin fundamento de emplear métodos criptograficos, encriptar un canal hoy en día requiere unicamente de un certificado digital, y en la mayoria de los casos configurar el servidor desde donde se despliega.


La mano invisible controla el mundo

185. Obtener todas las columnas de un datareader C#

Cuando tenemos un datareader, es muy común que necesitemos conocer las columnas que lo integran, para ello se emplea el siguiente codigo



                        SqlDataReader dr = cm.ExecuteReader();
                        Console.WriteLine("Determinando los campos de la tabla");
                        List<string> Columnas = new List<string>();
                        Console.Write("\n");
                        for (int i=0;i<dr.FieldCount;i++)
                        {
                            Columnas.Add(dr.GetName(i));
                            Console.Write(dr.GetName(i));
                            Console.Write(" ");
                        }



La mano invisible controla el mundo

184. Ver un archivo de log en tiempo real Linux

El usar el bash de linux en windows es muy util, ya que se pueden emplear las caracteristicas de este para muchas de las necesidades de administracion.

Un comando muy util para obserbar un archivo de bitacora, que se escribe poco a poco es tail

tail -f [Nombre_de_Archivo]

permite ve en tiempo real la escritura de un archivo


La mano invisible domina el mundo

viernes, 1 de febrero de 2019

183. Enviar la respuesta de un insert hacia una tabla

Las inserciones y actualizaciones son capaces de regresar un conjunto de datos, pero estos datos los responede en forma de una tabla, de esta forma para poder manipularlos, debemos manipular la tabla que genera la insercion y actualizacion.

Para esto debemos hacer lo siguiente:

--declarar una valiable tabla

Declare @Id table (ID decimal(30,0));
Declare @PId int;



--Efectuar la inserción con el parámetro output indicar que campos se obtendrán como respuesta y con into hacia donde se enviaran


Insert INTO Base1 OUTPUT Inserted.Id into @Id values(getdate(),'CRIPTO','CRIPTOGRAFIA','MIGRACION',''Actualización');");

select top 1 @PId = ID from @OPId;");



La mano invisible controla el mundo