制作一个程序,自动设置ip,子网掩码,默认网关,dns服务器

制作一个程序,自动设置ip,子网掩码,默认网关,dns服务器,第1张

网上找的,复制下面代码到记事本,另存为扩展名改为bat就可以了

先是自动填写(ip地址可以改成自己所需的)

echo off

cls

title 设置IP

echo 正在设置IP地址,请稍候……

netsh interface ip set address "本地连接" static 192.168.0.55 255.255.255.0 192.168.0.1 1

echo 正在更改DNS设置,请稍候……

netsh interface ip set dns "本地连接" static 202.96.128.86 primary

netsh interface ip add dns name = "本地连接" addr=202.96.128.166

echo ******恭喜你,修改完成!******

pause

下面是清除ip

echo off

cls

title 清除IP设置

echo 正在清除IP地址,请稍候……

netsh interface ip set address name="本地连接" source=dhcp

echo 正在清除DNS设置,请稍候……

netsh interface ip set dns name="本地连接" source=dhcp

echo 删除IP设置,设置为自动。

echo***************恭喜你,命令成功完成!*************

pause

不知道您有没有学习过计算机网络。如果没有,下面简单介绍一下IP地址和掩码

IP地址是32位的,也就是4字节。取值可以任意。

掩码也是32位的,一般建议前面的位都为1,后面的位都为0。所以本题:

(1)只要是32位的都是有效的。

(2)判断是否全1后面接全0,可用如下代码实现:

#include<stdio.h>

void main()

{

unsigned yanma,bianliang=0x80000000

int isyanma=0,i

printf("用十六进制输入一个32位整数\n")

scanf("%x",&yanma)

for(i=0i<32i++)

{

if(yanma==bianliang)

{

isyanma=1

break

}

bianliang=bianliang>>1

bianliang+=0x80000000

}

if(isyanma)

printf("%x是掩码\n",yanma)

else

printf("%x不是掩码\n",yanma)

}

(3)如果掩码的前n位为1,那么此IP所在网络全部有效IP地址是此IP地址的前n位不变,后面的位从全0到全1,比如IP地址为1.1.1.1掩码为FFFF0000,那么此IP地址所在网络的全部有效IP地址是从1.1.0.0到1.1.255.255。

(4)两个IP地址都与掩码进行二进制与,看得到的结果是否相同,如果相同则在同一子网中,否则不在同一子网中。这个用c很容易实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11268233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存