errecepe's personal website. the start point

rcp

Creación de archivos .RDP automática con batch

Son días de teletrabajo, y si por ese motivo necesitásemos crear multitud de archivos de configuración para conectar vía Remote Desktop Protocol para nuestros usuarios, os voy a contar como hacerlo de una manera fácil y rápida.

Me estoy refiriendo a la creación automatizada de archivos .rdp para el cliente de Terminal Server de Microsoft:

Hasta hoy nunca me había dado por visualizar el contenido de estos archivos, y me ha sorprendido gratamente comprobar que eran simples lineas con los parámetros necesarios para la conexión.

Una vez llegados a este punto, está claro el mecanismo. Un simple script en batch nos va a resultar más que suficiente para nuestro fín.

Procedimiento práctico

En primer lugar, ejecutaremos el comando mstsc para abrir el cliente de Escritorio remoto, desplegaremos con la opción Mostrar opciones situado en la parte inferior izquierda del cliente, e indicaremos cualquier dato para Equipo y Usuario. En el ejemplo he usado las palabras EQUIPO y USUARIO:

Por supuesto, y muy importante, revisaremos el resto de pestañas de configuración: Pantalla, Recursos locales, Rendimiento y Opciones avanzadas, donde configuraremos según los datos de nuestra organización, la configuración del servidor de puerta de enlace, el rendimiento de la conexión para optimizar el ancho de banda si se prevén más accesos de lo normal, si se trasladan las impresoras del cliente, etc etc…

Ahora clickaremos sobre el botón Guardar como… para generar un archivo .rdp que usaremos como plantilla. Para ello editaremos con un editor de texto (notepad.exe nos valdría) el archivo .rdp que acabamos de generar.

Buscaremos en el, dos lineas. Una con el nombre del equipo:

full address:s:EQUIPO

Y la del usuario, que la encontrareis del siguiente modo:

username:s:USUARIO

Bien, pues una vez localizadas, las borraremos y guardaremos el archivo, al que a partir de ahora, por llamarlo de alguna manera, lo llamaremos plantilla.rdp.

Ahora, crearemos con el editor de texto, un archivo que guardaremos como crea_rdp.cmd con el siguiente contenido:

@echo off
set destino=»Conectar %1 a %2.rdp»
set fulladdress=full address:s:%2
set usernme=username:s:%1
more plantilla.rdp > %destino%
echo %fulladdress% >> %destino%
echo %usernme% >> %destino%
echo Archivo %destino% creado

Una vez llegado a este punto, con el script crea_rdp.cmd y el archivo plantilla.rdp en un mismo directorio, si ejecutamos el comando: crea_rdp pepito equipo_remoto obtendremos un nuevo archivo .rdp de nombre «Conectar pepito a equipo_remoto.rdp» con la configuración predeterminada que usamos para plantilla.rdp pero pre-configurado para conectar al equipo indicado como el usuario también indicado. De ahí a generar un segundo script con tantas lineas como archivos .rdp a generar con la configuración de equipo y usuarios deseado mediante múltiples llamadas a nuestro script crea_rdp.

Y obtendremos con estas 3 simples líneas, al ejecutar este segundo script, 3 bonitos archivos .rdp preconfigurados a nuestro gusto y listos para ser enviados a los usuarios.

Explicación del script

El script usado es muy sencillo de modificar a nuestro gusto y necesidades.

Por ejemplo, en la segunda linea, estableceremos la variable destino como el nombre de los archivos .rdp generados usando los valores de los parámetros %1 y %2, es decir USUARIO y EQUIPO para la composición del nombre del archivo resultante. Podemos usar el nombre de archivo que queramos, mientras mantenga la extensión .rdp y use los valores %1 y %2, para evitar que se generen archivos .rdp con el mismo nombre, siendo sobrescritos (el script elimina la existencia de un posible archivo .rdp existente previamente al generar el nuevo).

