C/C++利用netsh设置动态IP和静态IP

article/2025/6/28 15:29:40

在使用电脑时我们可以根据在更改以太网Internet协议版本4(TCP/IP)的属性来设置动态IP和静态IP

在这里插入图片描述
在这里插入图片描述

但是这样做很麻烦,我们可以通过程序来更改静态IP和动态IP,只需要一条简单的代码就可以实现。

静态IP:

system("cmd /c netsh interface ip set address \"以太网\" static 192.168.1.10 255.255.255.0 192.168.1.1");

动态IP:

system("cmd /c netsh interface ip set address name = \"以太网\" source = dhcp");
system("netsh interface ip set dns name = \"以太网\" source = dhcp");

显示所有网络适配器(网卡、拨号连接等)的完整TCP/IP配置信息:

system("ipconfig /all");

注意:“以太网”是根据网络连接文件夹中的名称来命名的,有的是本地连接!!!

在这里插入图片描述

根据这两条指令可以制作一个简单的设置IP状态的小程序

测试结果:
在这里插入图片描述

1.设置静态IP

运行程序,输入1,再次输入IP地址,子网掩码,默认网关,提示静态IP设置成功。
找到以太网Internet协议版本4(TCP/IP)的属性看到设置成功。
在这里插入图片描述

2.输入2设置动态IP

运行程序,输入2,提示动态IP设置成功。
找到以太网Internet协议版本4(TCP/IP)的属性看到设置成功。在这里插入图片描述

C代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>int main()
{system("ipconfig /all");printf("\n");printf("------------------------------------------------------------------------\n");printf("设置静态IP输入:1\n");printf("设置动态IP输入:2\n");printf("------------------------------------------------------------------------\n");printf("请输入:");int model = 0;scanf_s("%d", &model);while (model != 1 && model != 2){printf("输入无效,请重新输入\n");printf("------------------------------------------------------------------------\n");printf("请输入:");scanf_s("%d", &model);if (model == 1 || model == 2)break;}if (model == 1)				//设置静态IP{char *ret = (char*)malloc(128);memset(ret, 0, sizeof(ret));char static_ip_1[] = "cmd /c netsh interface ip set address \"以太网\" static";char space[] = " ";printf("输入IP地址(192.168.1.110):");char static_ip_2[20];scanf_s("%s", static_ip_2, 20);		printf("输入子网掩码(255.255.255.0):");char static_mask[20];scanf_s("%s", static_mask, 20);		printf("输入默认网关(192.168.1.1):");char static_gateway[20] = "";scanf_s("%s", static_gateway, 20);int len1 = strlen(static_ip_1) + 1;strcat_s(ret, len1, static_ip_1);//"cmd /c netsh interface ip set address \"以太网\" static"int len2 = strlen(ret) + strlen(space) + 1;strcat_s(ret, len2, space);//"cmd /c netsh interface ip set address \"以太网\" static "int len3 = strlen(ret) + strlen(static_ip_2) + 1;strcat_s(ret, len3, static_ip_2);//"cmd /c netsh interface ip set address \"以太网\" static 192.168.1.110"int len4 = strlen(ret) + strlen(space) + 1;strcat_s(ret, len4, space);//"cmd /c netsh interface ip set address \"以太网\" static 192.168.1.110 "int len5 = strlen(ret) + strlen(static_mask) + 1;strcat_s(ret, len5, static_mask);//"cmd /c netsh interface ip set address \"以太网\" static 192.168.1.110 255.255.255.0"int len6 = strlen(ret) + strlen(space) + 1;strcat_s(ret, len6, space);//"cmd /c netsh interface ip set address \"以太网\" static 192.168.1.110 255.255.255.0 192.168.1.1"int len7 = strlen(ret) + strlen(static_gateway) + 1;strcat_s(ret, len7, static_gateway);system(ret);free(ret);printf("静态IP设置成功\n");printf("------------------------------------------------------------------------\n");}else if (model == 2)		//设置动态IP{system("cmd /c netsh interface ip set address name = \"以太网\" source = dhcp");printf("动态IP设置成功\n");printf("------------------------------------------------------------------------\n");}else{printf("输入错误\n");}
}

C++代码:

