浏览器获取服务器信息吗,WebService获取服务端硬件信息和客户端IP,MAC,浏览器信息,所在城市- -...

点击关闭此广告

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.Web;

using System.Web.Services;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Management;

using System.Net;

using System.Runtime.InteropServices;

using System.IO;

namespace CHardwardInfo

{

///

/// Service1 的摘要说明。

/// GetHostName() 获取机器名

/// GetHostIP() 获取服务器IP

/// GetHostMac() 获取服务器MAC地址

/// GetCustomerIP() 获取客户端动态IP地址

/// GetCustomerMacInfo() 获取内部网客户端MAC地址

/// GetCustomerBroswer()客户端浏览器信息

/// GetCpuId() .获取CPU编号

/// GetMainHardDiskId 获取主硬盘编号

///要引用一个公用  //Webservice:[url]http://www.youthbar.com/IpSearch/GetAddressByIP.asmx[/url]

///

public class Service1 : System.Web.Services.WebService

{

[DllImport("Iphlpapi.dll")]

private static  extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);

[DllImport("Ws2_32.dll")]

private static extern Int32 inet_addr(string ip);

public Service1()

{

//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的

InitializeComponent();

}

#region 组件设计器生成的代码

//Web 服务设计器所必需的

private IContainer components = null;

///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

private void InitializeComponent()

{

}

///

/// 清理所有正在使用的资源。

///

protected override void Dispose( bool disposing )

{

if(disposing && components != null)

{

components.Dispose();

}

base.Dispose(disposing);

}

#endregion

// WEB 服务示例

// HelloWorld() 示例服务返回字符串 Hello World

// 若要生成,请取消注释下列行,然后保存并生成项目

// 若要测试此 Web 服务,请按 F5 键

[WebMethod]

public string GetHostName()

{

return System.Net.Dns.GetHostName();

}

[WebMethod]

public string GetCpuId()

{

System.Management.ManagementClass mc=new ManagementClass("Win32_Processor");

System.Management.ManagementObjectCollection moc=mc.GetInstances();

string strCpuID=null;

foreach(System.Management.ManagementObject mo in moc)

{

strCpuID=mo.Properties["ProcessorID"].Value.ToString();

break;

}

return strCpuID;

}

[WebMethod]

public string GetMainHardDiskId()

{

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");

String strHardDiskID = null ;

foreach(ManagementObject mo in searcher.Get())

{

strHardDiskID = mo["SerialNumber"].ToString().Trim();

break;

}

return strHardDiskID ;

}

[WebMethod]

public string GetHostIP()

{

string s="";

System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;

for (int i = 0; i < addressList.Length; i ++)

{

s += addressList[i].ToString();

}

return  s;

}

[WebMethod]

public string GetHostMAC()

{

string mac="";

System.Management.ManagementClass mc=new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection moc=mc.GetInstances();

foreach(ManagementObject mo in moc)

{

if(mo["IPEnabled"].ToString()=="True")

mac=mo["MacAddress"].ToString();

}

return mac;

}

[WebMethod]

public string GetCustomerIP()

{

string CustomerIP="";

if(HttpContext.Current.Request.ServerVariables["HTTP_VIA"]!=null)

{

CustomerIP=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

}

else

{

CustomerIP=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

}

return CustomerIP;

}

[WebMethod]

public string GetCustomerBroswer()

{

return HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"].ToString();

}

[WebMethod]

public string GetCustomerMacInfo(string HostIP,string CustomerIP)

{

Int32 ldest= inet_addr(CustomerIP);//目的地的ip

Int32 lhost= inet_addr(HostIP);//本地的ip

Int64 macinfo=new Int64();

Int32 len=6;

//int len=macinfo.Length;

SendARP(ldest,0,ref macinfo, ref len);

string originalMACAddress = Convert.ToString(macinfo,16);

if (originalMACAddress.Length<12)

{

originalMACAddress = originalMACAddress.PadLeft(12,'0');

}

string macAddress;

if(originalMACAddress!="0000" && originalMACAddress.Length==12)

{

string mac1,mac2,mac3,mac4,mac5,mac6;

mac1=originalMACAddress.Substring(10,2);

mac2=originalMACAddress.Substring(8,2);

mac3=originalMACAddress.Substring(6,2);

mac4=originalMACAddress.Substring(4,2);

mac5=originalMACAddress.Substring(2,2);

mac6=originalMACAddress.Substring(0,2);

macAddress=mac1+"-"+mac2+"-"+mac3+"-"+mac4+"-"+mac5+"-"+mac6;

}

else

{

macAddress="";

}

return macAddress.ToUpper();

}

[WebMethod]

public string GetAddressByIp(string userIP)

{

getAddress.GetAddressByIP address=new getAddress.GetAddressByIP();

return address.GetAddress(userIP).ToString();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值