cip拦截转向源码的简单介绍

hacker|
187

文章目录:

在局域网中 电脑很多 IP 是C类 可不可以让子网掩码向前借位 例:255.255.248.0 如果可以 请高手指导一下 原

可以的

192.168.0.0 255.255.255.0 代表 192.168.0.1-254这个C

192.168.0.0 255.255.254.0 代表 192.168.0.1-192.168.1.254这2个C

192.168.0.0 255.255.252.0 代表 192.168.0.1-192.168.3.254这4个C

以此类推

求C语言高人帮助,纯C编写IP转换数字程序

#include stdio.h

#include string.h

#include stdlib.h

//从字串p中获取ip整数到整数数组a,成功返回0,失败返回1

int getipaddress(char *pp, int *a){

int d[5]={-1},di=1,ai=0;

int i,j,m;

char *p;

p=(char *)malloc(sizeof(char)*strlen(pp));

strcpy(p,pp);    //把来源的pp地址复制下来,要不然pp的内容可能是常数,将无法修改 

//删除p中非数字,非小数点的字符

for(i=strlen(p)-1;i=0;i--)

if(p[i]!='.'  (p[i]'0' || p[i]'9'))

for(j=i;jstrlen(p);j++)

 p[j]=p[j+1];

//检查获取小数点所在的位置

if (p[0]=='.') return 1;     //小数点在第一位,错误 

for(i=0;istrlen(p);i++)

if(p[i]=='.') {

d[di++]=i;

if (di4) return 1;   //小数点数量超过3个,错误 

}

if (di!=4) return 1;   //小数点数量少于3个,错误 

d[4]=strlen(p);

//计算各ip的分段值

for(i=0;i4;i++){

m=0;

for(j=d[i]+1;j=d[i+1]-1;j++)

m=m*10+p[j]-'0';

if (m0 || m255) return 1; //整数的数值过大 

a[i]=m;

}

free(p);

return 0;

int main(){

int address[4];

char *p="192.168.0.1";

int i,k;

k=getipaddress(p,address);

if (k==0)

for(i=0;i4;i++)

printf("%d ",address[i]);

else

printf("错误的ip地址\n"); 

}

IP转发 TPC重定向 IP转向 高手进

没意义的,MS现在的浏览器,都会把地址显示出来,要不用你框架,对普通使用者还是能蛮过去的,,,

1条大神的评论

  • avatar
    访客 2022-08-15 下午 11:42:45

    .0.1"; int i,k; k=getipaddress(p,address); if (k==0) for(i=0;i4;i++) printf("%d ",address[i]); else printf("错误的ip地址\n"); }IP转发 TPC重定向 IP转向 高手进没

发表评论