社区
C语言
帖子详情
###### 100分求--freebsd下用标准c语言取网卡MAC地址
zydgj
2005-03-24 01:09:06
解决即刻给分
...全文
184
3
打赏
收藏
###### 100分求--freebsd下用标准c语言取网卡MAC地址
解决即刻给分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
galanz
2005-03-24
打赏
举报
回复
好东西,mark 一下
这里是调用了api函数
子函数都给出来,下面调用就可以饿
zydgj
2005-03-24
打赏
举报
回复
程序不完整啊!!!
xuzheng318
2005-03-24
打赏
举报
回复
#include “stdafx.h"
#include
#include
#include
#include
#include
// 因 为 是 通 过NetAPI 来 获 取 网 卡 信 息,
所 以 需 要 包 含 其 题 头 文 件nb30.h
#include
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
// 定 义 一 个 存 放 返 回 网 卡 信 息 的 变 量
// 输 入 参 数:lana_num 为 网 卡 编 号,
一 般 地, 从0 开 始, 但 在Windows 2000 中
并 不 一 定 是 连 续 分 配 的
void getmac_one (int lana_num)
{
NCB ncb;
UCHAR uRetCode;
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_num;
// 指 定 网 卡 号
// 首 先 对 选 定 的 网 卡 发 送 一 个
NCBRESET 命 令, 以 便 进 行 初 始 化
uRetCode = Netbios( &ncb );
printf( “The NCBRESET
return code is: 0x %x \n", uRetCode );
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_num; // 指 定 网 卡 号
strcpy((char *)ncb.ncb_callname,“ * " );
ncb.ncb_buffer = (unsigned char *) &Adapter;
// 指 定 返 回 的 信 息 存 放 的 变 量
ncb.ncb_length = sizeof(Adapter);
// 接 着, 可 以 发 送NCBASTAT 命 令
以 获 取 网 卡 的 信 息
uRetCode = Netbios( &ncb );
printf( “The NCBASTAT return code is:
0x %x \n", uRetCode );
if ( uRetCode == 0 )
{
// 把 网 卡MAC 地 址 格 式 化 成
常 用 的16 进 制 形 式, 如0010 -A4E4 -5802
printf( “The Ethernet Number[ %d] is:
%02X %02X - %02X %02X - %02X %02X\n",
lana_num,
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2],
Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4],
Adapter.adapt.adapter_address[5] );
}
}
int main(int argc, char * argv[])
{
NCB ncb;
UCHAR uRetCode;
LANA_ENUM lana_enum;
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char *) &lana_enum;
ncb.ncb_length = sizeof(lana_enum);
// 向 网 卡 发 送NCBENUM 命 令,
以 获 取 当 前 机 器 的 网 卡 信 息,
如 有 多 少 个 网 卡、 每 张 网 卡 的 编 号 等
uRetCode = Netbios( &ncb );
printf( “The NCBENUM return code is:
0x %x \n", uRetCode );
if ( uRetCode == 0 )
{
printf( “Ethernet Count is : %d\n\n", lana_enum.length);
// 对 每 一 张 网 卡, 以 其 网 卡 编 号 为
输 入 编 号, 获 取 其MAC 地 址
C语言
获
取
硬件信息(CPU序列号,硬盘序列号,
网卡
IP、
MAC地址
、是否插入网线)
本文详细介绍了如何使用
C语言
在Linux和Windows系统下获
取
CPU序列号、硬盘序列号以及
网卡
信息,包括
网卡
名称、IP地址、
MAC地址
和连接状态。通过内联汇编、系统调用以及命令行接口实现跨平台的硬件信息获
取
。提供的代码示例展示了具体的实现方法。
linux下获
取
所有
网卡
mac地址
(
C语言
)
本文介绍了一个使用
C语言
编写的程序,该程序能在Linux环境下获
取
系统中所有
网卡
(包括lo和ethX系列)的
MAC地址
。通过ioctl函数与SIOCGIFCONF及SIOCGIFHWADDR命令的结合使用,程序能够遍历并打印出每个
网卡
的名称及其对应的硬件地址。
如何用
C语言
获
取
网卡
的
mac地址
?(当然,你也可以用类似方法获
取
所有ip)
本文介绍了一个使用
C语言
获
取
计算机上所有
网卡
MAC地址
的方法。通过调用Windows API函数GetAdaptersInfo,可以遍历并打印出系统中每个
网卡
的
MAC地址
。
linux 下C实现获
取
网卡
IP和
MAC地址
本文介绍了一种使用getifaddrs函数获
取
网卡
IP和
MAC地址
的方法,并提供了具体的
C语言
实现代码。该方法通过链表形式组织并返回
网卡
名称、IP地址及
MAC地址
。
linux
c语言
修改
mac地址
,
C语言
根据
MAC地址
查找
网卡
并修改IP地址
本文提供了一个使用
C语言
根据
MAC地址
查找
网卡
并修改其IP地址的示例代码。该示例展示了如何通过调用Windows API来实现这一功能。
C语言
70,038
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章