当前位置:首页 » 云服务器 » 浪潮服务器mac地址获取

浪潮服务器mac地址获取

发布时间: 2022-05-17 00:19:20

❶ 如何获取本机MAC地址 和 IP

1. 利用UUID获取
在Windows操作系统下,以Client-Sever模式进行通信时,运行时间库为了区分每个接口,需要为个接口建立一个UUID(Universally Unique Identifiers),在Windows95/98版本下,UUID的创建是通过调用函数UuidCreate()完成的,其中的第2至8字节包含了用户的MAC地址。因此,一种比较快的获取MAC地址的方法是创建一个UUID,然后分析UUID结构的第2至8字节,既可获取本机的MAC地址。示例程序如下:
static void GetMACaddress(void)
{
unsigned char MACData[6];
UUID uuid;
UuidCreate( &uuid ); // 要求操作系统创建一个新的UUID
for (int i=2; i<8; i++) // 获取本机MAC地址
MACData[i - 2] = uuid.Data4[i];
PrintMACaddress(MACData);
}
void PrintMACaddress(unsigned char MACData[])
{
printf("MAC Address: X-X-X-X-X-X\n",
MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
}
这种方法只能用于Windows95/98操作系统。因为从安全的角度来看,在网络上散布本机的MAC地址存在着安全隐患,因此在Windows2000/xp操作系统中,微软对函数UuidCreate()进行了修正,使之在生成UUID时,不借助于本机的MAC地址。原来UuidCreate()完成的功能由函数UuidCreateSequential()完成。因此,如果在新的系统中采用这种方法,可用UuidCreateSequential()代替上述程序中的UuidCreate()函数。
另外,需要说明的是,这种方式只能用于单网卡主机。
2. 利用Net Bios协议获取
这种方法在Windows 95/98/Me/NT/2000/XP下都适用,不过它要求网卡必须安装正确,绑定了NetBios协议,并且机器正联接在一个运行正常的NetBios网络上。如果主机未接在网上,即使用网卡运行正常,运行下述代码,用户也不会得到任何信息。
static void GetMACaddress(void)
{
unsigned char MAC Data[8]; // 定义存放 MAC地址的缓冲区 (至少6字节)
WKSTA_TRANSPORT_INFO_0 *pwkti;
DWORD dwEntriesRead;
DWORD dwTotalEntries;
BYTE *pbBuffer;

// 通过 NetBIOS的枚举函数获取MAC地址
NET_API_STATUS dwStatus = NetWkstaTransportEnum(
NULL, // [input] 服务器名,0指本机
0, // [input] 0指函数返回指向WKSTA_TRANSPORT_INFO_0结构的指针
&pbBuffer, // [output] 指向缓冲区指针
MAX_PREFERRED_LENGTH, // [input] 缓冲区最大长度
&dwEntriesRead, // [output] 用于记录实际元素个数
&dwTotalEntries, //
NULL); //[input/output] 恢复句柄
assert(dwStatus == NERR_Success);
pwkti = (WKSTA_TRANSPORT_INFO_0 *)pbBuffer; // 指针类型转换
for(DWORD i=0; i< dwEntriesRead; i++)
{ // 读取并打印MAC地址
swscanf((wchar_t *)pwkti[i].wkti0_transport_address,
L"%2hx%2hx%2hx%2hx%2hx%2hx",
&MACData[0],
&MACData[1],
&MACData[2],
&MACData[3],
&MACData[4],
&MACData[5]);
PrintMACaddress(MACData);
}
// 释放缓冲区
dwStatus = NetApiBufferFree(pbBuffer);
assert(dwStatus == NERR_Success);
}
3. 利用GetAdaptersInfo()函数获取
此方法利用了Windows SDK 中的函数GetAdaptersInfo(),对于用户来讲,编程很简单,而且适用于Windows 95/98/Me/NT/XP等操作系统,并且不要求主机必须接在网络上,要求的只有一点,就是网卡在Windows下必须是可用的。同时,需要说明的是,GetAdaptersInfo()是一个功能非常强大的函数,它不但可以得到本机的MAC地址,而且可以得到许多其它相关信息。详细内容可参见MSDN中有关IP_ADAPTER_INFO结构的说明。
static void GetMACaddress(void)
{
IP_ADAPTER_INFO AdapterInfo[16]; // 定义网卡信息存贮区。
DWORD dwBufLen = sizeof(AdapterInfo);
DWORD dwStatus = GetAdaptersInfo(
AdapterInfo, // [output] 指向接收数据缓冲指针
&dwBufLen); // [input] 缓冲区大小
assert(dwStatus == ERROR_SUCCESS); // 此处是个trap,用来保证返回值有效
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
do {
PrintMACaddress(pAdapterInfo->Address); // 打印MAC地址
pAdapterInfo = pAdapterInfo->Next;
}
while(pAdapterInfo);
}
本程序中定义了一个长度为16的IP_ADAPTER_INFO结构类型的数组,因此用户主机安装的网卡数不能超过16块,这在一般情况下都是可以满足的,如果出现超过16块的情况,用户需修改此项设置,或采用动态申请存贮空间的方式解决。
4.结束语
以上三种方法均在Visual C++ 6.0、Windows2000 环境下编译通过并工作正常。需要说明的是,示例程序只是提供了一种解决问题的思路,从软件工程的角度来看,有些不尽人意的地方,读者可以根据自己的编程需要进行修改。
5,获取IP
void CheckIP(void)
{
WSADATA wsaData;
char name[155];
char *ip;
PHOSTENT hostinfo;
if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) {
if( gethostname ( name, sizeof(name)) == 0) {
if((hostinfo = gethostbyname(name)) != NULL) { //这些就是获得IP的函数
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
printf("%s\n",ip);
}
}
WSACleanup( );
} }

