martes, 8 de diciembre de 2015

Bitcoin ¿Que es?¿Como funciona?

Muchas personas ya han oído hablar de la famosa criptomoneda llamada Bitcoin o tal vez aun no la conoces, de igual forma acá dejo información sobre la misma de muchas de la interrogantes que me surgieron sobre su funcionamiento, bajo que esta sustentada, cual es la seguridad, como la controlan, ya que al ser dinero virtual aun queda mucha incertidumbre sobre la misma a pesar que cada día se va haciendo mas uso de esta moneda.

A pesar que hay mucha información en Internet sobre lo que es el Bitcoin, muchas veces hay ciertos puntos que no quedan muy claros o tal vez no se entienden muy bien, así que se tratara de hacer una recopilación de las distintas fuentes sobre los conceptos básicos y en la medida de lo posible se dejara cierta especificación técnica, para lograr explicar la base de su funcionamiento pero por supuesto sin caer en explicaciones muy complejas, o al menos se intentara.

Al final dejare las fuentes de donde fue sacada todas esta informacion, en muchos casos tanto la informacion como los vídeo estarán en ingles.

Importante: Este no sera un articulo orientado hacia el como ganar dinero ni mucho menos, sino hacia la explicación de su funcionamiento.



¿Qué es Bitcoin?
Es una criptodivisa concebida en 2009 por Satoshi Nakamoto. El término se aplica también al protocolo y a la red P2P que lo sustenta.
Las transacciones en Bitcoin se realizan de forma directa, sin la necesidad de un intermediario. Al contrario de la mayoría de las monedas, Bitcoin es una moneda descentralizada, es decir, no está respaldada por ningún gobierno ni depende de la confianza de ningún emisor central, sino que utiliza un sistema de "prueba de trabajo" para impedir el doble gasto y alcanzar el consenso entre todos los nodos que integran la red.


Bitcoin ¿Quien lo creo?
Su creador Satoshi Nakamoto introdujo este concepto bajo la publicación en 2008 de su paper Bitcoin: A Peer-to-Peer Electronic Cash System y en 2009 lanzó el software Bitcoin, creando la red del mismo nombre y las primeras unidades de moneda, llamadas bitcoins.


¿Cómo funciona Bitcoin?
Como se ha indicado el Bitcoin trabaja bajo una red peer-to-peer lo cual permite ser una moneda descentralizada sin dependencia de una única unidad central que regule la moneda. Esta gigantesca red se mantiene a través de los mismos usuarios llamados mineros, quienes son los encargados de validar las transacciones. 

Pero para explicar mejor su funcionamiento vamos a ver lo que integra e interviene en la red Bitcoin. 

> Bitcoin Wallets o Monederos.
Una billetera Bitcoin o Monedero es un archivo que contiene una colección de claves privadas, estas serán requeridas para poder realizar las transacciones, en caso de perdida de las claves privadas sera imposible recuperar los bitcoins asociados a la misma.

El protocolo Bitcoin utiliza el algoritmo ECDSA para la creación de estas claves, dejo algunos enlaces por si quieres investigar mas sobre el tema.
https://es.bitcoin.it/wiki/Clave_privada
https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm
https://www.oroyfinanzas.com/2014/01/criptografia-curva-eliptica-bitcoin-por-que-utiliza-ecdsa/

Cualquier persona puede tener una Wallet o Monedero, solo debe descargar el software necesario para generar la misma o registrarse a través de un tercero mediante un servicio web y con eso sera suficiente para empezar a enviar o recibir bitcoins.

Existe una gran variedad de servicios de Monedero, pueden ser vía Web, aplicaciones para móviles, para escritorio, etc., aqui dejo un enlace donde se hacen reviews de los mas usados, y de los cuales se puede elegir el que mejor se adapte a las necesidades de cada persona.

Estos monederos generaran una dirección bitcoin (o varias) con una estructura parecida a la siguiente:
16UwAL9Risc3QfPqBUvKofHmBQ7wMtjvM

La cual sera el identificador único y necesario para iniciar las transacciones.

