C# 之 获取服务器IP,客户端IP以及其它 | 您所在的位置:网站首页 › 如何获取客户端mac地址 › C# 之 获取服务器IP,客户端IP以及其它 |
本文主要是从网络上搜索的文章进行参考,也是提供一个大概的方向和思路吧。当然如果有能用的代码,可直接复制过去根据自己的情况修改和使用。
一、思路(主要用于局域网内) 通过Web获取客户端的IP地址较简单,从客户端向web服务器发送的数据报中(Request对象)中即可 解析出,但实际应用中,还要考虑代理服务器,路由器的转发等等。 而获取MAC的过程较复杂,因为客户端向服务器发送的请求对象中不包含MAC地址,因此得到两种思 路来获取客户端MAC地址: (1).在客户端来获取客户机的MAC地址,所以当请求到达客户端后,通过客户端脚本来获取客户端 MAC地址,然后再传送给服务器端。 (2).先获取客户端IP地址,然后在局域网中发送ARP请求,通过ARP协议和已知的IP地址来解析客户 端的MAC地址 下面为获取IP地址、MAC地址的的代码, 以及通过发送ARP请求解析MAC地址的过程: https://blog.csdn.net/wang379275614/article/details/17596135 ------------------------------------------------------------------------------- 切记要引用命名空间:using System.Management。心中窃喜,呵呵还是比较简单的。测试,晕 ! 这么做获取的是服务器的MAC。要获取客户端的MAC用C#做就比较复杂了。网上也有很多类似的例子,不过获取客户端的信息最好还是用 客户端脚本比较好。下面是个JavaScript的获取MAC的例子(转):https://www.cnblogs.com/kingboy/articles/1025399.html ------------------------------------------------------------------------------- Request.UserHostAddress string IP = (Request.ServerVariables["HTTP_VIA"]!=null)?Request.ServerVariables ["HTTP_X_FORWARDED_FOR"].ToString():Request.ServerVariables["REMOTE_ADDR"].ToString(); string ipAddress = System.Web.HttpContext.Current.Request.UserHostAddress; 先引用命名空间:using System.Net;得到客户端IP地址:Request.ServerVariables["REMOTE_ADDR"]或Rqurest.UserHostAddress();得到本机IP地址:Request.ServerVariables["local_addr"]或addr = new System.Net.IPAddress ( Dns.GetHostByName ( Dns.GetHostName ( ) ) .AddressList [0].Address ) ; HttpBrowserCapabilities bc= Request.Browser; Label3.Text=bc.Browser+" "+bc.Version;//得到浏览器版本Label2.Text=bc.Platform;//得到操作系统hostname=Dns.GetHostName();IPHostEntry jj=Dns.GetHostByName(hostname);//得到IP//IPAddress ip=Dns.Resolve(hostname);Label1.Text=jj.AddressList[0].ToString(); https://bbs.csdn.net/topics/90213110 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------ 1、获取客户端IP:Request.ServerVariables.Get("Remote_Addr").ToString(); 2、获取客户端主机名:Request.ServerVariables.Get("Remote_Host").ToString(); 3、获取客户端浏览器:Request.Browser.Browser; 4、获取客户端浏览器 版本号:Request.Browser.MajorVersion; 5、获取客户端操作系统:Request.Browser.Platform; 6、获取服务器IP:Request.ServerVariables.Get("Local_Addr").ToString(); 7、获取服务器名:Request.ServerVariables.Get("Server_Name").ToString();
foreach(String o in Request.ServerVariables){ Response.Write(o+"="+Request.ServerVariables[o]+""); }
![]() ![]()
![]() ![]()
出处:https://www.cnblogs.com/xinaixia/p/4772955.html |
CopyRight 2018-2019 实验室设备网 版权所有 |