V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lirau
V2EX  ›  程序员

ip 检测网站判 IP 的方法是什么?

  •  
  •   lirau ·
    ray007great · Apr 4, 2015 · 8044 views
    This topic created in 4041 days ago, the information mentioned may be changed or developed.

    挂了vpn后,更改自己路由(国内线路强制走国内)。
    www.ip138.com和www.ip.cn测试ip,前者变为国内ip(电信运营商分配的),后者依然是国外(vpn商自己的ip)。
    然后就忽然思考着检测网站的运作原理了,是什么原理?
    v2ex检测我的ip是电信运营商提供的ip。

    42 replies    2015-04-08 01:34:12 +08:00
    extreme
        1
    extreme  
       Apr 4, 2015   ❤️ 1
    目标服务器所获取到的IP是直接与目标HTTP服务器进行TCP通讯的IP。

    太抽象?

    A寄信给B,说想了解一些东西,于是在信封的发件人处写上了自己的地址,收件人处写上了B的地址。
    B收到信后,写好了回复的内容,在信封收件人处写上A的地址,发件人处写上自己的地址。
    最后A收到了B的回信,得到了自己想要的东西。

    A寄信给C,但怕C知道自己的地址,可是又想收到回复,于是找了一个负责转发信件的D,在信件上写了说想了解一些东西,附带C的地址和自己的地址,把信件发送给D,D在信封的发件人处写上了D的地址,收件人处写上了C的地址。
    C收到信后,写好了回复的内容,在信封收件人处写上了D的地址,发件人处写上自己的地址。
    D收到了C的回信,然后把信寄到了A的地址,最后A得到了自己想要的东西。
    surftheair
        2
    surftheair  
       Apr 4, 2015
    你路由的问题吧,可能这个网站的IP你正好设到国内的路由了
    lirau
        3
    lirau  
    OP
       Apr 4, 2015
    @extreme 就是自己发送的http请求的数据包里有自己的IP地址吗。那通过VPN后这个地址有被更改吗?2个网站的测试结果不同说明有一个是用了更科学的检测方法吗
    lirau
        4
    lirau  
    OP
       Apr 4, 2015
    @surftheair 就是您认为2个网站的测试方法应该是一样的了。不是很懂路由。是通过我的http请求里写的IP测试的吗,那为什么路由能影响检测结果?请求不应该是浏览器包装然后发送的,为什么还跟以后要走的线路有关?
    surftheair
        5
    surftheair  
       Apr 4, 2015
    @lirau 都是一样的。我的意思是,你不是设置了不同的IP走不同的路由么?可能是你这两个IP走的路由不一样。你看一下route print,或者tracert一下检测服务器的IP,看看走的哪条路由。
    NeoAtlantis
        6
    NeoAtlantis  
       Apr 4, 2015
    有个东西叫TCP协议吧。。。

    v2ex难道是这样的社区了么……
    fems
        7
    fems  
       Apr 4, 2015   ❤️ 1
    @lirau 走国内还是国外路由,要看你的DNS返回对应网站的IP地址是国内还是国外IP,前者貌似都是国内IP,后者我这里是日本linode的IP23.239.1.72 li679-72.members.linode.com
    jerryjhou
        8
    jerryjhou  
       Apr 4, 2015 via iPad   ❤️ 1
    没一个说到点上的
    IP.cn在新加坡OAH有一台服务器,你的DNS成了国外的,所以解析出的IP是新加坡的。
    根据路由表,新加坡IP还是会走VPN,所以你就只能看到VPN的IP
    Showfom
        9
    Showfom  
    PRO
       Apr 4, 2015 via iPhone
    ip.cn 由国外节点,所以你DNS不是国内的时候就解析到国外节点了,正常的
    Showfom
        10
    Showfom  
    PRO
       Apr 4, 2015 via iPhone
    @jerryjhou 是的。。。看上面的人没自己去考察九在讨论了也是无语
    omi4399
        11
    omi4399  
       Apr 4, 2015
    IP.cn在国外有服务器啊,路由表里把他判定为国外线路了,于是你就翻墙啦
    bobopu
        12
    bobopu  
       Apr 4, 2015 via iPhone
    @Showfom
    @omi4399
    @jerryjhou ip.cn和ip138.com哪个访问量大,哪个准确?
    Showfom
        13
    Showfom  
    PRO
       Apr 4, 2015 via iPhone   ❤️ 1
    @bobopu 都不准确,最准确的是 @gaochunhui 老师做的 ipip.net
    KexyBiscuit
        14
    KexyBiscuit  
       Apr 4, 2015 via Android
    xieyudi1990
        15
    xieyudi1990  
       Apr 4, 2015 via iPhone
    不是在TCP里, 而是在IP头里有一个源IP的字段. 是靠那个检测的.

    写过协议栈的路过.
    bobopu
        16
    bobopu  
       Apr 4, 2015 via iPhone
    @Showfom 我说这两个哪个访问量大
    Showfom
        17
    Showfom  
    PRO
       Apr 4, 2015
    @bobopu 想也不用想,小白都用 ip138 这个是最不专业的 IP 查询网站,不信的话,你在终端下对比

    curl ipip.net
    curl ip.cn
    curl ip138.com
    ryd994
        18
    ryd994  
       Apr 4, 2015 via Android   ❤️ 1
    书读得太少,想得太多。
    好好学个网络入门,就全懂了
    geeti
        19
    geeti  
       Apr 5, 2015
    你路由设置有问题。
    把你的路由表发上来看看
    sNullp
        20
    sNullp  
       Apr 5, 2015
    @Showfom curl 了这三个网站,然后呢?
    geeti
        21
    geeti  
       Apr 5, 2015
    @sNullp 他本意是想通过curl来直观的看这几个网站给你展示的ip,但这几个网站的域名都不支持curl直接返回IP。
    比如curl curlmyip.com 就可以。
    geeti
        22
    geeti  
       Apr 5, 2015
    @sNullp 错了。是说前两个都可以curl出直观的ip,而ip138很烂,给你返回的是html源代码
    sNullp
        23
    sNullp  
       Apr 5, 2015
    @geeti 哦原来是这个意思。
    curl返回 ip 我一般用 ifconfig.me
    geeti
        24
    geeti  
       Apr 5, 2015
    @sNullp ifconfig.me很慢啊
    sNullp
        25
    sNullp  
       Apr 5, 2015
    @geeti 这只能说明 ip138 没有对 curl 的 UA 做特殊处理。。。当然他数据库是很烂,但是刚才还以为他的意思是靠 curl 就能得到数据库的大小。
    sNullp
        26
    sNullp  
       Apr 5, 2015
    @geeti 追求速度的话我用 ip.appspot.com
    mingyun
        27
    mingyun  
       Apr 5, 2015
    geeti
        28
    geeti  
       Apr 5, 2015
    @sNullp 这个好,google的必须首选
    wdlth
        29
    wdlth  
       Apr 5, 2015
    http://whatismyip.akamai.com/
    我用的是这个……
    bdnet
        30
    bdnet  
       Apr 5, 2015
    Web服务器会获取Request的IP,至于线路经过了几层,线路不同,都会影响web服务器拿的的ip。
    cnbeining
        31
    cnbeining  
       Apr 5, 2015
    不同站的方法还真可能不一样。

    例如:

    schezuk
        32
    schezuk  
       Apr 5, 2015   ❤️ 1
    discuz的办法https://github.com/Discuz-X/DiscuzX/blob/Common/uc_client/model/base.php
    ···
    function init_var() {
    $this->time = time();
    $cip = getenv('HTTP_CLIENT_IP');
    $xip = getenv('HTTP_X_FORWARDED_FOR');
    $rip = getenv('REMOTE_ADDR');
    $srip = $_SERVER['REMOTE_ADDR'];
    if($cip && strcasecmp($cip, 'unknown')) {
    $this->onlineip = $cip;
    } elseif($xip && strcasecmp($xip, 'unknown')) {
    $this->onlineip = $xip;
    } elseif($rip && strcasecmp($rip, 'unknown')) {
    $this->onlineip = $rip;
    } elseif($srip && strcasecmp($srip, 'unknown')) {
    $this->onlineip = $srip;
    }
    preg_match("/[\d\.]{7,15}/", $this->onlineip, $match);
    $this->onlineip = $match[0] ? $match[0] : 'unknown';
    $this->app['appid'] = UC_APPID;
    }
    ···
    loveminds
        33
    loveminds  
       Apr 5, 2015
    @Showfom CZ88现在也还行了,我长期在给他们更新大量数据
    loveminds
        34
    loveminds  
       Apr 5, 2015
    @cnbeining 你这个是自己设置的PTR?
    @Showfom 我提交的准确度还行吧 基本上都能到楼
    香港 星步互联数据中心(上环文咸西街59-67号金日集团中心2层)
    香港 亚洲数据有限公司(青山公路491号嘉力工业中心)
    香港互联虚拟化有限公司数据中心(九龙新蒲岗大有街31号善美工业大厦1604室)
    北京互联互通科技有限公司兆维IDC机房(朝阳区酒仙桥路6号院1号楼)
    msg7086
        35
    msg7086  
       Apr 5, 2015
    @cnbeining 贝宁叔又在乱玩PTR了。不考虑用一下 gfw.red 后缀么→_→
    paulgao
        36
    paulgao  
       Apr 5, 2015
    以 PHP 为例,IPIP.NET 的客户端 IP 目前以 REMOTE_ADDR 为准了。HTTP_X_FORWARDED_FOR 实在是不敢信任了,尤其在中国这种小运营商乱搞的情况下。
    Showfom
        37
    Showfom  
    PRO
       Apr 5, 2015 via iPhone
    @loveminds 么么哒
    loveminds
        38
    loveminds  
       Apr 6, 2015
    @bobopu 123cha比较大
    loveminds
        39
    loveminds  
       Apr 6, 2015
    @msg7086 他们什么地方可以自己玩儿PTR呢,美国?
    msg7086
        40
    msg7086  
       Apr 6, 2015 via iPhone
    @loveminds 有些商家设ptr不查正向解析,很容易被玩坏…
    loveminds
        41
    loveminds  
       Apr 7, 2015
    @msg7086 我记得设过,香港某机房
    xxx.hosted.by.yvonne.lu
    paulgao
        42
    paulgao  
       Apr 8, 2015
    @loveminds 不知道你的数据都是从哪里来的?愿意不愿意分享一下呢?:)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   963 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 20:29 · PVG 04:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.