> Transacciones.
Una transacción es el proceso mediante el cual, cantidades de Bitcoin o sus fracciones pasan de ser propiedad de una wallet (persona) a otra, mediante una serie de reglas definidas en el protocolo.
Ya que los monederos Bitcoin disponen de la clave privada, es utilizada para firmar las operaciones, proporcionando una prueba matemática de que la transacción está hecha por el propietario del monedero. La firma también evita que la transacción no sea alterada por alguien una vez ésta ha sido emitida. Todas las transacciones son difundidas entre los usuarios y por lo general empiezan a ser confirmadas por la red en los 10 minutos siguientes a través de un proceso llamado minería.
Todas estas transacciones deben de ser registradas en una base de datos llamada Blockchain para ser consideradas validas.

Aquí vídeo ilustrativo.


> La cadena de bloques [Blockchain]
La cadena de bloques o "block chain" es una contabilidad pública compartida en la que se basa toda la red Bitcoin. Todas las transacciones confirmadas se incluyen en la cadena de bloques. De esta manera los monederos Bitcoin pueden calcular su saldo gastable y las nuevas transacciones pueden ser verificadas, asegurando que el cobro se esta haciendo al que realiza el pago. La integridad y el orden cronológico de la cadena de bloques se hacen cumplir con criptografía.

Es posible ver esta informacion en varios sitios, aquí te dejo uno de ellos.

La cadena de bloques pesa aproximadamente 16GB.

Aquí vídeo ilustrativo con una excelente explicación.

> Minería.
La minería es un sistema de consenso distribuido que se utiliza para confirmar las transacciones pendientes a ser incluidas en la cadena de bloques. Hace cumplir un orden cronológico en la cadena de bloques, protege la neutralidad de la red y permite un acuerdo entre todos los equipos sobre el estado del sistema. Para confirmar las transacciones, deberán ser empacadas en un bloque que se ajuste a estrictas normas de cifrado y que será verificado por la red. Estas normas impiden que cualquier bloque anterior se modifique, ya que hacerlo invalidaría todos los bloques siguientes. La minería también crea el equivalente a una lotería competitiva que impide que cualquier persona pueda fácilmente añadir nuevos bloques consecutivamente en la cadena de bloques. De esta manera, ninguna persona puede controlar lo que está incluido en la cadena de bloques o reemplazar partes de la cadena de bloques para revertir sus propios gastos.

Aquí dejo un vídeo ilustrativo de como funciona la minería

Pero quienes son los Mineros y que hacen?
Los mineros son usuarios que colaboran y mantienen la red de Bitcoin aportando su poder computacional para realizar la validación de las transacciones y así lograr el flujo correcto y seguro de los bitcoins sobre la red. Cualquier ordenador puede ser un nodo en la red Bitcoin con el software adecuado.

Los nodos reciben un bloque de transacciones los cuales deben contener una "prueba de trabajo" (proof of work) para ser considerados validos, he aquí donde reside la seguridad del sistema, ya que esta "prueba de trabajo" son computacionalmente complejas, es decir, si por ejemplo tu quisieras poner a tu ordenador a procesar un bloque tardaría años con la dificultad que existe, y esta dificultad aumenta aproximadamente cada 2 semanas, es por ello que hoy día hay agrupaciones de mineros (llamados piscinas de mineros) que colaboran con con su poder computacional para realizar estos complejos cálculos, pero mas adelante explicare un poco mas este tema.

Y si esto es tan complejo, cual es la motivación de hacer minería?
Pues allí esta el detalle, por cada bloque que se consigue (conseguir un bloque es superar correctamente la prueba de trabajo) y se valida de manera correcta para ser incluido en la Blockchain el sistema recompensa a los mineros con Bitcoins, actualmente 25 BTC por cada bloque conseguido, estos bloques se consiguen aproximadamente cada 10 min. en promedio en la red de Bitcoin, pero cada 4 años esta cantidad se reduce a la mitad, así que pronto serán 12,5 BTC por bloque, y así sucesivamente hasta que se generen 21.000.000 BTC que según el diseño del protocolo se alcanzara en 2140, y luego no se generaran mas Bitcoins.
Pero esto no significa que los mineros dejaran de ganar Bitcoins, ya que el sistema esta diseñado para que después de alcanzada esta cifra aun se tendrán que validar transacciones, es decir conseguir bloques para añadirlos a la Blockchain y para estas transacciones habrá una tasa que permitirá al sistema mantenerse sin mayor problema, o al menos eso es lo que esta programado.