En la cuarta linea, en la variable usernme, almacenaremos el nombre de usuario. En algún caso, podríais necesitar establecer un dominio para las cuentas de usuario, y prestablecerlo modificando la cuarta linea indicando el dominio de la siguiente manera: set usernme=username:s:DOMINIO\%1. O incluso podríamos ir más allá y que el dominio fuese un tercer parámetro pasado al script, por si se diese el caso de que necesitásemos crear archivos .rdp masivamente para varios dominios, quedando la linea del siguiente modo: set usernme=username:s:%3\%1, suponiendo que los parámetros fuesen USUARIO EQUIPO DOMINIO, en ese orden.

Y poco más que añadir, ya que el script, como indicaba al principio, es muy sencillo.

Espero que os resulte práctico en estos días de #teletrabajo !

Monitorizando cambios de apertura o cierre de puertos en una red

Imaginemos el siguiente escenario: tenemos varias redes, equipos, IP’s, incluso rangos o máscaras de red completas, de los que queremos controlar diariamente los cambios respecto a los puertos abiertos o cerrados en esos hosts.

Pues gracias a la utilidad Nmap y otra que viene incluida con ésta, llamada Ndiff y un pequeño script, podemos obtener los resultados de una manera bastante sencilla.

Vamos a ver como. Para facilitar la tarea, haremos que el script, se ‘alimente’ de un archivo llamado ipes.txt en que indicaremos varias ips, rangos o máscaras de la siguiente manera:

     192.168.1.200
     192.168.1.0/26

Añadiendo tantas lineas como necesitemos. Según la ayuda de Nmap, se aceptan tanto hosts como networks (al menos es lo que indica cuando se pasan archivos con el parámetro -iL):

     scanme.nmap.org
     10.10.24.56
     192.168.0.1/24

Luego crearemos un archivo llamado script.cmd, ya que estamos haciendo el ejemplo en windows (para linux sería modificar el comand move por un comand mv o un cp y un rm), con nmap ya descargado.

Al lio, el contenido del script es:

     ::hace un scaneo y vuelca a result2.xml
     nmap -iL ipes.txt -oX result2.xml
     ::al acabar compara los datos con result1.xml (generado anteriormente habiendo ejecutado ya este script)
     ndiff result1.xml result2.xml > report.txt
     ::al finalizar la comparación, renombro resultado para siguiente ejecución
     move /Y result2.xml result1.xml

Es un script, que está pensado para ejecutarse con cierta frecuencia. El resultado que da, en el archivo report.txt es el resultado de la comparación de puertos e IP’s abiertos actual, con el resultado de la ejecución previa.

Es decir, si programamos en el sistema operativo una tarea programada, en la que ejecutamos este script cada mañana a las 7am, en ese momento realizará un escaneo (según archivo ipes.txt) y almacenará el resultado en un archivo, que comparará con ese mismo archivo de la anterior ejecución.

Estas 3 simples lineas se encargan de todo, y a partir de una 2ª ejecución del script (en cuanto tengamos un result1.xml) empezaremos a obtener resultados en el archivo report.txt, que nos da la información deseada: reports con la información de los puertos que se han abierto o cerrado de varios grupos o rangos de IP’s a diario, pudiendo editar esas IP’s de una manera más o menos sencilla.

 

Tal y como está, el resultado, sería algo parecido a esto:

     -Nmap 7.60 scan initiated Sat Dec 16 01:33:45 2017 as: nmap -iL ipes.txt -oX result2.xml
     +Nmap 7.60 scan initiated Sat Dec 16 01:35:26 2017 as: nmap -iL ipes.txt -oX result2.xml

     192.168.1.200, C8:6C:87:78:0C:B4:
     PORT STATE SERVICE VERSION
     +8080/tcp open http-proxy

Donde nos está indicando que entre el escaneo iniciado a la 1:33:45 y el segundo escaneo iniciado a la 1:35:26, en el equipo 192.168.1.200 se ha abierto el puerto 8080/tcp

 

