C语言---检查IPV4、MAC地址是否合法
采用IP地址转换函数,来判断ipv4地址是否合法:
#include <arpa/inet.h>bool is_valid_ipv4_addr(const char *pIpv4)
{struct in_addr addr;if ( 1 == inet_pton(AF_INET, pIpv4, &addr) ){printf("\n\t [%s] is a valid IPv4 address\n", pIpv4);return true;}else{printf("\n\t [%s] is not a valid IPv4 address\n", pIpv4);}return false;
}
采用正则表达式的方法,来判断MAC地址是否合法:
#include <sys/types.h>
#include <regex.h>bool is_valid_mac_addr(const char *pMac)
{int status = 0;regex_t reg;int nmatch = 1;regmatch_t pmatch[1];char errbuf[128] = {0};const int cflags = REG_EXTENDED | REG_NEWLINE;const char * pattern = "^([A-Fa-f0-9]{1,2}[:]){5}[A-Fa-f0-9]{1,2}$";status = regcomp(®, pattern, cflags);if(status != 0){regerror(status, ®, errbuf, sizeof(errbuf));fprintf(stderr, "\n\t regcomp fail: %s , pattern '%s' \n", errbuf, pattern);goto failed;}status = regexec(®, pMac, nmatch, pmatch, 0);if(status != 0){regerror(status, ®, errbuf, sizeof(errbuf));fprintf(stderr, "\n\t regexec fail: %s , mac:\"%s\" \n", errbuf, pMac);goto failed;}printf("\n\t [%s] is a valid MAC address.\n", pMac);regfree(®);return true;failed:printf("\t [%s] is not a valid MAC address.\n", pMac);regfree(®);return false;
}
C语言---检查IPV4、MAC地址是否合法相关推荐
- c语言编程修改mac地址,C语言获取本机Mac地址的代码
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. //linux int GetLocalMacAddr(char *szMac,int * ...
- 大一C语言大作业ip合法性,c语言实现判断ip地址是否合法
满意答案 yinfeng86 2017.07.07 采纳率:53% 等级:10 已帮助:469人 #include int checkIP(const char* p) { int n[4]; ...
- c语言自动生成多个mac地址,肿么通过C语言自动生成MAC地址
代码如下,仅供参考: // MAC.c #include #include #include #include #define RANDOM(x) (rand()%x) #define MAC_ADD ...
- linux 使用 C 语言获得系统 MAC 地址
2019独角兽企业重金招聘Python工程师标准>>> //google 到的 测试有效 #include <stdio.h> #include <sys/ioct ...
- TCP/IP协议专栏——MAC地址详解——网络入门和工程维护必看
以太帧格式 前导同步符:共8字节,由7个字节的前同步信号和一个分界符开始字节构成. DA/SA:共6个字节,前3个字节代表供应商代码,后3个字节代表厂商序列号. TPID:标记协议标识符,2个字节,值 ...
- python修改mac地址_python利用_winreg模块制作MAC地址修改工具
通过百度搜索知道,xp下修改MAC地址的方法主要有两个,一种是通过配置本地链接属性来实现,这种方法不适合用程序来完成,另一种是通过修改注册表来完成,本程序主要是利用了这种方法. 具体方法:Window ...
- 修改路由器mac地址_你知道吗:路由器转发报文时,会剥掉MAC地址,重新封装
概述 我们都知道路由器作为Internet的骨架,连接了整个互联网,可以说是整个网络的基石.但为什么路由器这么牛呢?是因为路由器能够在不同的网段之间进行通信,可以根据一定的规则把报文一跳一跳的转到目的 ...
- MAC地址漂移和应对(二)
MAC地址漂移应对方法 二层环路以及网络攻击行为均有可能引发MAC地址漂移. 对应二层环路这个诱因,我们可以部署生成树协议(STP.RSTP.MSTP)或者环网保护协议(RRPP.ERPS)进行规避, ...
- C语言检查IP、MAC、子网掩码合法函数 实用 码住喽!
一.简单说说 最近在项目开发中用到的几个很实用的小函数推荐给大家,提高开发时间效率!话不多说,直接上代码哈 ~ IP合法检验函数 凡是有一点点错误的IP地址统统卡死,哎,都是面向测试部编程的经验 !! ...
最新文章
- Silverlight测试——利用Ranorex实现数据驱动测试
- 【2017下集美大学软工1412班_助教博客】结对编程1——模块化
- python flask 表单数据输出_将数据从HTML表单发送到Flask中的Python脚本
- 149. Leetcode 1005. K 次取反后最大化的数组和 (贪心算法-基础题目)
- 利用BIND 9基于电信网通智能DNS 搭建
- jQuery plugin 开发的一个例子
- pll制作分频器_PLL学习过程记录
- 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法
- 国产特斯拉近两月出口5.5万辆 今年已出口近10万辆
- 计算机负数次幂科学表示,负数的科学计数法怎么表示
- 【Oracle】to_char技巧
- 平均分配,移动欠费催收款数据的分配应用实例
- 【IoT】NFC APDU 使用基础浅析
- 前端开发试用期工作总结
- 计算机应届博士生的一点求职经验——概述篇
- Tenth season fifth episode,Rachel‘s sister came again???????
- centeros7命令汇总
- 快速弄懂iPhone X 设计尺寸和适配
- Required Remainder
- vector和list的使用
热门文章
- 关于python csv文件操作,用wps打开乱码的问题
- 面试官:谈谈你对 Tomcat 调优的看法
- t580 thinkpad_4K分辨率!联想ThinkPad T580发布:27小时续航
- 众推平台架构mdash;mdash;分布式爬虫
- 2022年执法资格通用法律知识考试单选题专项训练题及答案
- Animating in 2D: Hair and Clothing 2D动画:头发和服装 Lynda课程中文字幕
- ipad分屏大小怎么调整_怎么用PS给图片添加文字,手把手教你调整字体大小
- CCNA考完,总结下经验
- springboot使用aspose预览office文件
- 基于NLP的智能问答系统核心技术