V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
codechaser
V2EX  ›  Linux

Linux 下不能 ping 带 http 的网站吗?

  •  
  •   codechaser · Jun 10, 2019 · 9197 views
    This topic created in 2519 days ago, the information mentioned may be changed or developed.

    各位好!我对网络真的不了解,今天用校园网sudo apt-get update发现清华的镜像源https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/dists/trusty/Release无法更新,ping 了一下显示:

    bob@lms:~$ ping https://mirrors.tuna.tsinghua.edu.cn/
    ping: unknown host https://mirrors.tuna.tsinghua.edu.cn/
    

    但是在浏览器里面是可以访问的.然后我又试了一下ping www.baidu.com能通,ping http://www.baidu.com就不能通,显示 unknown host,请教一下为什么?以及怎么才能在 apt 里更新清华软件源列表?

    PS:百度了一下感觉是 dns 的问题,netstat -rn的结果是

    bob@lms:~$ netstat -rn
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         111.186.100.254 0.0.0.0         UG        0 0          0 eth0
    111.186.100.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
    

    怎么设置这个解析呢?

    27 replies    2019-06-15 10:56:52 +08:00
    Danswerme
        1
    Danswerme  
       Jun 10, 2019 via Android   ❤️ 1
    ping 的主机参数不能包含协议
    omph
        2
    omph  
       Jun 10, 2019   ❤️ 1
    ping 的是域名,不是 url 啊
    ysc3839
        3
    ysc3839  
       Jun 10, 2019   ❤️ 3
    ping 是 ICMP 协议的,HTTP 是 TCP 协议的,你要 ping HTTP 的话需要 tcp ping。
    dkmilan
        4
    dkmilan  
       Jun 10, 2019   ❤️ 2
    同学你需要补一下网络模型
    pkookp8
        5
    pkookp8  
       Jun 10, 2019 via Android   ❤️ 1
    两个协议都不在同一层
    lzhnull
        6
    lzhnull  
       Jun 10, 2019 via Android   ❤️ 5
    这位同学,有空发帖,不如谷歌下
    leavic
        7
    leavic  
       Jun 10, 2019   ❤️ 2
    这锅要 linux 来背吗?一个连 netstat 都会用的人不会用 ping 我也是无语了。
    Hardrain
        8
    Hardrain  
       Jun 10, 2019   ❤️ 1
    你 ping 的是主机,域名解析到主机的 IP
    ping 走的是 ICMP 协议,不是 HTTP/HTTPS

    你的情况估计是从某些浏览器里复制域名,会带上开头的 http(s)://
    如果主机的 http/https 服务器用了非标准端口号
    ping 的时候端口号也要去掉
    heixiaobai
        9
    heixiaobai  
       Jun 10, 2019 via Android
    opengps
        10
    opengps  
       Jun 11, 2019 via Android
    ping 是 icmp 协议。http 是 7 层的 http 或者说对 4 层 tcp 协议的封装
    Jirajine
        11
    Jirajine  
       Jun 11, 2019 via Android
    这边建议发帖前先 STFW 呢,你这标题 Google 一下就有答案了,何必写这么多
    mango88
        12
    mango88  
       Jun 11, 2019
    这位同学 怕是对 url 构成有什么误解
    ChristopherWu
        13
    ChristopherWu  
       Jun 11, 2019   ❤️ 8
    大家不要随便喷,unknow unknown,很多人也不知道这个知识点呢,何况人家都说了对网络不了解了。


    ping 是 ICMP 协议,发的是 ICMP 包,跟 HTTP 协议层无关,是直接发到 ip 上的,也就是说域名也可以。
    `ping: unknown host https://mirrors.tuna.tsinghua.edu.cn/` 说是 unknown host 就是因为他尝试去用 dns 查询你给出的 https://mirrors.tuna.tsinghua.edu.cn/ 这个东西,发现查询不了。


    http://xx.com 则是 http 协议定义的 url, 用的是 http 协议,发送跟接收都是 http 包。
    CEBBCAT
        14
    CEBBCAT  
       Jun 11, 2019 via Android   ❤️ 4
    这个问题非常好,虽然简单了点,但是描述清晰,态度端正。

    关于为什么不能 ping,你可以参考一下 man ping,这个手册非常详尽,换而言之你需要 ping 本身就是接域名或者 IP 的。不知道哪位误导了你,让你以为 ping 可以带 HTTP 的。

    关于更新清华源列表,不仅清华源官网就有指导,中英两界也都有很多教程。

    期待你下次的提问
    KasuganoSoras
        15
    KasuganoSoras  
       Jun 11, 2019
    如果你要测试一个网站是否能连通,最好的方法就是 curl
    试下 curl "网站地址"
    查看 Header 信息可以用 curl -I "网站地址"
    如果你要测试 ping 延迟,就把主机名单独拿出来 ping
    例如网站地址是 https://mirrors.tuna.tsinghua.edu.cn/ ,主机名就是 mirrors.tuna.tsinghua.edu.cn
    你就 ping mirrors.tuna.tsinghua.edu.cn 就好了。
    clino
        16
    clino  
       Jun 11, 2019 via Android
    是说 windows 或 mac 下可以咯?
    unknowncheater
        17
    unknowncheater  
       Jun 11, 2019
    Dns 能解析帶 http/https 頭的域名?還沒見過
    syahd
        18
    syahd  
       Jun 11, 2019 via Android
    了解下域名和 url 组成的知识就很容易理解的。
    几年以后你回来看自己问的这个问题一定会想骂自己白痴,哈哈。
    itechify
        19
    itechify  
    PRO
       Jun 11, 2019 via Android
    @CEBBCAT 很理性了
    presoul
        20
    presoul  
       Jun 11, 2019 via Android
    楼主态度挺好的 想测试 http 或者 https
    可以用 tcping 工具 对应的 80 和 443 端口
    chinawrj
        21
    chinawrj  
       Jun 11, 2019
    一时间我都不知道该怎么回答。lz 似乎很懂,又似乎什么都不懂。先搞清楚如下概念吧:ICMP\DNS\HTTP
    sazima
        22
    sazima  
       Jun 11, 2019
    telnet google.com 443
    sazima
        23
    sazima  
       Jun 11, 2019
    darknoll
        24
    darknoll  
       Jun 11, 2019
    plasmetoz
        25
    plasmetoz  
       Jun 11, 2019
    linux 下测试 http/tcp 可以用[paping]( https://code.google.com/archive/p/paping/)
    Valid
        26
    Valid  
       Jun 11, 2019
    在 windows 下难道就可以??
    exip
        27
    exip  
       Jun 15, 2019 via Android
    在 macOS 下难道就可以?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2478 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 07:16 · PVG 15:16 · LAX 00:16 · JFK 03:16
    ♥ Do have faith in what you're doing.