采用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(&reg, pattern, cflags);if(status != 0){regerror(status, &reg, errbuf, sizeof(errbuf));fprintf(stderr, "\n\t regcomp fail: %s , pattern '%s' \n", errbuf, pattern);goto failed;}status = regexec(&reg, pMac, nmatch, pmatch, 0);if(status != 0){regerror(status, &reg, 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(&reg);return true;failed:printf("\t [%s] is not a valid MAC address.\n", pMac);regfree(&reg);return false;
}

C语言---检查IPV4、MAC地址是否合法相关推荐

  1. c语言编程修改mac地址,C语言获取本机Mac地址的代码

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. //linux int GetLocalMacAddr(char *szMac,int * ...

  2. 大一C语言大作业ip合法性,c语言实现判断ip地址是否合法

    满意答案 yinfeng86 2017.07.07 采纳率:53%    等级:10 已帮助:469人 #include int checkIP(const char* p) { int n[4]; ...

  3. c语言自动生成多个mac地址,肿么通过C语言自动生成MAC地址

    代码如下,仅供参考: // MAC.c #include #include #include #include #define RANDOM(x) (rand()%x) #define MAC_ADD ...

  4. linux 使用 C 语言获得系统 MAC 地址

    2019独角兽企业重金招聘Python工程师标准>>> //google 到的 测试有效 #include <stdio.h> #include <sys/ioct ...

  5. TCP/IP协议专栏——MAC地址详解——网络入门和工程维护必看

    以太帧格式 前导同步符:共8字节,由7个字节的前同步信号和一个分界符开始字节构成. DA/SA:共6个字节,前3个字节代表供应商代码,后3个字节代表厂商序列号. TPID:标记协议标识符,2个字节,值 ...

  6. python修改mac地址_python利用_winreg模块制作MAC地址修改工具

    通过百度搜索知道,xp下修改MAC地址的方法主要有两个,一种是通过配置本地链接属性来实现,这种方法不适合用程序来完成,另一种是通过修改注册表来完成,本程序主要是利用了这种方法. 具体方法:Window ...

  7. 修改路由器mac地址_你知道吗:路由器转发报文时,会剥掉MAC地址,重新封装

    概述 我们都知道路由器作为Internet的骨架,连接了整个互联网,可以说是整个网络的基石.但为什么路由器这么牛呢?是因为路由器能够在不同的网段之间进行通信,可以根据一定的规则把报文一跳一跳的转到目的 ...

  8. MAC地址漂移和应对(二)

    MAC地址漂移应对方法 二层环路以及网络攻击行为均有可能引发MAC地址漂移. 对应二层环路这个诱因,我们可以部署生成树协议(STP.RSTP.MSTP)或者环网保护协议(RRPP.ERPS)进行规避, ...

  9. C语言检查IP、MAC、子网掩码合法函数 实用 码住喽!

    一.简单说说 最近在项目开发中用到的几个很实用的小函数推荐给大家,提高开发时间效率!话不多说,直接上代码哈 ~ IP合法检验函数 凡是有一点点错误的IP地址统统卡死,哎,都是面向测试部编程的经验 !! ...

最新文章

  1. Silverlight测试——利用Ranorex实现数据驱动测试
  2. 【2017下集美大学软工1412班_助教博客】结对编程1——模块化
  3. python flask 表单数据输出_将数据从HTML表单发送到Flask中的Python脚本
  4. 149. Leetcode 1005. K 次取反后最大化的数组和 (贪心算法-基础题目)
  5. 利用BIND 9基于电信网通智能DNS 搭建
  6. jQuery plugin 开发的一个例子
  7. pll制作分频器_PLL学习过程记录
  8. 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法
  9. 国产特斯拉近两月出口5.5万辆 今年已出口近10万辆
  10. 计算机负数次幂科学表示,负数的科学计数法怎么表示
  11. 【Oracle】to_char技巧
  12. 平均分配,移动欠费催收款数据的分配应用实例
  13. 【IoT】NFC APDU 使用基础浅析
  14. 前端开发试用期工作总结
  15. 计算机应届博士生的一点求职经验——概述篇
  16. Tenth season fifth episode,Rachel‘s sister came again???????
  17. centeros7命令汇总
  18. 快速弄懂iPhone X 设计尺寸和适配
  19. Required Remainder
  20. vector和list的使用

热门文章

  1. 关于python csv文件操作,用wps打开乱码的问题
  2. 面试官:谈谈你对 Tomcat 调优的看法
  3. t580 thinkpad_4K分辨率!联想ThinkPad T580发布:27小时续航
  4. 众推平台架构mdash;mdash;分布式爬虫
  5. 2022年执法资格通用法律知识考试单选题专项训练题及答案
  6. Animating in 2D: Hair and Clothing 2D动画:头发和服装 Lynda课程中文字幕
  7. ipad分屏大小怎么调整_怎么用PS给图片添加文字,手把手教你调整字体大小
  8. CCNA考完,总结下经验
  9. springboot使用aspose预览office文件
  10. 基于NLP的智能问答系统核心技术