服务器如何获取
① 如何获取用户服务器的IP地址
开发工程中,需要给第三方提供接口,由于是仅仅对单独一人提供接口支持,就暂时采取了IP白名单过滤的方式处理。下面是获取用户IP地址的方法privatefunctiongetIP(){
static$realip;
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
$realip=$_SERVER["HTTP_CLIENT_IP"];
}else{
$realip=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$realip=getenv("HTTP_CLIENT_IP");
}else{
$realip=getenv("REMOTE_ADDR");
}
}
return$realip;
}
② 如何获取服务器时间
// 思路是发送一个http请求,然后从response字符串里截取出Date部分,这样得到的时间是GMT格式的,不过转本地时间也很容易了
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA wsaData;
addrinfo hints, *rs;
sockaddr_in serveraddr;
SOCKET s;
char host[256], hostIP[256], request[1024], *p;
int rc, nBytes;
WSAStartup(MAKEWORD(2, 2), &wsaData);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
printf("plz input host name(eg.www.example.com):");
gets(host);
ZeroMemory(&hints, sizeof(addrinfo));
hints.ai_flags = AI_PASSIVE;
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
rc = getaddrinfo(host, "80", &hints, &rs);
if(rc != 0) {
printf("getaddrinfo failed with error code:%d\n", WSAGetLastError());
goto clean;
}
getnameinfo(rs->ai_addr, rs->ai_addrlen, hostIP, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
printf("server ip is: %s\n", hostIP);
freeaddrinfo(rs);
serveraddr.sin_family = AF_INET;
serveraddr.sin_addr.s_addr = inet_addr(hostIP);
serveraddr.sin_port = htons(80);
rc = connect(s, (SOCKADDR*) &serveraddr, sizeof(serveraddr));
if(rc != 0) {
printf("connect to server failed.");
goto clean;
}
strcpy(request, "GET / HTTP/1.1\r\n");
strcat(request, "Host: ");
strcat(request, host);
strcat(request, "\r\nConnection: close\r\n\r\n");
send(s, request, strlen(request), 0);
while(1)
{
nBytes = recv(s, request, 1024, 0);
if(nBytes == SOCKET_ERROR)
{
printf("recv failed with error %d\n",WSAGetLastError());
goto clean;
} else {
p = strstr(request, "Date:");
p += 5;
while(*p == ' ') ++p;
printf("server time: ");
while(*p != '\r')
putchar(*p++);
putchar('\n');
break;
}
}
clean:
closesocket(s);
WSACleanup();
return 0;
}
③ 怎么获取服务器上的ip地址和端口号
在服务器中要查看端口,可以使用Netstat命令:
1、依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。
2、在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。
Netstat命令用法如下:
命令格式:Netstat -a -e -n -o -s-an
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。
-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。
-s 表示按协议显示各种连接的统计信息,包括端口号。
-an 查看所有开放的端口
④ 如何获取服务器ESN
获取ESN工具:
ESN工具可以通过以下两种方式获取:
方式一:在安装网管之前申请U2000 License,可以通过下载http://support.huawei.com网站的ESN工具生成ESN。
登录http://support.huawei.com网站,在U2000产品软件目录下获取。
文件名如下:
Windows 系统:U2000version_ESN_win32_x86.zip
Solaris 系统:U2000version_ESN_solaris_SPARC.tar
Linux 系统:U2000version_ESN_sles_x64.tar
比如,U2000V100R002C01版本Windows服务器的ESN工具文件名为:U2000V100R002C01_ESN_win32_x86.zip
方式二:在安装网管之后申请U2000 License,可用网管系统自带ESN工具查看ESN。
1. V100R001安装目录:
Windows版本在 %IMAP_ROOT%\bin\Esn.exe
Solaris版本在 $IMAP_ROOT/bin/Esn
Linux版本在 $IMAP_ROOT/bin/Esn
2. V100R002,V100R003,V100R005,V100R006C00,V100R006C02、U2000 ODN网管V100R001C01、V100R001C00和V100R002C00安装目录:
Windows版本在 %IMAP_ROOT%\lbin\esn.exe
Solaris版本在 $IMAP_ROOT/lbin/esn
Linux版本在 $IMAP_ROOT/lbin/esn
3. V100R006C01,V100R007,V100R008,U2000 ODN网管V100R002C01安装目录:
Windows版本在 %IMAP_ROOT%\platform\lbin\esn.exe
Solaris版本在 $IMAP_ROOT/platform/lbin/esn
Linux版本在 $IMAP_ROOT/platform/lbin/esn
4. V100R009,U2000 ODN网管V100R003C00安装目录:
Windows版本在 %IMAP_ROOT%\platform\bin\esn.exe
Solaris版本在 $IMAP_ROOT/platform/bin/esn
Linux版本在 $IMAP_ROOT/platform/bin/esn
说明:$IMAP_ROOT环境变量为U2000服务端的安装目录。比如U2000安装在/opt/U2000目录下,输入cd $IMAP_ROOT/bin/则直接进入/opt/U2000/server/bin目录。
获取Windows系统ESN:
步骤1:cmd对话框中输入ESN工具所在的路径
如:ESN工具在D盘\U2000_installdisk\GA\engineering\tool\windows目录下,则输入“d:”然后回车,再输入路径(cd \U2000_installdisk\GA\engineering\tool\windows)
步骤2:输入ESN工具文件名,获取ESN后直接回车。
如:输入esn.exe,将生产ESN,然后直接回车,ESN将保持在该工具目录下ESN开头的文件中,可以直接打开文件查看。
获取Solaris/Linux系统ESN:
步骤1:通过二进制方式将工具文件上传到Solaris/Linux服务器上。
步骤2:进入esn所在目录,输入“chmod 777 esn”修改文件可执行权限开放文件权限
步骤3:输入“./esn”,获取ESN后直接回车
ESN将保存在该工具目录下ESN开头的文件中,可以直接打开文件查看。服务器上存在多个ESN号时,建议选择所有ESN号进行License申请;
重要说明:
Solaris下由于网卡设备名并不固定,可能导致ESN无法识别网卡设备,目前支持的网卡类型有:hme0、hme1、hme2、eri0、eri1、eri2、ce0、ce1、ce2、bge0、bge1和bge2,对于无法识别的网卡设备名称,将通过配置环境变量(LAN_IFNAME_0、LAN_IFNAME_1、LAN_IFNAME_2)来识别网卡设备。如果工具无法自动获取,请按如下步骤进行配置操作:
下面以Netra1405工作站为例来说明如何设置环境变量。Netra1405工作站使用的网卡设备有两个:1、hme0;2、qfe0。其中ESN工具无法识别qfe0这种网卡设备,必须通过设置环境变量来获取相应ESN,可以通过以下两种方法设置环境变量:
1. 使用ifconfig –a命令来查看网卡设备,如图:
2. 在C shell模式下,设置环境变量如下图:
3. 在sh模式下,设置环境变量如下图:
4. 环境变量设置完后,输入“./esn”,获取ESN后直接回车即可。
⑤ 如何获取服务器的ip地址
在运行中输入cmd然后再cmd中输入ipconfig/ALL
⑥ 如何获取服务器ip地址
如何获取服务器IP地址
获取服务器ip地址方法有很多这里介绍一个比较方便的
需要知道自己的域名
1、开始->运行->cmd
⑦ dns服务器怎么获得
DNS服务器地址一般由你的网络宽带服务商提供,一般是当地主要机房的服务器解析地址,您电话咨询就可以的,
本机的IP地址楼上的说的很清楚啦/
1.【开始】->【运行】->输入 cmd ->接着输入 ipconfig
把IP Adress后面的地址记下来,然后输入
nslookup+空格+上面记的IP地址
出现的
Server:……
Adress:……
Server是服务器域名
Adress是DNS服务器IP地址
2.开始--运行---CMD--ipconfig /all
DNS server就是你要的
⑧ 服务器端如何获取客户端的mac地址
放在服务器上当然获取不到,必须要在本地。
所以很多网站说为了安全,一般都说要安装什么插件之类,这些插件中,有的就包含了mac的插件。
⑨ 服务器怎么去获取存储设备中的资源给客户端
存储有几种连接方式,如FC\ISCSI\NFS等,上面这个架构图中可以看出,储存前端是有服务器存在的,所以一般死FC或是ISCSI,两者的区别一种是用光纤一种是用以太网,达到的效果是一样的,存储把他上面的空间通过LUN的方式挂接给前端的服务器,服务器把该磁盘格式化成自己的存储格式如NTFS等,格式化完以后该存储空间对服务器来说就相当于本地磁盘了,客户端访问的时候就相当于访问服务器的本地存储空间,只是真正的存储位置在后台存储上。