#include <iostream>//分割线
void PrintLine()
{std::cout << "------------------------------------------------------------------------\n";
}int main()
{system("ipconfig /all");std::cout << std::endl;PrintLine();std::cout << "设置静态IP输入:1\n";std::cout << "设置动态IP输入:2\n";PrintLine();int model = 0;while (1){std::cout << "请输入:";std::cin >> model;if (model == 1 || model == 2)break;std::cout << "输入无效,请重新输入\n";PrintLine();}if (model == 1)				//设置静态IP{std::string static_prefix = "cmd /c netsh interface ip set address \"以太网\" static";std::string static_ip, static_mask, static_gateway;std::cout << "输入IP地址(192.168.1.110):";std::cin >> static_ip;std::cout << "输入子网掩码(255.255.255.0):";std::cin >> static_mask;std::cout << "输入默认网关(192.168.1.1):";std::cin >> static_gateway;std::string static_ret = static_prefix + " " + static_ip + " " + static_mask + " " + static_gateway;const char* ret = static_ret.c_str();system(ret);std::cout << "静态IP设置成功\n";PrintLine();}else if (model == 2)		//设置动态IP{system("cmd /c netsh interface ip set address name = \"以太网\" source = dhcp");std::cout << "动态IP设置成功\n";PrintLine();}else{std::cout << "输入错误\n";}return 0;
}

http://chatgpt.dhexx.cn/article/KwqwuG2b.shtml

相关文章

VM虚拟机配置动态ip和静态ip访问

VM虚拟机配置动态ip和静态ip访问 &#x1f34d;动态ip配置&#x1f96d;静态ip配置&#x1f34e;设置域名解析 动态ip静态ip配置网络适配器都设置成NAT模式 &#x1f34d;动态ip配置 这个比较简单。 设置/etc/sysconfig/network-scripts/目录下的文件 ifcfg-ens33 配置文件如下…

动态IP与静态ip的区别是什么

1、DHCP IP即动态ip&#xff0c;可以自动获取IP地址。静态ip上网又被称为固定IP地址上网&#xff0c;需要手动设置IP地址。 2、在网速上&#xff0c;动态ip和静态ip没有区别。 3、动态ip不是一个真实的IP地址&#xff0c;静态IP是可以直接上网的IP地址。 静态ip和动态ip设置方法…

你知道动态IP和静态IP的真正区别吗?点击查看详细解析!

一、动态IP和静态IP的基本概念 二、动态IP和静态IP的区别 三、动态IP和静态IP各自的优势 四、动态IP和静态IP的应用场景 五、总结 Aorta Cloud 厦门主动脉云科技 一、动态IP和静态IP的基本概念 在计算机网络中&#xff0c;IP地址是一台计算机在网络中的唯一标识符&#xf…

动态ip与静态ip的概念、区别、应用场景

动态ip与静态ip的区别 前言一、介绍IP地址的概念和作用1.1、IP地址的定义1.2、IP地址的作用 二、动态IP和静态IP的区别2.1、动态IP和静态IP的定义2.2、动态IP和静态IP的特点2.3、动态IP和静态IP的优缺点比较 三、动态IP和静态IP的应用场景3.1. 动态IP的应用场景3.2. 静态IP的应…

软件加密狗破解思路和方法

本文介绍的是软件加密狗破解的一般思路和方法&#xff0c;大家可能奇怪&#xff0c;昨天刚刚介绍完“软件加密锁产品评测”&#xff0c;怎么今天就介绍加密狗破解知识&#xff1f;其实做为软件开发者&#xff0c;研究好软件加密的确很重要&#xff0c;不过也很有必要多了解一些…

圣天诺加密狗(HASP)破解

圣天诺加密狗&#xff08;HASP&#xff09;破解 一、编写测试程序 dll代码&#xff1a; #include "pch.h" #include<stdlib.h> BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) {switch (ul_reason_for_call){case D…

D8加密狗使用教程

D8 加密锁 1.VsCode 安装中文扩展包(1) 打开 VsCode&#xff0c;点击左侧扩展.(2) 输入Chinese&#xff0c;会自动搜索&#xff0c;点击第一个中文简体扩展&#xff0c;点击安装(3) 重启VsCode 2. D8调试服务程序 - 只运行3. 自动安装 yttool&#xff08;1&#xff09;VsCode 打…

加密狗复制,破解,备份,模拟,OEM ,写狗工具开发

一&#xff0c;复制加密狗∶又称加密狗克隆&#xff0c;通常分硬复制和软复制 二&#xff0c;硬复制&#xff1a;1:1复制&#xff0c;和原加密狗完全一样&#xff0c;支持更新升级 软复制&#xff1a;分析软件与加密狗之间的通讯信息&#xff0c;破译出加密算法和密钥&a…

