Buenos días:
Tengo claro lo que quiero. Saber la MAC de su tarjeta de red,saber que idioma usa el Windows, unidad de disco duro y particiones. Quiero hacerle como si estuviera haciendo un tree en cmd y guardar esos datos en un archivo de texto, eso si, lo pasaréa binario para que no lo lean.
Saber MAC y guardarlo en un archivo. (Lo de encriptarlo o no es otro cantar).
Más simplificado y guardar en un .txt y en un .bin en C#:
También saber que dispositivos tiene conectado en red, otros ordenadores, impresoras, todos los datos posibles de las impresotas que tenga en red o por USB marca y modelo.
Seguiré ampliando cosas.
Tengo claro lo que quiero. Saber la MAC de su tarjeta de red,saber que idioma usa el Windows, unidad de disco duro y particiones. Quiero hacerle como si estuviera haciendo un tree en cmd y guardar esos datos en un archivo de texto, eso si, lo pasaréa binario para que no lo lean.
Saber MAC y guardarlo en un archivo. (Lo de encriptarlo o no es otro cantar).
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.NetworkInformation; // No olvidar.
namespace Leer_MAC
{
class Program
{
static void Main(string[] args)
{
Console.Title = "En busca del MAC";
string Nombre_HostName = null;
string Nombre_Dominio = null;
string MAC = null;
IPGlobalProperties Propiedades_PC = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] Interfaz_red = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Información de interfaz para {0}.{1} ",
Propiedades_PC.HostName, Propiedades_PC.DomainName);
if ((Interfaz_red == null) || (Interfaz_red.Length < 1))
{
Console.WriteLine(" No hay interfaces de red encontrados.");
return;
}
Console.WriteLine(" Número de interfaces .................... : {0}", Interfaz_red.Length);
foreach (NetworkInterface Adaptador in Interfaz_red)
{
IPInterfaceProperties Propiedades = Adaptador.GetIPProperties(); // .GetIPInterfaceProperties();
Console.WriteLine();
Console.WriteLine(Adaptador.Description);
Console.WriteLine(String.Empty.PadLeft(Adaptador.Description.Length, '='));
Console.WriteLine(" Tipo interfaz ........................... : {0}", Adaptador.NetworkInterfaceType);
Console.Write(" Dirección física ........................ : ");
PhysicalAddress Direccion = Adaptador.GetPhysicalAddress();
byte[] bytes = Direccion.GetAddressBytes();
// Variable que tendra la dirección visible.
string direccion_MAC = string.Empty;
// Recorrer todos los bytes de la dirección.
for (int i = 0; i < bytes.Length; i++)
{
// Muestra la dirección física en hexadecimal.
direccion_MAC += bytes[i].ToString("X2");
Console.Write("{0}", bytes[i].ToString("X2"));
// Inserte un guión después de cada bocado, a menos que estemos al final de la dirección.
if (i != bytes.Length - 1)
{
// Agregar un separador, por formato.
direccion_MAC += "-";
Console.Write("-");
}
MAC = direccion_MAC;
}
Console.WriteLine();
}
// Guarda el nombre del hostname en la variable Nombre_HostName.
Nombre_HostName = Propiedades_PC.HostName;
// Guarda el nombre del dominio si lo tiene.
Nombre_Dominio = Propiedades_PC.DomainName;
// Guarda la MAC recibida con sus - en la varible MAC.
//MAC = direccion_MAC;
Console.WriteLine();
Console.WriteLine(@"Nombre del HostName: {0}", Nombre_HostName);
Console.WriteLine(@"Nombre del domninio: {0}", Nombre_Dominio);
Console.WriteLine(@"MAC es: {0}", MAC);
Console.ReadKey(); // Pulsa cualquier tecla y sale.
}
}
}
Más simplificado y guardar en un .txt y en un .bin en C#:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.NetworkInformation; // No olvidar.
using System.IO;
namespace Leer_MAC_2
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Leer MAC 2";
var macAddr =
(
from nic in NetworkInterface.GetAllNetworkInterfaces()
select nic.GetPhysicalAddress().ToString()
).ToArray();
// Para escribir datos en un archivo.
StreamWriter Texto = new StreamWriter("Archivo.txt");
FileStream Archivo = new FileStream("Archivo_bin.txt", FileMode.Append);
BinaryWriter Binario = new BinaryWriter(Archivo); // Escribe en bibario.
Console.WriteLine("numero de direcciones " + macAddr.Count());
foreach (var address in macAddr)
{
Texto.WriteLine(address);
Binario.Write(address);
Console.WriteLine(address);
}
Texto.Close(); // Cerrar archivo.
Archivo.Close(); // Cierra archivo binario.
Console.ReadKey(); // Pulse cualquier tecla para salir.
}
}
}
También saber que dispositivos tiene conectado en red, otros ordenadores, impresoras, todos los datos posibles de las impresotas que tenga en red o por USB marca y modelo.
Seguiré ampliando cosas.
![;) ;)](https://forum.elhacker.net/Smileys/navidad/wink.gif)