c#服务器获取客户端IP地址以及归属地探秘

  

背景:博主本是一位Windows桌面应用程序开发工程师,对网络通信一知半解。一日老婆逛完某宝,问:“为什么他们知道我的地址呢,他们是怎么获取我的地址的呢?”,

,

顺着这个问题我们的探秘开始:

第一步:简单的服务搭建

思路,通过HttpListener在本地搭建一个简易的服务器,开发程序为控制台接口,核心类HttpListenerService:

方法开始()开启线程池针对指定IP进行监听,本地的端口选取的9527(周星驰唐伯虎点秋香在华府的编号)

 C #服务器获取客户端IP地址以及归属地探秘”> </p> <>之前,public  void 开始(object  obj)
  ,,,,,,,{,,,,,,,,,,,试一试
  ,,,,,,,,,,,{,,,,,,,,,,,,,,,//指定身份验证,匿名匿名访问
  ,,,,,,,,,,,,,,,_httpListener.AuthenticationSchemes =, AuthenticationSchemes.Anonymous;,,,,,,,,,,,,,,,//GetLocalIpAddress()——获取本地IP的方法
  ,,,,,,,,,,,,,,,_httpListener.Prefixes.Add (

 C #服务器获取客户端IP地址以及归属地探秘”> </p> <p>第二步:获取客户端请求的IP地址</p> <p>,,,,,,网上查询了很多例子,感觉太复杂了,自己通过VS的快速监视功能发现有一个属性,RemoteEndPoint可以获取客户端IP和端口号,其实应该根据Get和POST进行区分,为了方便暂时省略</p> <p> <img src=c#服务器获取客户端IP地址以及归属地探秘