Pues ya llegado a este punto y de haber investigado mas o menos los conceptos básicos del funcionamiento del Bitcoin a nivel general, aun quedaban dudas de muchos conceptos mencionados en esas descripciones sobre todo a nivel de minería, las dejo a continuación:



¿Como se crean los bitcoins?
Los bitcoins son creados por el proceso de minería, cada vez que se logra conseguir un bloque a través de la "prueba de trabajo", la red bitcoin recompensa a los mineros por aportar su poder computacional para la validación de las transacciones y mantener así la red segura.

¿Cual es la recompensa por el proceso de minería?
La recompensa es de 25 BTC por cada bloque que se consigue, cada 4 años esto se va ir reduciendo a la mitad.
Debido a la complejidad de conseguir bloques, se han creado piscinas de mineros y una vez se consigue el bloque la recompensa es repartida entre los mismos.

¿Si el proceso de minería es el que genera los Bitcoins, como inicio?
Pues este es un dato interesante, para iniciar la cadena de bloques el sistema se entrego a si mismo el llamado Bloque génesis en 2009, el cual le daba una recompensa de 50 BTC.
Tal vez para garantizar que realmente el mismo se genero el 3 de enero del 2009, en el parámetro coinbase fue colocado un anuncio de prensa de la fecha.

Aquí la informacion.


¿Porque cada 4 años esto se reduce a la mitad la recompensa de Bitcoins?
El protocolo esta programado para cada vez que se consigan 210.000 bloques automáticamente se reduzca la recompensa, de manera de poder llegar a los 21.000.000 de Bitcoins para el 2140.

¿Porque 21.000.000 de BTC?¿Porque se acaba en el 2140?
Es una cifra arbitraria programada en el protocolo, y si hacemos las cuentas de que en la red Bitcoin cada 10 min se encuentra un bloque y se crean mas monedas aproximadamente para esta fecha 2140 se creara el ultimo bitcoin.

Calculo aproximado.
Cada 10 min un Bloque -> Cada hora 6 bloques -> Cada 24 Horas 144 Bloques
Cada Año 52.560 Bloques -> Cada 4 años 210.240 Bloques aproximado.

Y si quieres ver la curva de creación de Bitcoins, puedes verificarla aquí

Este gráfico muestra el número de bitcoins que existirán en el futuro cercano. El Año es un pronóstico y puede estar ligeramente desviado.
Fuente: https://en.bitcoin.it/wiki/Controlled_supply
Date reachedBlockReward EraBTC/blockYear (estimate)Start BTCBTC AddedEnd BTCBTC IncreaseEnd BTC % of Limit
2009-01-030150.002009026250002625000infinite12.500%
2010-04-2252500150.002010262500026250005250000100.00%25.000%
2011-01-28105000150.002011*52500002625000787500050.00%37.500%
2011-12-14157500150.002012787500026250001050000033.33%50.000%
2012-11-28210000225.0020131050000013125001181250012.50%56.250%
2013-10-09262500225.0020141181250013125001312500011.11%62.500%
2014-08-11315000225.0020151312500013125001443750010.00%68.750%
2015-07-29367500225.002016144375001312500157500009.09%75.000%
420000312.50201715750000656250164062504.17%78.125%
472500312.50201816406250656250170625004.00%81.250%
525000312.50201917062500656250177187503.85%84.375%
577500312.50202017718750656250183750003.70%87.500%
63000046.25202118375000328125187031251.79%89.063%
68250046.25202218703125328125190312501.75%90.625%
73500046.25202319031250328125193593751.72%92.188%
78750046.25202419359375328125196875001.69%93.750%


¿Porque se consigue cada 10 minutos un bloque?
Es protocolo esta ajustado para que la dificultad permita que cada 10 min se consiga un bloque, esto no es mas que obtener la "prueba de trabajo" y notificar a todos los nodos para que validen el bloque y sea incluido en el Blockchain. Esta dificulta se ajusta cada 2 semanas aproximadamente.


¿Como se ajusta la dificultad cada 2 semanas?
Con el fin de mantener el tiempo estimado de conseguir los bloques cada 10 min el sistema reajusta la dificultad cada 2016 bloques, así que mientras mas poder computacional se introduce a la red mayor sera la dificultad para realizar la "prueba de trabajo" (Proof of work).

