我正在尝试以编程方式确定与给定IP地址关联的公司*.
我的第一个猜测是:
string hostname = Dns.GetHostEntry(IPAddress.Parse(ip)).HostName;
Run Code Online (Sandbox Code Playgroud)
但如果没有正确设置反向DNS,这将无效,这似乎在90%的时间内发生.
但是,即使反向DNS失败,某些网站仍能成功确定与特定IP相关联的公司.例如,在此站点上,即使未设置主机名,ISP提供商字段有时也包含有价值的信息(即公司名称).
使用.net实现同样功能的最简单方法是什么?
备注:
编辑关于whois的使用:有时,没有与IP相关联的whois信息
我想要whois"abc.us"或"abc.ly",看看它是否被拍摄.
如何使用python点击它并查看是否已拍摄?
所以,我一直在研究这个域名正则表达式.到目前为止,它似乎通过SLD和TLD(使用可选的ccTLD)获取域名,但是TLD列表存在重复.这可以进一步重构吗?
params[:domain_name].downcase.strip.match(/^[a-z0-9\-]{2,63}
\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
(m[acdghklmnopqrstuvwxyz]|me|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])
(\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|
(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))?$/)
Run Code Online (Sandbox Code Playgroud) 在Java中是否有一种相对简单的方法来检查域是否可用?
我需要一个可靠的方法,所以只检查是否可以建立连接是不够的.
您如何首先获得WHOIS信息?
请注意,我实际上并不打算这样做; 我只是对它的运作方式感兴趣!
我正在尝试使桌面应用程序检查whois记录和其他内容,我发现一些列表将顶级域映射到whois服务器.它们通常工作,但有时必须在不同的whois服务器上找到信息.例如当主服务器com域是whois.markmonitor.com,about.com必须从"corporatedomains"取出.如何查询我应该查询某个域的哪个whois服务器?
所以无论如何,我正在开发一个小的PHP网站/脚本,并且作为我希望能够在PHP脚本运行的当前域上运行WHOIS查找的功能之一.
理想情况下,它可以是我可以调用的一个函数,并且在函数中它将运行WHOIS,然后将结果回显到屏幕.它将在网站的URL中运行WHOIS查找,或者它只会在当前的URL /域(这是我想要的)上运行它,虽然如果需要我可以为网站域提供变量.
我不太了解WHOIS查找(嗯,我知道他们做了什么,我只是不知道如何在PHP中运行它们),但我也可以查询另一个网站(甚至是我的一个)拥有,如果你能给我代码).
无论什么作品,请告诉我!最重要的是,我更喜欢它适合所有功能,并且它必须适合一个PHP文件/文档.
我对新的 RDAP 协议以及何时进一步追求它感到有些困惑。在我看来,每个人都同意它成为 whois 的继任者,但他们的数据库似乎是空的。在 ubuntu 上,我尝试了 rdapper、nicinfo 甚至他们的 RESTful API:
http://rdap.org/domain/google.com (这会导致“找不到文件”,但根据此处是正确的)
我误解了什么吗?RDAP 死了,服务还没有启动还是我做错了什么?Nicinfo 返回这个:
nicinfo -t domain google.com
# NicInfo v.1.1.0-alpha
# Query yielded no results.
[ NOTICE ] Terms of Service
1 By using the ARIN RDAP/Whois service, you are agreeing to the RDAP/Whois
Terms of Use
About https://www.arin.net/whois_tou.html
[ ERROR ] DOMAIN NOT FOUND
Code 404
1 The domain you are seeking as 'google.com.' is/are not here.
Run Code Online (Sandbox Code Playgroud)
rdapper 返回这个:
rdapper --TYPE domain google.com
Error: …Run Code Online (Sandbox Code Playgroud) 是否可以通过检查"dig"的输出来检查域名是否存在?在绑定源内部,我发现了这些常量:
0 DNS_R_NOEROR
1 DNS_R_FORMERR
2 DNS_R_SERVFAIL
3 DNS_R_NXDOMAIN
4 DNS_R_NOTIMP
5 DNS_R_REFUSED
6 DNS_R_YXDOMAIN
7 DNS_R_YXRRSET
8 DNS_R_NXRRSET
9 DNS_R_NOTAUTH
10 DNS_R_NOTZONE
16 DNS_R_BADVERS
<RCODE 11> # 11 has no macro
<RCODE 12> # 12 has no macro
<RCODE 13> # 13 has no macro
<RCODE 14> # 14 has no macro
<RCODE 15> # 15 has no macro
Run Code Online (Sandbox Code Playgroud)
在我看来,NOERROR&SERVFAIL意味着主机名存在(虽然它并不意味着ip链接到它).NXDOMAIN意味着它绝对不存在.
我不喜欢使用whois因为它很慢.挖掘速度要快得多,因为我只需要确定主机名还不存在.
有人可以照亮我的假设和其他宏吗?
谢谢
在最近的100级CompSci课程中,我一直在使用字符串进行操作.我得到了一个非常"原始"的想法,我可能会写一个简单的域名生成器/检查器.
所以我做了一些功课,发现各种whois服务器可以理解地限制了允许的查询数量.
所以,我决定先检查DNS布尔值.如果没有找到记录,那么我检查MySQL数据库以确保最近没有发送相同的查询.如果它没有我使用fsockopen用PHP启动whois查询.所以,我只是准备完成我的小脚本并将其从我的开发服务器上传到我的生产服务器,我发现一些网站建议各种whois服务器将查询限制为只有1000.
我的问题:
我接近这个吗?简单的数学表明,只有10个用户每次检查10个搜索,每个搜索只提供10个结果(10**3)可能导致超出限制和临时禁止.
是否有任何方法可以对whois服务器进行批量查询?
其他网站是否使用某种形式的客户端javascript查询或服务器端代理?我在stackoverflow上发现了另一个类似的问题,表明*NIX系统可以访问没有限制的终端命令.我发现的其他问题涉及解析数据 - 这不是我的担忧.
我知道这是一个模糊的问题.我不想给whois服务器带来不适当的负担.我不希望也不想要现成的代码解决方案.关于此问题的替代程序策略的基本讨论将使我成为一个非常满意的朋友:)任何人都有一两个关键字,我可以继续我的研究?