V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
codechaser
V2EX  ›  Linux

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

  •  
  •   codechaser · 2019-06-10 22:25:38 +08:00 · 8441 次点击
    这是一个创建于 1996 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位好!我对网络真的不了解,今天用校园网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 条回复    2019-06-15 10:56:52 +08:00
    Danswerme
        1
    Danswerme  
       2019-06-10 22:39:52 +08:00 via Android   ❤️ 1
    ping 的主机参数不能包含协议
    omph
        2
    omph  
       2019-06-10 22:41:31 +08:00   ❤️ 1
    ping 的是域名,不是 url 啊
    ysc3839
        3
    ysc3839  
       2019-06-10 22:41:56 +08:00   ❤️ 3
    ping 是 ICMP 协议的,HTTP 是 TCP 协议的,你要 ping HTTP 的话需要 tcp ping。
    dkmilan
        4
    dkmilan  
       2019-06-10 22:52:06 +08:00   ❤️ 2
    同学你需要补一下网络模型
    pkookp8
        5
    pkookp8  
       2019-06-10 22:59:21 +08:00 via Android   ❤️ 1
    两个协议都不在同一层
    lzhnull
        6
    lzhnull  
       2019-06-10 23:01:05 +08:00 via Android   ❤️ 5
    这位同学,有空发帖,不如谷歌下
    leavic
        7
    leavic  
       2019-06-10 23:07:43 +08:00   ❤️ 2
    这锅要 linux 来背吗?一个连 netstat 都会用的人不会用 ping 我也是无语了。
    Hardrain
        8
    Hardrain  
       2019-06-10 23:38:50 +08:00   ❤️ 1
    你 ping 的是主机,域名解析到主机的 IP
    ping 走的是 ICMP 协议,不是 HTTP/HTTPS

    你的情况估计是从某些浏览器里复制域名,会带上开头的 http(s)://
    如果主机的 http/https 服务器用了非标准端口号
    ping 的时候端口号也要去掉
    HeiXiaoBai
        9
    HeiXiaoBai  
       2019-06-10 23:53:32 +08:00 via Android
    opengps
        10
    opengps  
       2019-06-11 00:01:39 +08:00 via Android
    ping 是 icmp 协议。http 是 7 层的 http 或者说对 4 层 tcp 协议的封装
    Jirajine
        11
    Jirajine  
       2019-06-11 00:02:21 +08:00 via Android
    这边建议发帖前先 STFW 呢,你这标题 Google 一下就有答案了,何必写这么多
    mango88
        12
    mango88  
       2019-06-11 00:12:38 +08:00
    这位同学 怕是对 url 构成有什么误解
    ChristopherWu
        13
    ChristopherWu  
       2019-06-11 01:06:01 +08:00   ❤️ 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  
       2019-06-11 01:15:43 +08:00 via Android   ❤️ 4
    这个问题非常好,虽然简单了点,但是描述清晰,态度端正。

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

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

    期待你下次的提问
    KasuganoSoras
        15
    KasuganoSoras  
       2019-06-11 04:44:35 +08:00
    如果你要测试一个网站是否能连通,最好的方法就是 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  
       2019-06-11 08:28:24 +08:00 via Android
    是说 windows 或 mac 下可以咯?
    unknowncheater
        17
    unknowncheater  
       2019-06-11 08:35:35 +08:00
    Dns 能解析帶 http/https 頭的域名?還沒見過
    whwq2012
        18
    whwq2012  
       2019-06-11 08:40:44 +08:00 via Android
    了解下域名和 url 组成的知识就很容易理解的。
    几年以后你回来看自己问的这个问题一定会想骂自己白痴,哈哈。
    oneisall8955
        19
    oneisall8955  
       2019-06-11 08:41:15 +08:00 via Android
    @CEBBCAT 很理性了
    presoul
        20
    presoul  
       2019-06-11 08:54:42 +08:00 via Android
    楼主态度挺好的 想测试 http 或者 https
    可以用 tcping 工具 对应的 80 和 443 端口
    chinawrj
        21
    chinawrj  
       2019-06-11 08:57:35 +08:00
    一时间我都不知道该怎么回答。lz 似乎很懂,又似乎什么都不懂。先搞清楚如下概念吧:ICMP\DNS\HTTP
    sazima
        22
    sazima  
       2019-06-11 09:10:53 +08:00
    telnet google.com 443
    sazima
        23
    sazima  
       2019-06-11 09:12:00 +08:00
    darknoll
        24
    darknoll  
       2019-06-11 09:18:49 +08:00
    plasmetoz
        25
    plasmetoz  
       2019-06-11 09:26:10 +08:00
    linux 下测试 http/tcp 可以用[paping]( https://code.google.com/archive/p/paping/)
    Valid
        26
    Valid  
       2019-06-11 11:09:00 +08:00
    在 windows 下难道就可以??
    exip
        27
    exip  
       2019-06-15 10:56:52 +08:00 via Android
    在 macOS 下难道就可以?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:41 · PVG 10:41 · LAX 18:41 · JFK 21:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.