先是自动填写(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很容易实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)