如何获取客户端和服务器ip地址

如何获取客户端和服务器ip地址,第1张

您好,XXXXXXX系列IP,而这个函数获取的是局域网网关出口的IP地址,如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP。如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面。
下面提供一个函数:<php
// 定义一个函数getIP()
function getIP(){global $ip;
if (getenv(">

开发工程中,需要给第三方提供接口,由于是仅仅对单独一人提供接口支持,就暂时采取了IP白名单过滤的方式处理。下面是获取用户IP地址的方法private function getIP() {

static $realip;

if (isset($_SERVER)) {

if (isset($_SERVER[">

$realip = $_SERVER[">

} else if (isset($_SERVER[">

$realip = $_SERVER[">

} else {

$realip = $_SERVER["REMOTE_ADDR"];

}

} else {

if (getenv(">

$realip = getenv(">

} else if (getenv(">

$realip = getenv(">

} else {

$realip = getenv("REMOTE_ADDR");

}

}

return $realip;

}

    取客户端的IP地址的方法通常是requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。如果使用了反向代理软件(Apache,Squid等),用requestgetRemoteAddr()方法获取的IP地址实际上是代理服务器的地址。
    不过大部分>客户机获取DHCP服务器主要分为4个步骤:
1IP租用请求:
DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该广播包中的源IP地址为0000,目标IP地址为255255255255;包中还包含客户机的MAC地址和计算机名。
2IP租用提供:
任何接收到DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCPOFFER广播包,提供一个IP地址。该广播包的源IP地址为DCHP服务器IP,目标IP地址为255255255255;包中还包含提供的IP地址、子网掩码及租期等信息。
3IP租用选择:
客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。
所有其他的DHCP服务器撤消它们的提供以便将IP地址提供给下一次IP租用请求。
4IP租用确认:
被客户机选择的DHCP服务器在收DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。
客户机在收到DHCPACK包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。
DHCP客户机在发出IP租用请求的DHCPDISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Windows 2000的DHCP客户机将从16925400/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他 *** 作系统的DHCP客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。

首先IP为一个字符串,例如:
class test{
static void Split(string ip,out string str1)
{
int i=iplength;
while(i>0)
{
char ch=ip[i-1];
if(ch==':')
break;
i--;
}
str1=ipSubstring(0,i);
}
static void Main()
{
string str1;
Split("1921680255:8080",out str1)
ConsoleWriteLine("{0}",str1);
}
}
str1中保存的就是你的ip,1921680255


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12893516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存