Calculo aproximado.
Cada 10 min un Bloque -> Cada 1 hora 6 bloques -> Cada 24 Horas 144 Bloques -> Cada 14 días 2016 bloques

Si quieres ir mas en profundad de como se hace este ajuste aquí dejo un enlace.

¿Que es al prueba de trabajo (proof of work)?
Es un desafió matemático que deben realizar los mineros para que cada bloque se considere valido y pueda ser incluido en la Blockchain.
Esto consiste en realizar procesos de hash (SHA-256) millones de veces hasta dar con la respuesta al desafió.
Si dos mineros consiguen la prueba de trabajo al mismo tiempo, el sistema selecciona la cadena mas larga, que no es mas que el bloque que mas trabajo haya puesto en resolver el desafió.

Calculo aproximado.
Cada 10 min un Bloque -> Cada 1 hora 6 bloques -> Cada 24 Horas 144 Bloques -> Cada 14 dias 2016 bloques

Aquí vídeo ilustrativo.


¿Es Bitcoin seguro?
El protocolo de Bitcoin se basa en la criptografia para garantizar la seguridad de la red y mediante la misma es posible confiar en que a pesar que la red depende de usuarios bien sean nodos honesto o no confiables, sera computacionalmenete difícil  revertir o cambiar una transacción, aunado a esto que la red trabaja en consenso en donde los nodos deben confirmar que un bloque es validad y puede ser incluido en la blockchain.

El protocolo bitcoin usa el hashcash para la prueba de trabajo, Hashcash utiliza criptografia de clave simétrica, llamada función hashcash de un solo sentido, típicamente SHA1 o SHA-256.



Pues hasta aqui la informacion, se que hay mucha mas informacion e interrogantes al respecto, pero aquí dejo las fuentes que puedes verificar, espero haber aportado algo para que se conozca a nivel general el funcionamiento del bitcoin y haya mas confianza en el uso de esta criptomoneda.

He ido dejando vídeo específicos de este excelente curso sobre el funcionamiento del Bitcoin (Ingles), aquí esta el enlace al curso completo.
https://www.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/bitcoin/v/bitcoin-transaction-block-chains?v=QzDO44oZWtE

Fuentes:
https://es.wikipedia.org/wiki/Bitcoin
https://es.wikipedia.org/wiki/Satoshi_Nakamoto
https://bitcoin.org
https://99bitcoins.com/best-bitcoin-wallet-2015-bitcoin-wallets-comparison-review/
https://en.bitcoin.it/wiki/Wallet
https://bitcoin.org/en/how-it-works
http://bitcoinfaq.com
https://www.bitcoinmining.com/what-is-hashcash/
https://blockchain.info/
http://maxidev.github.io/charlas/JCC/Bitcoin/#/
https://en.bitcoin.it/wiki/Genesis_block
https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f


Saludos.

--
Wladimir
Continue Reading…

martes, 24 de noviembre de 2015

Creando Linux Live USB con Unetbootin


Unetbootin es una excelente herramienta para crear nuestros Linux Live USB, esta disponible para ser ejecutado sobre diferentes sistemas operativos como Windows, Linux, y Mac OSX. Abajo dejo los enlaces para que las puedas descargar, el proceso para crear en Live USB es básicamente el mismo en las distintas plataformas. Para esta ocasión lo haremos desde Windows.

La herramienta soporta varias distribuciones Linux y también puede ser usada para cargar ciertas utilidades de administración de disco y análisis del sistema.

Algunas distribuciones con las que se puede usar la herramienta:
Ubuntu, Kubuntu, Xubuntu, Lubuntu, Debian, openSUSE, Arch Linux, Linux Mint
CentOS, Mandriva, FreeBSD, NetBSD, Fedora, PCLinuxOS, Gentoo

Así que puedes descargar la ISO del sistema de preferencia para crear el Live USB.

Para este ejemplo usaremos una distribución ligera de Ubuntu llamada lubuntu excelente para ordenadores con hardware antiguo y con pocos recursos.
Mas información: http://lubuntu.net/

Requisito indispensable que la Memoria USB tenga suficiente espacio
para el sistema operativo que almacenara.