XXXXRockey4ND加密狗复制

一、加密狗复制的前提条件 1、有所使用的软件 2、有所需的原加密狗 3、同型号的加密狗 二、所需环境 1、windows 2、所需加密狗的软件正常安装 三、复制步骤 1、将Rockey4ND加密狗读狗工具中的Hid.dll放置在所需加密狗的目录下 2、插入加密狗后运行所需破解的软件&#xff0c;…

互动投影游戏加密狗复制教程!

互动投影游戏加密狗复制教程&#xff01; 一周前&#xff0c;朋友给我一个软件&#xff0c;说是加密狗丢了&#xff0c;软件使用不了。听到说加密狗&#xff0c;我顿时很有喜爱&#xff0c;加密狗保护的软件&#xff0c;咱还没见过呢&#xff0c;与是怅然容许&#xff0c;谁知…

RocKey4加密狗复制软件及教程

RocKey4加密狗复制软件及教程 软件加密狗RocKey4nd复制工具及教程。 ROCKEY4ND 无驱加密锁功能强大&#xff0c;具有自定义算法、外壳加密、控制客户端数量、定时检测等功能&#xff1b;提供服务器端的网络服务程序&#xff0c;用户只需编写客户端的程序&#xff1b;提供了强…

使用画图软件更改图片大小

一、使用画图软件编辑打开后&#xff0c;点击属性按钮&#xff0c;编辑图片的像素大小&#xff0c;这种方法虽然能改变图片的大小&#xff0c;但是不能保证图片的完整性。 1、选中图片文件&#xff0c;右键->编辑&#xff1b; 2、文件->属性&#xff1b; 3、 二、使用画…

在线数学函数画图工具 2D 3D

数学画图工具 https://www.desmos.com/calculator 手写公式并画图 https://webdemo.myscript.com/views/math/index.html 函数图像与其导数图像 自动求导网站 3D 图像 https://ggb123.cn/3d

10款最佳在线地图软件介绍

有人说&#xff1a;一个人从1岁活到80岁很平凡&#xff0c;但如果从80岁倒着活&#xff0c;那么一半以上的人都可能不凡。 生活没有捷径&#xff0c;我们踩过的坑都成为了生活的经验&#xff0c;这些经验越早知道&#xff0c;你要走的弯路就会越少。 在线地图有无数的用途&…

Python实现画图软件功能

概述 虽然Python的强项在人工智能&#xff0c;数据处理方面&#xff0c;但是对于日常简单的应用&#xff0c;Python也提供了非常友好的支持&#xff08;如&#xff1a;Tkinter&#xff09;&#xff0c;本文主要一个简单的画图小软件&#xff0c;简述Python在GUI&#xff08;图…

【软件工程导论题型大总结】画图题总结

pdf下载&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】软件工程导论第六版&#xff08;张海藩&#xff09;专栏学习笔记目录导航 文章目录 一&#xff1a;概要&#xff08;各章图形及对应符号&#xff09;&#xff08;1&#xff09;传统软件工程部分A&#xff1a;可…

vb模仿画图软件

文章目录 介绍代码&制作v1.0v2.0v3.0v3.1v4.x&#xff1a;新的更新&#xff01;&#xff01;&#xff01; 下载地址附言 介绍 制作&#xff1a;Morgan 工具&#xff1a;VisualBasic6.0 邮箱&#xff1a;MorganFish0508163.com1037502595qq.com GitHub&#xff1a;https…

程序员软件工程常用的画图软件推荐

常用图&#xff0c;ER 图&#xff0c;类图等 画这样的图&#xff0c;一般使用 Draw.io 这款免费的在线网页绘图工具就可以解决了。 优点如下&#xff1a; 无需登录&#xff0c;直接进入网页就可以直接使用海量模板新建项目。 https://app.diagrams.net 进入编辑页面&#xff…

推荐好用在线画图网站

1.免费在线流程图思维导图 2.多功能设计及制图工具 3.Flowchart Maker & Online Diagram Software

免费画图软件推荐 - draw.io

一、背景 很早之前在 windows 系统上使用 visio 画图很爽。 自从用了 mac 之后没找到特别趁手的画图软件。 之前尝试过 processon &#xff0c;挺不错&#xff0c;可以在线画图&#xff0c;但是有数量限制&#xff0c;超过几个之后只能付费。 而且入职阿里之后公司不允许用外…