using System; using System.Net; using System.DirectoryServices; using System.DirectoryServices.Protocols; public class MainClass { public static void Main() { Uri uri = new Uri("http://yourSite/dsml1"); DsmlDirectoryIdentifier identifier = new DsmlDirectoryIdentifier(uri); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = "yourName"; credentials.Password = "password"; DsmlSoapHttpConnection connection = new DsmlSoapHttpConnection(identifier, credentials); connection.BeginSession(); string distinguishedname = "yourName"; string ldapFilter = "object=user"; string[] attributes = new string[1]; DirectoryRequest request = new SearchRequest(distinguishedname, ldapFilter, System.DirectoryServices.Protocols.SearchScope.Subtree, null); DirectoryResponse response = connection.SendRequest(request); connection.EndSession(); } }
C# Network
Find DNS Servers from Registry
using System; using Microsoft.Win32; class FindDNSServers { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEMCurrentControlSetServicesTcpipParameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); char[] token = new char[1]; token[0] = ' '; string[] servers = serverlist.Split(token); foreach (string server in servers) { Console.WriteLine("DNS server: {0}", server); } } }
Get DNS Address Info
using System; using System.Net; public class GetDNSAddressInfo { public static void Main(string[] argv) { if (argv.Length != 1) { Console.WriteLine("Usage: GetDNSAddressInfo address"); return; } IPAddress test = IPAddress.Parse(argv[0]); IPHostEntry iphe = Dns.GetHostByAddress(test); Console.WriteLine("Information for {0}", test.ToString()); Console.WriteLine("Host name: {0}", iphe.HostName); foreach(string alias in iphe.Aliases) { Console.WriteLine("Alias: {0}", alias); } foreach(IPAddress address in iphe.AddressList) { Console.WriteLine("Address: {0}", address.ToString()); } } }
Find DNS Servers
using System; using Microsoft.Win32; public class FindDNSServers { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEMCurrentControlSetServicesTcpipParameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); char[] token = new char[1]; token[0] = ' '; string[] servers = serverlist.Split(token); foreach(string server in servers) { Console.WriteLine("DNS server: {0}", server); } } }
DNS Name Resolution
using System; using System.Net; public class DNSNameResolution { [STAThread] static void Main(string[] args) { IPHostEntry MyHost = Dns.Resolve(args[0]); foreach (IPAddress MyIP in MyHost.AddressList) { Console.WriteLine(MyIP.Address); } } }
DNS Reverse Lookup and Lookup
using System; using System.Collections.Generic; using System.Text; using System.Net; //DnsLookup class Program { static void Output(IPHostEntry ipHostEntry) { Console.WriteLine("Host: {0}", ipHostEntry.HostName); Console.WriteLine(" Aliases:"); foreach (string alias in ipHostEntry.Aliases) { Console.WriteLine(alias); } Console.WriteLine(" Address(es):"); foreach (IPAddress address in ipHostEntry.AddressList) { Console.WriteLine("Address: {0}", address.ToString()); } Console.ReadLine(); } static void Lookup(string hostname) { IPHostEntry ipHostEntry = Dns.GetHostByName(hostname); Output(ipHostEntry); } static void ReverseLookup(string address) { IPHostEntry ipHostEntry = Dns.GetHostByAddress(address); Output(ipHostEntry); } static void Main(string[] args) { Lookup("www.microsoft.com"); ReverseLookup("172.18.1.1"); } }
Binary Data Receiver
/* C# Network Programming by Richard Blum Publisher: Sybex ISBN: 0782141765 */ using System; using System.Net; using System.Net.Sockets; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; public class BinaryDataRcvr { public static void Main() { TcpListener server = new TcpListener(9050); server.Start(); TcpClient client = server.AcceptTcpClient(); NetworkStream strm = client.GetStream(); IFormatter formatter = new BinaryFormatter(); SerialEmployee emp1 = (SerialEmployee)formatter.Deserialize(strm); Console.WriteLine("emp1.EmployeeID = {0}", emp1.EmployeeID); Console.WriteLine("emp1.LastName = {0}", emp1.LastName); Console.WriteLine("emp1.FirstName = {0}", emp1.FirstName); Console.WriteLine("emp1.YearsService = {0}", emp1.YearsService); Console.WriteLine("emp1.Salary = {0} ", emp1.Salary); SerialEmployee emp2 = (SerialEmployee)formatter.Deserialize(strm); Console.WriteLine("emp2.EmployeeID = {0}", emp2.EmployeeID); Console.WriteLine("emp2.LastName = {0}", emp2.LastName); Console.WriteLine("emp2.FirstName = {0}", emp2.FirstName); Console.WriteLine("emp2.YearsService = {0}", emp2.YearsService); Console.WriteLine("emp2.Salary = {0}", emp2.Salary); strm.Close(); server.Stop(); } } [Serializable] public class SerialEmployee { public int EmployeeID; public string LastName; public string FirstName; public int YearsService; public double Salary; public SerialEmployee() { EmployeeID = 0; LastName = null; FirstName = null; YearsService = 0; Salary = 0.0; } }