Paso 1 - Descargar Unetbootin
Enlace - https://unetbootin.github.io/
Enlace - http://sourceforge.net/projects/unetbootin/ (Descarga solo para Windows)






Paso 2 - Ejecutar Unetbootin
Una de las ventajas de la herramienta es su portabilidad por lo cual no requiere instalación, sin embargo, si requiere privilegios para ejecutarse correctamente.


Paso 3 - Elegir el Sistema Operativo (Ejemplo con método 2)
Método 1 - Descarga directa
Al ejecutarse la aplicación puedes ver que esta marcada la opción "Distribución" y se puede elegir la misma así como la versión que se desea utilizar, si se elige este método se procederá a realizar la descarga de la imagen del Sistema Operativo seleccionado, lo cual puede tardar varios minutos u horas depende de la elección y ancho de banda para la descarga.



Método 2 - Desde una ISO
Esta sera el método que utilizaremos para este ejemplo, así que elegiremos la opción mas abajo "DiscoImagen", buscamos la ISO que se quiere utilizar y verificamos que la información de la unidad USB es la correcta y seleccionamos [Aceptar] 
Importante: Recuerde que sera eliminada toda la información que se encuentre en la Memoria USB.

Luego hay que esperar unos minutos mientras se realiza la descompresión de ficheros y configuración del sistema operativo en la Memoria USB, recuerda que la duración del proceso va a depender de si es una ISO muy grande y de los recursos de tu sistema.




Paso 4 - Reiniciar y probar tu Linux Live USB
Luego de haber seguido los tres sencillos pasos solo queda verificar tu Memoria USB para confirmar que se haya creado la estructura de ficheros y reiniciar para probar tu Linux Live USB, recuerda seleccionar la opción de arranque por USB en la BIOS.





Saludos.

--
Wladimir.

Continue Reading…

sábado, 21 de noviembre de 2015

Crear un USB booteable de Windows con Diskpart


Podemos crear un USB booteable desde nuestra linea de comando sin necesidad de software de terceros en tan solo unos cuantos pasos.

Para esto solo sera requerido que la Memoria USB cuente con el espacio suficiente y la imagen ISO del sistema operativo windows.

Conecta tu Memoria USB, abre una consola y sigue los siguientes pasos:


1. Escribe diskpart en la linea de comando. (Se requieren privilegios administrador para ejecutar) 
C:\novolatil>diskpart

2. Al desplegarse la consola DISKPART, el primer comando que se colocara sera el de listar los discos
DISKPART> list disk
  Núm Disco  Estado      Tamaño   Disp     Din  Gpt
  ---------- ----------  -------  -------  ---  ---
  Disco 0    En línea        465 GB      0 B
  Disco 1    En línea       7751 MB      0 B

Se puede observar que hay dos discos, el Disco 0 de 465GB que seria el disco duro de la maquina, y el Disco 1 de 7751MB el cual seria la Memoria USB de 8GB.
Importante!: Si no esta seguro de cual es la Memoria USB anote la información mostrada al listar los discos, salga de la consola, desconecte la Memoria USB de manera segura y vuelva a realizar los pasos 1 y 2, de esta forma puede comparar la información y tener claro cuales son sus discos y cual sera la Memoria USB cuando la conecte nuevamente.
No continuar con el procedimiento a menos que este seguro de seleccionar el disco correcto.

3. Para este ejemplo seleccionamos el Disco 1. (Recuerde que puede variar según su sistema)
DISKPART> select disk 1

4. Borramos todos los datos que pueda contener la Memoria USB.
DISKPART> clean

5. Creamos una particion primaria.
DISKPART> create partition primary

6. Marcar la particion primaria como Activa
DISKPART> active

7. Realizamos un formato rapido con un sistema de archivo fat32
DISKPART> format fs=fat32 quick

8. Asignamos las modificaciones realizadas.
DISKPART> assign

9. Salimos de la utilidad Diskpart
DISKPART> exit

Ejemplo:


10. Descomprimir la ISO del Sistema Operativo Microsoft Windows. Copiar y pegar todos los ficheros en la Memoria USB.
Para este ejemplo se usa una imagen ISO de Windows 8.1

- Descomprimimos la ISO.




















- Luego copiamos los ficheros que se han descomprimido a nuestra Memoria USB