Por supuesto, todo esto es muy mejorable. Se pueden optimizar los escaneos con nmap, para especificar ciertos puertos, los n puertos comúnmente más abiertos, etc… así como otras opciones si tenemos firewalls de por medio (por supuesto en el equipo que esta ejecutando el script, el firewall estará previamente configurado para que nmap tenga acceso libre).

Además, podriamos tener la lista de IP’s y rangos en un sistema externo (una BBDD, una TWiki, un ftp…) para facilitar su edición. En este caso necesitariamos un proceso previo a la ejecución del script, que refrescase ese archivo ipes.txt con la información del origen deseado.

De la misma manera, junto con el report.txt, podriamos modificar el script, para que también dejase una copia con el resultado del escaneo con, por ejemplo, la fecha y hora como nombre de archivo, de manera que podamos almacenar con la frecuencia que queramos (diariamente estamos diciendo en este caso) tanto los cambios que han habido a nivel de apertura y cierre de puertos, como el detalle completo de puertos abiertos para cada host.

Y este par de archivos se podrían subir a un ftp, una bbdd o enviar por email, sin mucha dificultad, generando un registro y una documentación, que, podría resultar muy útil.

 

Próximamente, pondré este sistema a funcionar, en un entorno real, con varios miles de posibles hosts a escanear, y veré que tal resulta.

edit: consultar aqui para ver este ‘proyecto’ en mi github, con la última actualización

Nuevo curso

Las vacaciones: ese periodo corto de tiempo, en el que, hacer todo lo que no puedes el resto del año.
Ese momento para descansar.
Para reflexionar.
Para mucho, o para nada a veces.
Para lo que quieras, o no.

Sea como sea, es el momento de intentar ser lo que eres sin las ataduras laborales. Y no es fácil tarea.
Y mucho menos, asimilar la vuelta.
La vuelta, descansado, reflexionado, y todo eso. O así debería ser.

Ser consciente de todo los que nos perdemos, de lo que somos y lo que no, durante el resto del tiempo,
la rutina que llaman. Esa esclavitud diaria, en mayor o menor medida. Una esclavitud que debemos agradecer.
O eso nos hacen creer.

Y puede llegar a ser cómodo, caer en la trampa.
Fácil. Cobarde.

Quizá sólo dependa de las inquietudes de cada uno.

Sea como sea, cada vez cuesta más volver a empezar un nuevo curso, volver a la rutina, sin nuevos objetivos.
Sin pretender mejorar en algún aspecto.

Pero supongo que todo pasa, y en unas semanas, estaré tan aturdido, cansado y abatido, como para dejarme llevar.
Dejarme de tonterías y dejar escapar los días.

Y todo esto, por reflexionar…

Pues a por el 2017-2018

Montando un nuevo equipo Windows

Siempre que instalo un SO en un equipo que me traen o mío propio, suelo anotar, todo lo que realizo y voy instalando en el equipo, desde el principio.

En este caso, voy a hacer lo mismo, pero con mi equipo de ‘trabajo’, y en un post.
Quizá vaya editando esta lista en el futuro, o lo continúe en otro post.

Sea como sea, ahí va:

– Sistema operativo, y toooodas las actualizaciones. En mi caso Windows 10 Pro 64 bits actualizando un W7 Oem preinstalado, eliminando toda la configuración previa.
Con buena conexión (300Mbps), 8 GB de RAM y una CPU G2030 @ 3GHz, un par de horitas largas.
https://www.microsoft.com/en-au/software-download/windows10ISO

– Antivirus. AVG Free. No es la bomba, pero es gratis.
http://www.avg.com/es-es/homepage

– De las características de Windows, habilito .NET Framework 3.5 (incluyendo 2.0 y 3.0), cliente telnet (no preguntéis el motivo) , y quito Servicios de impresión XPS

