若内网IP为202.*/24,若ping202.*/24范围的地址,是ping外网的还是内网的?

假装自己不帅 2017-11-30 07:31:48
若内网IP为202.*/24,若ping202.*/24范围的地址,是ping外网的还是内网的?
...全文
899 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
假装自己不帅 2017-12-02
  • 打赏
  • 举报
回复
貌似应该假装懂了,我还是去看几本书再来想吧,谢谢啦
赵4老师 2017-12-01
  • 打赏
  • 举报
回复
仅供参考:
#include <windows.h>
#include <stdio.h>
#include <string.h>
char YN(int k) {
    FILE *f;
    char fn[40];
    char ln[80];
    char yn;
    int n;

    yn='N';
    sprintf(fn,"d:\\ping%d.txt",k);
    f=fopen(fn,"r");
    if (NULL!=f) {
        n=0;
        while (1) {
            if (NULL==fgets(ln,80,f)) break;//
            if (strstr(ln,"ms ")) {
                yn='Y';
                break;//
            }
            n++;
            if (n>=4) break;//
        }
        fclose(f);
    }
    return yn;
}
void main(int argc,char **argv) {
    char cmdstr[256];
    int i;
    int IP[3];
    char c;

    if (argc<2) {
    USAGE:
        printf("Usage example:\n    %s 192.168.60.\nto test 192.168.60.1-254\n",argv[0]);
        return;
    }
    if (4==sscanf(argv[1],"%d.%d.%d%c",&IP[0],&IP[1],&IP[2],&c)) {
        if (0<=IP[0] && IP[0]<=255
         && 0<=IP[1] && IP[1]<=255
         && 0<=IP[2] && IP[2]<=255
         && '.'==c) {
            for (i=1;i<255;i++) {
                sprintf(cmdstr,"cmd /c ping %s%d -n 1 -w 1000 >d:\\ping%d.txt",argv[1],i,i);
                WinExec(cmdstr,SW_HIDE);
            }
            Sleep(3000);
            for (i=1;i<255;i++) {
                printf("%c %s%d\n",YN(i),argv[1],i);
            }
            Sleep(3000);
            WinExec("cmd /c del /q d:\\ping*.txt",SW_HIDE);
        } else goto USAGE;
    } else goto USAGE;
}
X-i-n 2017-12-01
  • 打赏
  • 举报
回复
意思是这个IP地址是运营商分给你的,并且你们的网络结构没有问题。使用了不属于你的公网IP,这就叫非法使用,如果用在你的路由器上,你的网络会完全无法连出去,如果用在你的NAT环境内部,会出现上面我说的干扰。 如果单看内网结构,任何ABC类地址都可以使用,不用区分公网地址私网地址。但是只要你需要访问互联网,那么就一定要避免非法使用公网IP。 所有202.116.11.4的请求都会失败是因为你内网已经有这个IP了,所以你的电脑会到内网去找这个IP,但是事实上真正的202.116.11.4在公网上,所以请求永远通不了。 网络设备在访问一个IP的时候,会根据自己的路由表去找寻目标,类似的结构是:目标地址+出口,访问哪个IP从哪个网关走。如果路由表里没有这条记录,才会走默认网关。
假装自己不帅 2017-11-30
  • 打赏
  • 举报
回复
引用 3 楼 Runnerchin 的回复:
同一网段优先优先级最高,内网网段的话需要看你的设备以及路由器里的路由设置,虽然202.116.11.3是公网IP,但是用在了内网位置,这个就是我上面回复提到的干扰,碰到这种情况,所有202.116.11.4的请求都会失败,并且只要是经过202.116.11.4的结点的服务都会无法访问。只有一种情况下你的网络不会受影响:202.116.11.3是属于你们的IP,并且被正确地规划进了你们的网络。
202.116.11.3是属于你们的IP,并且被正确地规划进了你们的网络。这句是什么意思啊? 还有“所有202.116.11.4的请求都会失败”是对于内网的主机还是外网的?
X-i-n 2017-11-30
  • 打赏
  • 举报
回复
同一网段优先优先级最高,内网网段的话需要看你的设备以及路由器里的路由设置,虽然202.116.11.3是公网IP,但是用在了内网位置,这个就是我上面回复提到的干扰,碰到这种情况,所有202.116.11.4的请求都会失败,并且只要是经过202.116.11.4的结点的服务都会无法访问。只有一种情况下你的网络不会受影响:202.116.11.3是属于你们的IP,并且被正确地规划进了你们的网络。
假装自己不帅 2017-11-30
  • 打赏
  • 举报
回复
我的内网IP就是202.x/24,所以我很奇怪,内网IP不是192.168.0.0-192.168.255.255、172.16.0.0-172.31.255.255、10.0.0.0-10.255.255.255这些吗,这些广域网都不能用,所以如果我在这些网段内,ping该网段内的IP就只是ping同网段的主机。但我在的内网IP假如是202.116.11.3/24,那我ping202.116.11.4/24时,内网外网都有这个IP,那网络是如何工作的呢?
X-i-n 2017-11-30
  • 打赏
  • 举报
回复
完全没看懂你的问题。 这个IP的掩码是24位,光凭一个202.*不能判断是内网地址还是外网地址。 另外,内网使用未授权的公网IP时,会在很多情况下使你的外网访问受到干扰,比如你所访问的服务正好需要经过真正的202.x结点。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