Ya con esto tenemos listo nuestro USB bootable, solo se debe reiniciar y seleccionar el tipo de arranque correspondiente para comprobar que funciona de forma correcta.


--
Wladimir.
Continue Reading…

Crear contraseñas aleatorias con PowerShell


Aquí dejo 2 métodos para generar contraseñas aleatorias a través de Powershell, de manera que puedes tener a mano este tipo comando para ejecutarlos rápidamente y obtener contraseñas con la longitud 
complejidad que requieras.




::: Metodo 1

Namespace:   System.Web.Security
A pesar que esta funcionalidad es usada para implementar seguridad sobre ASP.NET, podemos aprovecharla para generar de manera muy rapida contraseñas aleatorias de una longitud especifica sobre nuestra consola PowerShell
Mas informaciónhttps://msdn.microsoft.com/es-es/library/system.web.security(v=vs.110).aspx


PS C:\novolatil> Add-Type -AssemblyName System.web
PS C:\novolatil> [System.Web.Security.Membership]::GeneratePassword(longitud,numeroDeCarateresNoAlfanumericos)

longitud
Numero de caracteres en la contraseña a generar. La longitud debe ser mínimo 1 y máximo 128

numeroDeCarateresNoAlfanumericos
Numero mínimo de caracteres no alfanuméricos (ejemplo @, #, !, %, &)


Ejemplo:
PS C:\novolatil> Add-Type -AssemblyName System.web
PS C:\novolatil> [System.Web.Security.Membership]::GeneratePassword(12,5)
$2;K+zBwA4^^

PS C:\novolatil> [System.Web.Security.Membership]::GeneratePassword(12,5)
U7fs#k%}&x7#

PS C:\novolatil> [System.Web.Security.Membership]::GeneratePassword(12,2)
f.BFK_3maKOe

PS C:\novolatil> [System.Web.Security.Membership]::GeneratePassword(8,3)
xD+/VQ]F














::: Metodo 2

Get-random
El Get-Random cmdlet entre sus funciones permite pasar una cadena de caracteres y nos devuelve una cadena aletoria. 