– Chrome, con el complemento (si.. que queréis que os diga) AdBlock.

– Visual Studio 2015 Enterprise con la configuración predeterminada, incluyendo compatibilidad con C++ de XP.

– Notepad++. Básico para editar cualquier tipo de archivo de texto. Libre.
https://notepad-plus-plus.org/

– Editplus. Sigue teniendo una opción que uso mucho, y es la de editar archivos directamente vía FTP. No es libre.
https://www.editplus.com/

– Wifi Guard. Para tener controlados los equipos conectados en mi LAN. Freeware.
https://www.softperfect.com/products/wifiguard/

– Putty, todo un clásico. Acompañado de SuperPutty, para gestionar las conexiones SSH, telnet, etc.. y agrupar las consolas.
http://www.putty.org/
http://www.softpedia.com/get/Network-Tools/Telnet-SSH-Clients/SuperPutty.shtml

– Remote Desktop Manager, para gestionar conexiones Terminal Server
https://www.microsoft.com/en-us/download/details.aspx?id=44989

– Algún editor de imagen y fotografía, Photoshop CC14 o Gimp, que es libre
https://www.gimp.org/

– Filezilla, como cliente FTP
https://filezilla-project.org/

– WinRar, para gestión de archivos comprimidos.
https://www.winrar.es/descargas

– WinSCP, para transferencias SSH
https://winscp.net

– Hard Disk Sentinel Pro para monitorizar temperaturas y SMART de discos duros
http://www.hdsentinel.com/hard_disk_sentinel_professional.php

– utorrent y emule para…, las copias de seguridad
http://www.utorrent.com/intl/es/
http://www.emule-project.net/

– DirectX SDK
https://www.microsoft.com/en-us/download/details.aspx?id=35

– KLite Codec Pack y Media Player Classic. Para mi, para reproducir vídeos, el de ‘toda la vida’
https://www.codecguide.com/

– WinAmp. En mis ordenadores, los mp3 siempre han sonado con Winamp!
http://www.winamp.com/

– Suite Office, con al menos, access, word, excel y outlook.

Y hasta aquí lo básico para empezar. Ahora una copia de seguridad de sistema, o una imagen completa para no tener que volver a repetir los pasos con el mismo equipo.

También estaría bien un CCleaner, y un AntiMalwareBytes o similar, así como modificar algunas configuraciones por defecto, que trae activas Windows 10.

Continuará..

El inexorable paso del tiempo

Si, un tema fácil. Hoy tengo ganas de poder publicar algo.
Aunque sea para intentar engañarme demostrando no se que.
Quizá que el paso del tiempo, no es en vano.

Que nunca lo és.
Otra cosa es saber si lo invertimos en lo que realmente queremos.

Y no obviamente a tiempo completo. Entiendo que hay que cumplir con ciertas
obligaciones, etc etc…

Pero de ahí, a lo que se convierte el día a día. La rutina, y todos esos royos…
Supongo que hacen que sea más difícil, no preguntarse ciertas cosas.

Pero cada mañana suena el despertador. Y pasamos otro día.
Claro, siempre quedan un montón… de días, quiero decir.

Supongo que eso nos acomoda en parte.

Pese a todas esas malas noticias que nos salpican a diario.
Enfermedades, muertes,…
Familiares, amigos…

A todo eso, me refiero.

Pero nos suele dar igual.
Y de una manera u otra, vamos pasando los días.

Va pasando el tiempo.
En forma de años, que ya van unos cuantos.

Da que pensar.

Y por hoy, es suficiente…

 

Poco que decir

Que poco que decir.

Eso también ha cambiado. Demasiadas vueltas le doy al tema últimamente.

Y con que más re-descubro mis antiguos proyectos, peor me siento. No se si será la edad o estoy demasiado roto. Pero los pequeños intentos duran pocos instantes. Todo lo que no pueda abarcar en unas horas… en una noche, se me antoja demasiado complicado de retomar.

