为什么我不能ping linux上的前导或尾随下划线的地址

为什么我不能ping linux上的前导或尾随下划线的地址,第1张

概述在 Windows上: >在浏览器中访问_.github.com > nslookup _.github.com有效 > ping _.github.com有效 在Linux上(在两个独立的网络上测试): >在浏览器中访问_.github.com > host _.github.com有效 > ping _.github.com没有 > python -c“import requests; req 在 Windows上:

>在浏览器中访问_.github.com
> nslookup _.github.com有效
> Ping _.github.com有效

在Linux上(在两个独立的网络上测试):

>在浏览器中访问_.github.com
> host _.github.com有效
> Ping _.github.com没有
> python -c“import requests; requests.get(‘_.github.com’)”没有

这里发生了什么?

解决方法 因为linux(更具体地说,它的一些组件,如libresolv甚至Ping本身)都在尊重RFC.主机名中不允许使用下划线,使用Ping时主机名是您正在查找的内容. (在其他类型的DNS记录中允许使用下划线,例如SRV记录,TXT记录,例如用于DKIM的记录……)

请参阅RFC 1123第2.1节和第RFC 952节.以下是讨论此主题的一些其他链接:

Stack Overflow – Can (hostname) subdomains have an underscore “_” in it?

Domainkey – Underscores in DNS

Quora – Why are underscores not allowed in DNS host names?

更新:正如一些人在评论中指出的那样,linux Ping对a_a.github.com很满意.再做一些测试(本例中为CentOS 7):

Ping: unkNown host _.github.comPing: unkNown host a_.github.comPing: unkNown host _a.github.com$Ping a_a.github.comPing github.map.fastly.net (23.235.40.133) 56(84) bytes of data.64 bytes from 23.235.40.133: icmp_seq=1 ttl=59 time=29.7 ms

所以看起来linux Ping并没有完全拒绝下划线,但它似乎不允许它是主机名原子中的第一个或最后一个字符(或者,因此是唯一的字符).

总结

以上是内存溢出为你收集整理的为什么我不能ping linux上的前导尾随下划线的地址全部内容,希望文章能够帮你解决为什么我不能ping linux上的前导或尾随下划线的地址所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存