c#中获取服务器IP,客户端IP以及其它

客户端ip:
Request.ServerVariables.Get(
" Remote_Addr " ).ToString();
客户端主机名:
Request.ServerVariables.Get(
" Remote_Host " ).ToString();
客户端浏览器IE:
Request.Browser.Browser;
客户端浏览器 版本号:
Request.Browser.MajorVersion;
客户端操作系统:
Request.Browser.Platform;
服务器ip:
Request.ServerVariables.Get(
" Local_Addr " ).ToString();
服务器名:
Request.ServerVariables.Get(
" Server_Name " ).ToString();

如果你想进一步了解ServerVariables,可以用


foreach(String o in Request.ServerVariables){
Response.Write(o+"="+Request.ServerVariables[o]+"<br>");
}
string stringMAC = "";
   string stringIP = "";
   ManagementClass MC = new ManagementClass ("Win32_NetworkAdapterConfiguration");
   ManagementObjectCollection MOC= MC.GetInstances();

   foreach(ManagementObject MO in MOC)
   {
    if ((bool)MO["IPEnabled"] == true)
    {
       stringMAC += MO["MACAddress"].ToString(); //获取网卡的地址
       string[] IPAddresses = (string[]) MO["IPAddress"]; //获取本地的IP地址
       if(IPAddresses.Length > 0)
       stringIP = IPAddresses[0];
       Response.Write(stringMAC+"/"+stringIP);
     }
   }
asp.net+c#如何获取客户端网卡的MAC地址?
//要引用到以下两个命名空间
using System.Diagnostics;
using System.Text.RegularExpressions;

//获取远程客户端的网卡物理地址(MAC)
public string GetMac(string IP)   //para IP is the client's IP
{
string dirResults="";
ProcessStartInfo psi = new ProcessStartInfo();
Process proc = new Process();
psi.FileName = "nbtstat";
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.Arguments = "-A " + IP;
psi.UseShellExecute = false;
proc = Process.Start(psi);
dirResults = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");

Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?<key>((.)*?))__MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
Match mc=reg.Match(dirResults+"__MAC");

if(mc.Success)   
{
return mc.Groups["key"].Value;
}
else
{
reg=new Regex("Host not found",RegexOptions.IgnoreCase|RegexOptions.Compiled);
mc=reg.Match(dirResults);
if(mc.Success)
{
return "Host not found!";
}
else
{
return "";
}
}
}

//在页面上打印出客户端的网卡物理地址(MAC)
Response.Write(this.GetMac(Request.UserHostAddress.ToString()));

 获取cpu序列号,硬盘ID,网卡MAC地址
private void GetInfo()
  {
   string cpuInfo = "";//cpu序列号
   ManagementClass cimobject = new ManagementClass("Win32_Processor");
   ManagementObjectCollection moc = cimobject.GetInstances();
   foreach(ManagementObject mo in moc)
   {
    cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
    Response.Write ("cpu序列号:"+cpuInfo.ToString ());
   }

   //获取硬盘ID
   String HDid;
   ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
   ManagementObjectCollection moc1 = cimobject1.GetInstances();
   foreach(ManagementObject mo in moc1)
   {
    HDid = (string)mo.Properties["Model"].Value;
    Response.Write ("硬盘序列号:"+HDid.ToString ());
   }


   //获取网卡硬件地址

   ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
   ManagementObjectCollection moc2 = mc.GetInstances();
   foreach(ManagementObject mo in moc2)
   {
    if((bool)mo["IPEnabled"] == true)
     Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
    mo.Dispose();
   }
  }

原文地址: http://www.cnblogs.com/chengbin/articles/806273.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个简单的C# TCP/IP客户端代码示例。请注意,这只是一个基本的示例,您可能需要根据自己的需求进行修改和扩展。 ```csharp using System; using System.Net; using System.Net.Sockets; using System.Text; public class TcpClientExample { public static void Main() { try { // 连接服务器IP地址和端口号 string serverIP = "127.0.0.1"; int serverPort = 8080; // 创建一个TcpClient对象并连接到服务器 TcpClient client = new TcpClient(); client.Connect(serverIP, serverPort); Console.WriteLine("连接到服务器 {0}:{1}", serverIP, serverPort); // 获取网络流 NetworkStream stream = client.GetStream(); // 发送消息到服务器 string message = "Hello, Server!"; byte[] data = Encoding.UTF8.GetBytes(message); stream.Write(data, 0, data.Length); Console.WriteLine("发送消息: {0}", message); // 接收服务器的响应 data = new byte[256]; StringBuilder response = new StringBuilder(); int bytesRead = stream.Read(data, 0, data.Length); response.Append(Encoding.UTF8.GetString(data, 0, bytesRead)); Console.WriteLine("接收到服务器的响应: {0}", response); // 关闭连接 client.Close(); } catch (Exception e) { Console.WriteLine("发生错误: {0}", e); } } } ``` 在上面的示例代码,我们使用`TcpClient`类来创建一个TCP客户端。首先,我们指定要连接的服务器IP地址和端口号。然后,我们通过调用`Connect`方法来连接到服务器。接下来,我们获取网络流以进行数据传输。使用`Write`方法发送消息到服务器,并使用`Read`方法接收服务器的响应。最后,我们关闭客户端连接。 请注意,此示例仅用于演示目的。在实际应用,您可能需要添加错误处理、数据解析和其他功能来满足您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值