如何使用`dns-sd`发现具有特定TLD的所有域名?

时间:2015-07-23 09:05:09

标签: macos tld dns-sd

我尝试使用TLD .ffhh 发现所有域名。这是汉堡Freifunk Meshnetwork的顶级域名。我在Mac终端中尝试了以下命令:

dns-sd -B _http._tcp ffhh.

我得到了这个输出,但之后没有任何反应:

Browsing for _http._tcp.ffhh. DATE: ---Thu 23 Jul 2015--- 10:40:20.934 ...STARTING...

我想我用dns-sd错了!?使用此TLD发现所有域名的正确命令是什么?

1 个答案:

答案 0 :(得分:2)

我认为您不能使用function whatYouFound(){ var stuff = ["1. Banana<P>", "2. Bigby's Crushing Hand spell<P>", "3. Bag of gold<P>", "4. Crossbow<P>"]; var a = "The orc moves in and takes an item of yours."; document.getElementById("demo").innerHTML = stuff.join("") + a; $('#choiceBB').show(); }; function chooseOne(){ var userInput = document.getElementById('userInput2').value; if ($.trim($("#userInput2").val()) === "") { alert('You did not fill in anything'); return false; } else {document.getElementById('demo2').innerHTML = 'He took your ' + userInput + ". That's embarassing."; $('#choiceCC').show(); }; }; 来浏览顶级域名。 (如果你真的可以 - 我不确定这个! - 那么你的命令是正确的。它只是找不到该TLD的任何结果。请参阅我的进一步答案...... )

此外,如果在该域中实际存在通过DNS-SD 宣布的HTTP服务,则浏览某个域中的_http._tcp将仅显示结果。

1。 dns-sd 首先适用于 dns-sd

要对其进行测试,您可以在一个终端中运行local.以宣布虚假的HTTP服务:

dns-sd -R

然后检查公告是否出现在本地浏览列表中:

 dns-sd  \
   -R "A Fake Announcement to Register a Dummy HTTP Server" \
   _http._tcp,_universal \
   .   \
   8081

2。 dns-sd -B _http._tcp 也可用于远程域...在某些条件下

要检查远程域中已宣布的服务,请尝试:

dns-sd

您应该看到类似

的内容
Browsing for _ftp._tcp.dns-sd.org.
DATE: ---Thu 19 May 2016---
17:40:02.111  ...STARTING...
Timestamp     A/R  Flags  if Domain        Service Type  Instance Name
17:40:02.112  Add      3   0 dns-sd.org.   _ftp._tcp.    Apple QuickTime Files
17:40:02.112  Add      3   0 dns-sd.org.   _ftp._tcp.    Microsoft Developer Files
17:40:02.112  Add      2   0 dns-sd.org.   _ftp._tcp.    Restricted, Registered Users Only
^C

然后,您可以通过运行另一个命令来解析特定实例:

dns-sd -L "Microsoft Developer Files" _ftp._tcp dns-sd.org.

  Lookup Microsoft Developer Files._ftp._tcp.dns-sd.org.
  DATE: ---Thu 19 May 2016---
  17:40:43.972  ...STARTING...
  17:40:44.365  Microsoft\032Developer\032Files._ftp._tcp.dns-sd.org. can be reached at ftp.microsoft.com.:21 (interface 0)
   txtvers=1
   path=/developer
^C

3。那么为什么浏览远程 dns-sd -B _ftp._tcp dns-sd.org. 域工作呢?

这是因为“发明”DNS-SD并运行 dns-sd.org 域名的人Stuart Cheshire做了 注册 使用适当的方法在他自己的域 的标准DNS服务器设置 中使用FTP服务。

4。那么为什么 dns-sd.org. 会返回有关Microsoft控制的FTP服务的记录?

这是因为Stuart Chesire将该FTP服务注册为“代理广告” ....

5。为什么您对 dns-sd.org 顶级域名的查询不起作用?

主要是因为该域很可能没有在标准DNS服务器中注册其所在域内托管的所有HTTP服务。

可能它甚至根本没有在其域内运行DNS服务器。

如果此类服务器的每个网站管理员都愿意,您只能通过fffh.发现这些HTTP服务器...

  • ...在后台运行相应的dns-sd -B _http._tcp local.命令(如果他有Mac)或
  • ...运行模拟dns-sd -R ...命令(如果他有Linux)

6。其他信息

顺便说一句,如果您将常规DNS配置中的远程域添加为“浏览域”,则可以在不指定远程域名的情况下浏览和发现远程服务。请参阅此屏幕截图,我在MacBook上添加了avahi-publish -s ...

DNS *Search Domain* "dns-sd.org" added in Mac OS X network configuration

在这种情况下,您只需运行

即可

dns-sd.org

列出远程HTTP服务(以及本地的),而不是运行

dns-sd -B _http._tcp