Antes era más valiente. Y si, las noches se nos hacían largas. Pero es que ahora las desperdicio en su mayoría. Lo que menos acaba apeteciendo es hacer nada que implique discurrir en exceso. Es una especie de cansancio mental. Pero me preocupa que no sea algo momentáneo. Porque no será por falta de cosas que hacer. Pero parece demasiado tarde como para creer en nada ya. Lo justo para continuar, con lo justo, valga la redundancia.

Y quizá en demasiados aspectos de mi vida.

 

En fin. No nos pondremos catastróficos. Nos pondremos Shine On You Crazy Diamond de fondo. Y apagaremos la luz. Intentaremos recordar uno de esos momentos en el pasado cuando también escribía en blogs. Incluso antes de que existiesen los blogs, ya escribiamos en blogs.

 

En parte, mucha de esas historias empezó en nosotros. Todo iba (y cada vez más, claro) muy rápido. Pero nosotros éramos rápidos.

Empezamos a darle dinamismo al HTML, con php y asp, y aquello nos daba parte de los que nos daba visual basic 6 (en mi caso) pero para la web.

Y nos montamos nuestros propios sistemas y aplicaciones web. Aplicaciones web sencillas, a la que se le iban añadiendo y añadiendo cosas. Sólo por diversión. Hasta que se nos hacía de día.

Y hacíamos magia con el phosothop. Y le dábamos dinamismo y funcionalidad. Y no éramos tantos los que parecíamos que estábamos allí. Sólo teníamos que  preocuparnos por si usaban un navegador. O el otro. Una resolución de pantalla u otra.

 

Hoy todo sigue corriendo. No para.

Todas esas noches en las que dormimos. En las que estamos en familia. En las que jugamos a algún juego de ordenador, o simplemente no hacemos nada. En todas esas, todo sigue avanzando. Sin nosotros.

Y si, claro que hay más medios que antes. Altas velocidades de internet y servicios de calidad. Pero para todos, claro.

Cualquiera sabe ‘googlear’ hoy en día.

Cualquiera sabe descargarse una plantilla de html, modificarla y crear una web.

O montar un wordpress, un joomla o cualquier otro, para casi cualquier fin. ¿ para que esforzarse si lo hay (de todo, en general), gratis y de calidad a disposición de cualquiera ?

Supongo que alguno me entenderá.

 

Aunque espabilarse en mayor o menor medida, por supuesto, es otra historia. Si. Pero ya no somos tan pocos. No tenemos tanto tiempo, ni ganas, ni motivación. Y el futuro es tan y tan incierto.

 

Además, ver mis anteriores proyectos me desmotiva mucho. Ahora sería incapaz de plantearme iniciar nada de la envergadura de un TBD, un DBMDB. Me abruman.

 

Ahora mismo la inquietud de la avanzada hora -já!- ya me perturba lo suficiente como para recordar que mis obligaciones despiertan a las ocho, u ocho y media. Que desayunaremos juntos y empezaremos un nuevo día sin cole -ni menjador-, en el que darlo todo.

 

Menudo post ‘desahogo’, aburrido y confuso.

Como los de antes.

 

Aunque sigo pensando que era mejor escribir en mi simple y llano TEXT AREA, que en éste grande y complicado lleno de botones y opciones. El mio, codificado y ‘estilado’ a mano por mi. Funcionando por mi, y para mi.

Era maravilloso.

Iniciando nueva web

Pues aquí estamos, a las tres de la mañana, instalando un wordpress con la idea de convertirlo en la base de mi nueva web personal, como reemplazo de la clásica www.birdsprojects.com/rcp de siempre…

Demasiada pereza como para reescribir el código php que generé en su momento para esa web, como para adaptarlo a los tiempos que corren. Demasiada pereza en general.

Creamos varias páginas, para iniciar, e instalamos un tema en wordpress que no me parece nada mal.

Ya veremos que tal…