`
king_c
  • 浏览: 225719 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebService获取服务端硬件信息和客户端IP,MAC,浏览器信息

    博客分类:
  • c#
 
阅读更多

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
{
/// <summary>
/// Service1 的摘要说明。
/// GetHostName() 获取机器名
/// GetHostIP() 获取服务器IP
/// GetHostMac() 获取服务器MAC地址
/// GetCustomerIP() 获取客户端动态IP地址
/// GetCustomerMacInfo() 获取内部网客户端MAC地址
/// GetCustomerBroswer()客户端浏览器信息
/// GetCpuId() .获取CPU编号
/// GetMainHardDiskId 获取主硬盘编号
///要引用一个公用 //Webservice:http://www.youthbar.com/IpSearch/GetAddressByIP.asmx
/// </summary>

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 .Net_addr(string ip);
public Service1()
{
//CODEGEN: 该调用是 ASP.Net Web 服务设计器所必需的
InitializeComponent();
}

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

//Web 服务设计器所必需的
private IContainer components = null;

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
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= .Net_addr(CustomerIP);//目的地的ip
Int32 lhost= .Net_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();
}

}
}

分享到:
评论

相关推荐

    获取服务端硬件信息和客户端IP,MAC,浏览器信息

    综上所述,通过WebService获取服务端硬件信息和客户端网络信息是一个涉及网络通信、数据解析、隐私保护等多个领域的复杂过程。正确理解和实施这些技术可以帮助我们构建更智能、更安全的网络应用。

    Java cxf开发webservice,分别有客户端和服务端

    3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息,实现两个系统间消息的...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    总结,本教程详细介绍了如何利用Spring Boot和Apache CXF搭建Web Service服务端,以及使用JAX-WS的`javax.xml.ws.Service`和Apache CXF的`JaxWsProxyFactoryBean`两种方式实现Java客户端调用。这些技能对于开发者来...

    WebService服务端和客户端

    在这个小型项目中,我们将深入探讨WebService服务端和客户端的实现。 首先,让我们理解WebService的基本工作原理。WebService是通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...

    java版WebService生成客户端和服务端的实例

    本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...

    webService调取IP所在地,以及获得客户端真实IP

    webService调取IP所在地,以及获得客户端真实IP

    Eclipse+WebService服务端客户端开发

    Eclipse开发WebService服务端实例。开发客户端代码。超级简单易懂的实例。

    webservice 服务端 和客户端 例子代码

    在"webservice 服务端 和客户端 例子代码"中,我们可以探索以下几个重要的知识点: 1. **WebService服务端开发**: - **SOAP协议**:服务端需要理解并处理SOAP消息,这通常通过创建一个SOAP终结点实现。例如,使用...

    php编写webservice soap服务端及客户端

    PHP作为广泛使用的服务器端脚本语言,非常适合用来创建SOAP Web Service的服务端和客户端。 标题“php编写webservice soap服务端及客户端”意味着我们将讨论如何使用PHP实现SOAP协议的两个关键部分:服务提供者和...

    webservice服务端和客户端实践

    总的来说,"webservice服务端和客户端实践"项目涉及了WebService的基本概念、实现方式以及Apache CXF框架的使用。通过学习和实践,你可以掌握如何在Java环境中创建和调用WebServices,并理解其背后的工作原理。

    搭建WebService服务端和客户端的jar报

    本篇将详细介绍如何使用CXF框架搭建WebService服务端和客户端,并讨论相关jar包的作用。 一、CXF框架介绍 Apache CXF是一个强大的Java Web服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。CXF使得...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    总的来说,这个压缩包提供了一个完整的基于Axis2的Web服务实现示例,包括服务端创建服务和客户端调用服务的所有必要组件。通过学习和理解这些文件,开发者可以更好地掌握如何在实际项目中利用Apache Axis2构建和使用...

    axis生成webservice服务端和客户端详细说明及实例

    本篇文章将详细介绍如何使用Axis来创建服务端和客户端的Web服务,并通过实例进行说明。 一、 Axis生成Web服务服务端 1. 安装与配置Axis 首先,你需要下载并安装Axis的最新版本。解压后,将其添加到你的系统路径中...

    WebService 服务端及客户端样例工程

    本示例工程涵盖了WebService服务端和客户端的实现,帮助开发者更好地理解和应用WebService技术。 服务端开发: 在服务端,我们通常会创建一个SOAP(Simple Object Access Protocol)服务,它是WebService最常见的一...

    webService C# 通信测试服务端和客户端,支持json数据收发

    C# webservice 接口调用和开发 winform客户端发送默认格式L和json格式数据,服务端接收默认格式和json格式数据,自己做的测试,有不清楚的,可以看博文介绍,包括客户端和服务端,刚测试完,没问题,趁热发布

    VB.net webservice包括服务端及客户端程序

    这个标题表明我们关注的是一个包含服务端和客户端程序的VB.NET Web Service项目,它使用了Visual Studio 2010作为开发环境。让我们深入探讨一下相关的知识点。 首先,VB.NET是Visual Basic的一种版本,它是.NET ...

    webservice 客户端 服务端实例 代码

    WebService是一种基于XML的标准化方式,用于在不同的应用程序之间...总之,本实例涵盖了WebService的基本概念和Java环境下客户端、服务端的实现,通过阅读源代码和运行示例,可以深入理解WebService的工作原理和应用。

    webService客户端调用服务端传对象参数

    这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...

    webservice客户端与服务端搭建教程

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则...跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。

    AXIS1.4webservice服务端和客户端例子

    在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...

Global site tag (gtag.js) - Google Analytics