您现在的位置是:主页 > news > 品牌型网站建设的好处/营销型网站建设的重要原则
品牌型网站建设的好处/营销型网站建设的重要原则
admin2025/4/19 16:36:37【news】
简介品牌型网站建设的好处,营销型网站建设的重要原则,湛江北京网站建设,腾讯云网站建设教学视频教程最近在做一个小程序,需要用到在linux系统里编写C程序从而获取MAC地址,从网上搜了一遍,想总结一下。如果你就只需要单个功能的程序,可以采用方法一,见代码1,一般最好能够封装起来,写成获取MAC地址…
最近在做一个小程序,需要用到在linux系统里编写C程序从而获取MAC地址,从网上搜了一遍,想总结一下。如果你就只需要单个功能的程序,可以采用方法一,见代码1,一般最好能够封装起来,写成获取MAC地址的函数再调用,可以采用方法二,见代码2。
代码1:
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
struct ifreq ifreq;
int sock;
if(argc!=)
{
printf("Usage : ethname\n");
return ;
}
if((sock=socket(AF_INET,SOCK_STREAM,))
{
perror("socket");
return ;
}
strcpy(ifreq.ifr_name,argv[]);
if(ioctl(sock,SIOCGIFHWADDR,&ifreq)
{
perror("ioctl");
return ;
}
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)ifreq.ifr_hwaddr.sa_data[],
(unsigned char)ifreq.ifr_hwaddr.sa_data[],
(unsigned char)ifreq.ifr_hwaddr.sa_data[],
(unsigned char)ifreq.ifr_hwaddr.sa_data[],
(unsigned char)ifreq.ifr_hwaddr.sa_data[],
(unsigned char)ifreq.ifr_hwaddr.sa_data[]);
return ;
}
将代码写入一个C文件,名称随便取,姑且存为MAC_addr.c。
在linux下运行:gcc -o MAC_addr MAC_addr.c
下一条指令要十分注意,这个函数是带参数才能执行的,可以用以下指令:
./MAC_addr etho 即可获得MAC地址。
想用封装的形式,写成一个求MAC地址的函数,然后再调用此函数,可以用方法二,见代码2。
代码2:
#include
#include
#include
#include
#include
#include
#include //for struct ifreq
int get_mac(char * mac, int len_limit) //返回值是实际写入char * mac的字符个数(不包括'\0')
{
struct ifreq ifreq;
int sock;
if ((sock = socket (AF_INET, SOCK_STREAM, )) < )
{
perror ("socket");
return -;
}
strcpy (ifreq.ifr_name, "eth0"); //Currently, only get eth0
if (ioctl (sock, SIOCGIFHWADDR, &ifreq) < )
{
perror ("ioctl");
return -;
}
return snprintf (mac, len_limit, "%X:%X:%X:%X:%X:%X", (unsigned char) ifreq.ifr_hwaddr.sa_data[], (unsigned char) ifreq.ifr_hwaddr.sa_data[], (unsigned char) ifreq.ifr_hwaddr.sa_data[], (unsigned char) ifreq.ifr_hwaddr.sa_data[], (unsigned char) ifreq.ifr_hwaddr.sa_data[], (unsigned char) ifreq.ifr_hwaddr.sa_data[]);
}
int main()
{
char szMac[];
int nRtn = get_mac(szMac, sizeof(szMac));
if(nRtn > )
{
fprintf(stderr, "MAC ADDR: %s\n", szMac);
}
return ;
}
将代码写入一个C文件,姑且存为MAC_addr.c。
在linux下运行:gcc -o MAC_addr MAC_addr.c
./MAC_addr 即可获得MAC地址。
亲测以上方法都是通过的,欢迎讨论是否还有更好的方法!
获得Unix/Linux系统中的IP、MAC地址等信息
获得Unix/Linux系统中的IP.MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言. Unix/Linux. 网络编程 ②手册 | 4,471 次阅读 ...
linux系统下获取IP,MAC,子网掩码,网关
获取IP和子网掩码 int getLocalInfo(char IP[],char Mask[]) { int fd; int interfaceNum = 0; struct ifreq buf[1 ...
Linux系统下如何设置IP地址?
Linux系统下如何设置IP地址?我们可以通过命令设定IP的方法,不过此方法的前提条件是用户需root权限.在linux系统的 /etc/sysconfig/network-script/ifcfg- ...
Linux 获取本机IP、MAC地址用法大全
getifaddrs()和struct ifaddrs的使用,获取本机IP ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs *ifa_next; /* ...
Linux系统下DHCP服务安装部署和使用详解
一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...
【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
Linux系统下命令行连接蓝牙设备 2018年11月26日 10:47:27 Zz笑对一切 阅读数:741 1.打开系统蓝牙 sudo service bluetooth start 1 进入bl ...
在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
linux系统下的权限知识梳理
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...
linux系统下修改文件夹目录权限
linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...
随机推荐
sessionStorage 和 localStorage 、cookie
sessionStorage 和 localStorage html5中web storage包括两种储存方式:sessionStorage 和 localStorage sessionStorage ...
Firefox使用svg blur滤镜渲染图片
很久没来更新博客了,今天正好比较闲,就写一篇手头项目上遇到的一个css问题: .mature .blur { -webkit-filter:blur(25px); -moz-filter:blur(2 ...
mysql性能优化-简易版
mysql性能优化 sql语句优化 如何发现有问题的sql? 开启mysql慢查询 show variables like 'slow_query_log' set global slow_query ...
CentOS 7下关于systemd的一些唠叨话一:systemd的特点和使用
摘要 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版 ...
MySql生日闰月处理
1. 科普下润年: ①.非整百年能被4整除的为闰年.(如2004年就是闰年,2100年不是闰年) ②.整百年能被400整除的是闰年.(如2000年是闰年,1900年不是闰年) 2. 例: 例如:当 ...
Java:IO流与IO设备
打印流:PrintWriter和PrintStream 特点:可以直接操作输入流和文件 //例子1:使用PrintStream将格式化的日期打印到文件中 import java.io.*; impor ...
git-daemon的快捷搭建
使用git-daemon进行git服务器搭建 1.安装git-daemon 前提是已经安装git sudo apt-get install git git-core 然后安装git-daemon su ...
ubuntu12.04下搭建ftpserver
楼主想把同学硬盘里面的200多G电影共享给实验室的小伙伴们看,就打算在内网server上搭建一个ftp的server. 1.安装ftp 首先在终端下键入例如以下内容,安装ftpserver: sudo ...
javascript 局部变量和全局变量
刚开始学js,遇到了一个奇怪的问题,查找之后知道了答案 需要记住两句话 1 Javascript的变量的scope是根据方法块来划分的(也就是说以function的一对大括号{ }来划分).切记,是f ...
js加强版图片轮播