La primera sección ([char[]](0..255) -clike '[aA0-zZ9]'  nos permite generar una salida de caracteres, en caso que se quiera una contraseña con solo mayúsculas podemos editarlo y se dejaría de esta forma ([char[]](0..255) -clike '[A-Z]'

La segunda sección | Get-Random -Count 12) toma la salida de caracteres y genera la cadena aleatoria, donde el -Count 12 sera la longitud

Finalmente el -join "" es para presentar la salida en una única linea.


Ejemplo:
PS C:\novolatil> ([char[]](0..255) -clike '[aA0-zZ9]' | Get-Random -Count 12) -join ""
s_Wapd:jTO7@

PS C:\novolatil> ([char[]](0..255) -clike '[aA0-zZ9]' | Get-Random -Count 8) -join ""
KnfSX[vJ

PS C:\novolatil> ([char[]](0..255) -clike '[aA0-zZ9]' | Get-Random -Count 20) -join ""
4\AcjHvYa7iolQLm><[g

PS C:\novolatil> ([char[]](0..255) -clike '[aA0-zZ9]' | Get-Random -Count 25) -join ""
6Xuk[4FITr7xilbL8c0qh5_?y













--
Wladimir.

Continue Reading…

jueves, 19 de noviembre de 2015

Obtener Informacion de un sistema remoto con WMIC


A pesar que existen muchas herramientas para realizar inventario de los ordenadores de nuestra red y obtener información de los mismos, aquí les dejo una alternativa para obtener información específica de un sistema remoto desde nuestra consola.


WMIC ?
Es una utilidad de línea de comandos que simplifica el uso de Windows Management Instrumentation (WMI ) y los sistemas gestionados a través de WMI.


Importante!
Requerimientos para ejecutar correctamente la utilidad
- El servicio WMI debe estar iniciado en el sistema remoto


- Se requiere un usuario con suficientes privilegios en el sistema remoto


Algunas de las consultas que se pueden realizar con el WMIC:
Estos son solo un par de ejemplos, abajo dejare mas alias los cuales se pueden personalizar según la información que se requiera.

1.- Obtener información del sistema operativo.
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword OS get Version, Caption, CountryCode, CSName, Description, InstallDate, SerialNumber, ServicePackMajorVersion, WindowsDirectory /format:list

El modificador "/format:list" al final permite que la información se visualice de una forma ordenada.

Ejemplo 1:











2.- Obtener información de los procesos
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword PROCESS get Caption, CommandLine, Handle, HandleCount, PageFaults, PageFileUsage, PArentProcessId, ProcessId, ThreadCount /format:list | more

Si la información a desplegar es muy extensa siempre podemos hacer uso del "more"

Ejemplo 2:



3.- Obtener información de la tarjeta de Red
Con el wmic es posible establecer filtros medienate clausulas, como por ejemplo para este caso hacemos uso de WHERE con la misma muestrara solo las interfaces que tengan MACADDRESS asignadas. Por el contrario si se desea la informacion de todas las intefaces simplemente eliminamos -> where "MACAddress is not null"

wmic /node:(hostname_o_IP) /user:administrador /password:elpassword
NICCONFIG where "MACAddress is not null" get MACAddress, DefaultIPGateway, IPAddress, IPSubnet, DNSHostName, DNSDomain /format:list

Ejemplo 3:









4.- Obtener información de las aplicaciones instalas en el sistema y volcar los datos en un fichero.
Cada consulta que se realizar es posible volcar estos datos en un fichero .txt o .csv, para ello se agregan las siguientes opciones:

Para formato TXT
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword
PRODUCT get Name, Version /format:table >> c:\novolatil\lista_de_aplicaciones.txt

Para formato CSV
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword /output:lista_de_aplicaciones.csv PRODUCT get Name, Version /format:csv

Para formato html
wmic /node:192.168.71.130 /user:administrador /password:elpassword PRODUCT get Name, Version /format:htable >> lista_de_aplicaciones.html


Ejemplos 4:











Ejemplos de vista de ficheros (html y txt)


Aqui mas alias con los que puedes comprobar diferentes parámetros del sistema:

baseboardget Manufacturer, Model, Name, PartNumber, slotlayout, serialnumber, poweredon
biosget name, version, serialnumber
bootconfigget BootDirectory, Caption, TempDirectory, Lastdrive
cdromget Name, Drive, Volumename
computersystemget Name, domain, Manufacturer, Model, NumberofProcessors, PrimaryOwnerName,Username, Roles, totalphysicalmemory /format:list
cpuget Name, Caption, MaxClockSpeed, DeviceID, status
datafilewhere name='c:\\boot.ini' get Archive, FileSize, FileType, InstallDate, Readable, Writeable, System, Version
dcomappget Name, AppID /format:list
desktopget Name, ScreenSaverExecutable, ScreenSaverActive, Wallpaper /format:list
desktopmonitorget screenheight, screenwidth
diskdriveget Name, Manufacturer, Model, InterfaceType, MediaLoaded, MediaType
diskquotaget User, Warninglimit, DiskSpaceUsed, QuotaVolume
environmentget Description, VariableValue
fsdirwhere name='c:\\windows' get Archive, CreationDate, LastModified, Readable, Writeable, System, Hidden, Status
groupget Caption, InstallDate, LocalAccount, Domain, SID, Status
idecontrollerget Name, Manufacturer, DeviceID, Status
irqget Name, Status
jobget Name, Owner, DaysOfMonth, DaysOfWeek, ElapsedTime, JobStatus, StartTime, Status
loadorderget Name, DriverEnabled, GroupOrder, Status
logicaldiskget Name, Compressed, Description, DriveType, FileSystem, FreeSpace, SupportsDiskQuotas, VolumeDirty, VolumeName
memcacheget Name, BlockSize, Purpose, MaxCacheSize, Status
memlogicalget AvailableVirtualMemory, TotalPageFileSpace, TotalPhysicalMemory, TotalVirtualMemory
memphysicalget Manufacturer, Model, SerialNumber, MaxCapacity, MemoryDevices
netclientget Caption, Name, Manufacturer, Status
netloginget Name, Fullname, ScriptPath, Profile, UserID, NumberOfLogons, PasswordAge, LogonServer, HomeDirectory, PrimaryGroupID
netprotocolget Caption, Description, GuaranteesSequencing, SupportsBroadcasting,   SupportsEncryption, Status
netuseget Caption, DisplayType, LocalName, Name, ProviderName, Status
nicget AdapterType, AutoSense, Name, Installed, MACAddress, PNPDeviceID,PowerManagementSupported, Speed, StatusInfo
nicconfigget MACAddress, DefaultIPGateway, IPAddress, IPSubnet, DNSHostName, DNSDomain
nicconfigget MACAddress, IPAddress, DHCPEnabled, DHCPLeaseExpires, DHCPLeaseObtained, DHCPServer
nicconfigget MACAddress, IPAddress, DNSHostName, DNSDomain, DNSDomainSuffixSearchOrder, DNSEnabledForWINSResolution, DNSServerSearchOrder
nicconfigget MACAddress, IPAddress, WINSPrimaryServer, WINSSecondaryServer, WINSEnableLMHostsLookup, WINSHostLookupFile
ntdomainget Caption, ClientSiteName, DomainControllerAddress, DomainControllerName, Roles, Status
nteventwhere (LogFile='system' and SourceName='W32Time') get Message, TimeGenerated
nteventwhere (LogFile='system' and SourceName='W32Time' and Message like '%timesource%') get Message, TimeGenerated
nteventwhere (LogFile='system' and SourceName='W32Time' and EventCode!='29') get TimeGenerated, EventCode, Message
onboarddeviceget Description, DeviceType, Enabled, Status
osget Version, Caption, CountryCode, CSName, Description, InstallDate, SerialNumber, ServicePackMajorVersion, WindowsDirectory /format:list
osget CurrentTimeZone, FreePhysicalMemory, FreeVirtualMemory, LastBootUpTime, NumberofProcesses, NumberofUsers, Organization, RegisteredUser, Status
pagefileget Caption, CurrentUsage, Status, TempPageFile
pagefilesetget Name, InitialSize, MaximumSize
partitionget Caption, Size, PrimaryPartition, Status, Type
printerget DeviceID, DriverName, Hidden, Name, PortName, PowerManagementSupported, PrintJobDataType, VerticalResolution, Horizontalresolution
printjobget Description, Document, ElapsedTime, HostPrintQueue, JobID, JobStatus, Name, Notify, Owner, TimeSubmitted, TotalPages
processget Caption, CommandLine, Handle, HandleCount, PageFaults, PageFileUsage, PArentProcessId, ProcessId, ThreadCount
productget Description, InstallDate, Name, Vendor, Version
qfeget description, FixComments, HotFixID, InstalledBy, InstalledOn, ServicePackInEffect
quotasettingget Caption, DefaultLimit, Description, DefaultWarningLimit, SettingID, State
recoverosget AutoReboot, DebugFilePath, WriteDebugInfo, WriteToSystemLog
Registryget CurrentSize, MaximumSize, ProposedSize, Status
scsicontrollerget Caption, DeviceID, Manufacturer, PNPDeviceID
serverget ErrorsAccessPermissions, ErrorsGrantedAccess, ErrorsLogon, ErrorsSystem, FilesOpen, FileDirectorySearches
serviceget Name, Caption, State, ServiceType, StartMode, pathname
shareget name, path, status
sounddevget Caption, DeviceID, PNPDeviceID, Manufacturer, status
startupget Caption, Location, Command
sysaccountget Caption, Domain, Name, SID, SIDType, Status
sysdriverget Caption, Name, PathName, ServiceType, State, Status
systemenclosureget Caption, Height, Depth, Manufacturer, Model, SMBIOSAssetTag, AudibleAlarm, SecurityStatus, SecurityBreach, PoweredOn, NumberOfPowerCords
systemslotget Number, SlotDesignation, Status, SupportsHotPlug, Version, CurrentUsage, ConnectorPinout
tapedriveget Name, Capabilities, Compression, Description, MediaType, NeedsCleaning, Status, StatusInfo
timezoneget Caption, Bias, DaylightBias, DaylightName, StandardName
useraccountget AccountType, Description, Domain, Disabled, LocalAccount, Lockout, PasswordChangeable, PasswordExpires, PasswordRequired, SID




--
Continue Reading…
Con la tecnología de Blogger.
Copyright © NoVolátil - Blog IT | Powered by Blogger
Design by Saeed Salam | Blogger Theme by NewBloggerThemes.com