viernes, 28 de junio de 2019

208. Cognitive Services (II)

Este post no es realmente cognitive services, pero es de algo que es necesario para poder usar cognitive services visión, es el uso de la web cam, en la PC, para ello el proceso es el siguiente:

1. Para poder usar la cámara web vamos a usar una librería de nuget llamada OpenCvSharp3-AnyCPU.


2. Una vez que se seleccione, vamos a agregar los controles de visualización y reporduccion


3. Agregaremos el siguiente metodo, este se encarga dibujar la imagen en el control

VideoCapture capture;
 Mat frame;
 Bitmap image;
 private Thread camera;

 private void CaptureCameraCallback()
        {
            frame = new Mat();
            capture = new VideoCapture(0);
            capture.Open(0);
            if (capture.IsOpened())
            {
                while (isCameraRunning)
                {
                    capture.Read(frame);
                    image = BitmapConverter.ToBitmap(frame);
                    if (pictureBox1.Image != null)
                    {
                        pictureBox1.Image.Dispose();
                    }
                    pictureBox1.Image = image;
                }
            }
        }

4. Se hace una llamada para iniciar la captura

private void CaptureCamera()
        {
            camera = new Thread(new ThreadStart(CaptureCameraCallback));
            camera.Start();
        }



Con esto ya tenemos el insumo necesario para poder iniciar la captura

Felices Lineas

miércoles, 26 de junio de 2019

207. Cognitive Services (I)

Hola, hoy vamos a aprender a crear un servicio en Azure para poder utilizar Cognitive Services, para ello necesitamos hacer lo siguiente:

1. Abrir el portal de Azure

2. En el Market Place buscar cognitive services


3. Presione el botón crear


4. Nos pedirá los siguientes datos

Nombre : El nombre que llevara nuestro servicio
Suscripción : El tipo de suscripción que emplearemos para el servicio
Ubicación : Cual será el datacenter en el que pondremos el servicio
Plan tarifa : El tipo de plan (equipo - peticiones ) sobre la que pondremos nuestro servicio
Grupo de recursos : El grupo en el que agruparemos este recurso en Azure

Aceptamos las condiciones del servicio

5. Presionamos el botón crear.

6. El servicio se habrá cargado satisfactoriamente
7. Verificamos el servicio


Por hoy eso es todo, hasta el próximo numero

y recuerden La mano invisible domina al mundo.








miércoles, 5 de junio de 2019

206. Obtener el audio de un video C#


El siguiente código es muy útil ya que nos permite extraer el sonido de un video, una gota mas de código para este acordeon.


        static void Main(string[] args)
        {

            var inputFile = new MediaFile { Filename = args[0] };
            var outputFile = new MediaFile { Filename = args[1] };

            using (var engine = new Engine())
            {
                engine.GetMetadata(inputFile);

                engine.Convert(inputFile, outputFile);
            }
        }



Felices líneas

martes, 4 de junio de 2019

205. Escaneo de puertos

Esta es una técnica de reconocimiento, cuando un programa va a conectarse con otro, debe abrir un puerto, por este puerto la información va a entrar y salir.

Ahora bien, existe una serie de puertos que ya se encuentran ligados a servicios.

Aprovechando la comunicación en los puertos, un atacante puede enviar ciertos comandos a los puertos, cuando se conoce el programa que lo usa esto es mas fácil.

Entonces una vez que se tiene un puerto abierto, se puede explotar el acceso y si este no esta protegido o no tiene la seguridad adecuada se puede hacer que se ejecuten actividades no esperadas dentro del equipo de computo.

Entre la lista de los puertos mas comunes se encuentran

HTTP: puerto 80;
HTTPS: puerto 443;
FTP: puerto 21;
FTPS/SSH: puerto 22;
POP3: puerto 110
POP3 SSL: puerto 995
IMAP: puerto 143
IMAP SSL: puerto 993
SMTP: puerto 25 (alternativas: puerto 26 / puerto 2525)
SMTP SSL: puerto 587
MySQL: puerto 3306
CPanel: puerto 2082
CPanel SSL: puerto 2083
WHM (Webhost Manager): puerto 2086
WHM (Webhost Manager) SSL: puerto 2087
Webmail: puerto 2095
Webmail SSL: puerto 2096
WebDAV/WebDisk: puerto 2077
WebDAV/WebDisk SSL: puerto 2078



Felices lineas

204. DDos Distributed Denial of Service

Ya tenia un tiempo que no tocaba este tema, pero como lo mencione en su momento, si no conocemos los tipos de ataques informáticos que existen, no tenemos defensa contra ellos.

Y si no sabemos ejecutarlos, no podemos contrarrestarlos.

Hoy vamos a platicar de DDos, este es un tipo de ataque de denegación de servicio, con este el atacante usa vulnerabilidades en computadoras que se encuentran en una red para tomar el control de ellas, una vez que el atacante tiene el control de varias computadoras, el atacante envía grandes cantidades de información desde todos los equipos que ya controla a un sitio web, o envía una gran cantidad de correos electrónicos a un servidor.

El ataque puede ser complicado de detener ya que la información corrupta puede venir de equipos que se consideran seguros.

Para detenerlo, podemos aplicar filtros al router, bloquear direcciones IP, política de control de contraseñas, antivirus.



Felices lineas

203. Descargar un video de youtube con C#

Este codigo es muy sencillo, pero muy útil cuando se requiere conservar una serie de videos que se encuentran en la plataforma YouTube.

Para poder descargar un video primero debemos instalar el paquete nuget llamado

VideoLibrary

Una vez que tenemos instalado el paquete, escribiremos el siguiente codigo

 static void Main(string[] args)
        {
            Console.WriteLine("Este programa emplea un parametros, la ruta del video ");

            var videodescarga= YouTube.Default;
            var videodescargado= videodescarga.GetVideo(args[0]);
            File.WriteAllBytes(videodescargado.FullName, vid.GetBytes());
        }


Como pueden observar el código es muy sencillo, ya que establece primero la fuente de donde obtendremos el video

var videodescarga= YouTube.Default;

Obtiene el video

var videodescargado= videodescarga.GetVideo(args[0]);

y escribe el video en una ruta

File.WriteAllBytes(videodescargado.FullName, vid.GetBytes());



La mano invisible controla el mundo