❷ 如何获取客户端IP和MAC地址,我获取的是服务器的,C

MAC地址是2层的东西,过了3层路由器后源MAC与目的MAC就会跟着所经过的路由器地址改变,如果在客户端没有任何响应进程将MAC地址信息放在应用层,理论上你不可能获得。能非常容易的获得ip地址、mac地址跟主机名应该是蛮危险的事情。你要真想问,你可以去黑客论坛找找吧。。。

❸ 如何获取mac地址

以台式电脑为例,在Windows10系统下:1、按住“win+r”组合键调出电脑的运行窗口;2、在窗口内输入“CMD”,按回车;3、在命令提示符窗口中输入ipconfig /all并按回车;4、找到物理网卡选项,物理网卡下面就是mac地址。

方法二:1、在电脑桌面的右下角右键点击网络连接图标,之后打开网络和共享中心;2、在弹出页面点击“更改适配器设置”;3、找到我们需要查看的网卡,并双击打开,点击“详细信息”选项;4、在详细信息界面的物理地址即mac地址。

mac地址一般称为以太网地址或者物理地址,可以用来确定上网设备的位置,长度为48比特,由16进制的数字组成,前24位为组织唯一标志符,后24位一般由厂家自行分配。

资料拓展:在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。

❹ 浪潮财务软件登录时,出现这个“提示程序错误:客户端全局配置文件错误,无法读取站点信息”请教高人指点

第一种情况是的客户端配置文件出了问题,一有可能是被修改了,二有可能是损坏了(病毒啊、木马啊),或者说要更新了。
第二种可能是目标服务器的IP或者是MAC地址更改了,原有客户端配置文件寻找不到目标服务器。
还有一种可能是目标服务器接入权限修改了,现有客户端接入服务器时候受阻无法获取站点信息。
最后一种可能是你的网络不好没连上,或者服务器压根没开。
个人观点,仅供参考。

❺ 怎样获取DHCP服务器的MAC地址(局域网)

ping命令只能说明与dhcp之间的网络是通还是不通
至于arp -a命令,这个一般来说只能查到你的网关,以及同网络下的主机的mac地址
可以这样说,你PING DHCP后,你的默认网关会帮你寻找对应的DHCP服务器在哪里,对你来说,你只需要把数据交给网关就可以了,DHCP服务器的MAC地址你不知道也可以通信

❻ 服务器端如何获取客户端的mac地址

放在服务器上当然获取不到,必须要在本地。
所以很多网站说为了安全,一般都说要安装什么插件之类,这些插件中,有的就包含了mac的插件。

❼ 如何获取计算机的MAC地址和IP地址

如何获取MAC地址? 那么我们如何获取计算机的MAC地址呐?大概可以分为以下几种情况: 获取本机的MAC地址 在Windows 9X系列的计算机系统:依次单击“开始”→“运行”→输入“winipcfg”→回车,其中适配器地址就是计算机的MAC地址。 在Windows 2000/XP的计算机系统中,依次单击“开始”→“运行”→输入“cmd”→回车,在出现的命令提示符界面中输入“ipconfig /all”→回车,可以得到计算机的MAC地址,其中Physical Address就是计算机的MAC地址。 另外,在所有系统中,获取MAC地址还有另外一种较特别的方法,这种方法无须在命令行提示符下键入命令,无须牢记复杂的命令。只要鼠标轻点几下即可。方法是:鼠标依次点击“开始→所有程序→附件→系统工具→系统信息”在“系统摘要”下,展开“组件→网络→适配器”,右边的摘要中就会列出本机的MAC 地址。 如果您在线,还可以用以下方法查MAC地址:首先启动IE连接到网络,鼠标右击任务栏中托盘区中的网络连接图标(两台小电脑),点选“状态”→“支持”选项卡下的“详细信息”,其中的实际地址即为您网卡的MAC地址 如何获取IP? ip可以在本地 单击开始-运行-然后输入 cmd --再在虚拟DOS窗口中输入--ipconfig 再一个就是 外网IP跟内网IP 获取外网IP可以上 http://ip138.com/ 查看 内网IP 就是以上本地获取方法

❽ 被某网站屏蔽mac了,请教服务器都有哪些方法可以获取mac地址

不是吧!MAC地址只是数据链路层的,也就是在局域网里面才有用,跨网段以后MAC就变了!你访问互联网的时候,靠得是三层地址,即IP地址。网站怎么可能查到你的MAC地址呢?

热点内容
mr底层算法 发布:2025-07-04 23:14:59 浏览:780
怎么注册作业盒子密码 发布:2025-07-04 23:14:51 浏览:923
速达服务器ip 发布:2025-07-04 23:07:38 浏览:262
哪里能下载安卓版刺激战场 发布:2025-07-04 23:02:27 浏览:519
android微信推送消息推送消息 发布:2025-07-04 22:56:52 浏览:386
android分享文件 发布:2025-07-04 22:56:40 浏览:404
c语言方程的根 发布:2025-07-04 22:55:33 浏览:449
什么电脑单机游戏好玩又免费配置低 发布:2025-07-04 22:51:27 浏览:421
真香配置有哪些 发布:2025-07-04 22:49:05 浏览:207
安卓在哪里找游戏 发布:2025-07-04 22:15:25 浏览:244