Iris Investigate API非常适合调查和编排人类规模的用例。
这些调查通常由分析师按需触发,以寻求单个指标的额外背景,从一个或多个域名开始的调查可获得最佳结果。
虹膜调查API的主要特点包括:
API端点:
https://api.domaintools.com/v1/iris-investigate/
API认证:
虹膜调查API使用与所有DomainTools API相同的身份验证机制,有一个重要的区别:查询限制来自分配给虹膜调查UI的查询,并与查询共享。
这意味着API用户名必须与DomainTools企业帐户连接,该帐户被授权访问虹膜调查。通常,这发生在DomainTools企业支持团队设置帐户期间。请确保使用DomainTools联络点颁发给组织的正确API用户名和API密钥。
在开发和测试期间必须小心,以确保交互式查询不会由于脚本错误而被无意中耗尽。考虑在项目的测试阶段从免费示例查询开始。
免费示例查询:
这些查询可用于测试API,不计入查询限制:
https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com
https://api.domaintools.com/v1/iris-investigate/?ip=199.30.228.112
Iris Investigate API使用单个参数(除了身份验证令牌之外)支持域配置文件用例。只需在domain参数中传递一个域名,就可以检索该域上Iris中可用的所有信息。
例如:
https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com
您还可以在单个批处理中传入一个逗号分隔的最多100个域名列表。API将批处理请求视为单个查询,用于计算和速率限制目的,因此任何时候都鼓励进行批处理,只要您需要分析多个域名。
例如:
https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com,domaintools.net,dailychanges.com
为了获得最好的结果,特别是对于很长的域名列表,可以考虑使用HTTP POST方法而不是GET参数。
虹膜调查API将返回在虹膜数据集中找到的每个域名的记录。如果您批量提交了域名列表,请确保将API响应中返回的域名列表与您自己的列表进行比较,以便您可以检测到您请求的域名在Iris数据集中没有找到。使用Iris记录中的“domain”属性进行匹配。
交互式虹膜调查产品中最强大的功能之一是引导枢轴,它可以帮助用户快速识别一个域名的哪些属性与相对较少的其他域名相连。计数越小,域名之间的相关性就越大。
Iris Investigate API为域响应中的几乎每个属性、每个域记录交付这些计数,甚至在处理一批域名时也是如此。
这些计数作为属性的属性包含在API响应中,与属性值相邻,以便更容易在集成中利用它们。这也解释了为什么字段的值比您预期的要深一级。例如:
ip:[{地址:{值:"199.30.228.112",计数:3},asn:[{值:17318,计数:101}],country_code:{值:"us",计数:239988363},isp:{值:"Domaintools LLC",计数:108}}]
在这里,我们将IP地址“199.30.228.112”,ASN“17318”和ISP“Domaintools LLC”作为潜在的轴心点,或者至少作为有意义的分析来帮助分析域名。例如,指向它们的其他域很少的IP地址通常表示由同一实体控制的专用主机。
在虹膜调查UI中,我们使用默认阈值500个连接来决定哪些属性吸引用户的注意。考虑从类似的阈值开始集成,但是为用户提供选择不同阈值的选项来匹配他们的用例。
注意,空数据元素的计数为0。
Iris调查API也可以用于搜索模式。您可以向API提供一个或多个搜索字段,而不是域名,例如IP地址、SSL散列、电子邮件等,Iris将返回具有与这些参数匹配的记录的任何域名。这允许在一个API端点的一个或多个字段上进行“反向”搜索。
例如:
https://api.domaintools.com/v1/iris-investigate/?ip=199.30.228.112
跨多个参数的查询被解释为逻辑与查询,这意味着多个参数将把搜索范围缩小到更小的结果集。虹膜调查API目前不支持逻辑或查询;相反,为每个参数提交单独的查询,并在自己的代码中组合结果集。
结果集中返回的域记录与从一个或多个域名查询返回的记录相同,这提供了一个丰富的结果集,可以显示给最终用户,并且非常适合进一步的旋转。例如,考虑使用引导的枢轴计数来显示扩展结果集的新方法。或者,您可以根据风险评分(从高到低)排序,将风险最高的域名列在前面,向最终用户显示结果。
参数 | 功能 | 比较 |
---|---|---|
知识产权 | 在活动DNS检查期间,注册域最后指向的IPv4地址 | 反知识产权 |
电子邮件 | 来自最近可用的Whois记录,DNS SOA记录或SSL证书的电子邮件地址 | 反向域名查询服务 |
email_domain | 仅Whois或DNS SOA电子邮件地址的域部分 | 反向域名查询服务 |
nameserver_host | 名称服务器的完全限定主机名(ns1.domaintools.net) | - |
nameserver_domain | 名称服务器的注册域部分(domaintools.net) | 反向命名服务器 |
nameserver_ip | 名称服务器IP地址 | - |
注册商 | 与Whois注册商字段完全匹配 | 反向域名查询服务 |
注册人 | 在Whois注册人字段上搜索子字符串 | 反向域名查询服务 |
registrant_org | 在Whois注册人组织字段上进行子字符串搜索 | 反向域名查询服务 |
mailserver_host | 邮件服务器的完全限定主机名(mx.domaintools.net) | 反向MX |
tagged_with_any | 在虹膜调查平台中被标记为“特定”域名标签/“其中之一”标签的域名 | - |
tagged_with_all | tagged_with_all | - |
mailserver_domain | 只有邮件服务器的注册域部分(domaintools.net) | - |
mailserver_ip | 邮件服务器的IP地址 | - |
redirect_domain | 找到观察到的域名,以重定向到另一个域名 | - |
ssl_hash | SSL证书SHA-1哈希 | - |
ssl_org | 与SSL证书上的组织名称完全匹配 | - |
ssl_subject | SSL证书的主题字段 | - |
ssl_email | SSL证书中的电子邮件地址 | - |
google_analytics | 具有谷歌分析跟踪代码的域 | - |
广告联盟 | 具有谷歌AdSense跟踪代码的域 | - |
search_hash | 虹膜用户界面的编码搜索 | - |
虹膜调查API支持检索已经在虹膜调查UI中标记的域的能力。目前,在虹膜调查UI实例中创建的所有标签都可以通过API访问。
下表总结了使用search参数时的功能:
场景 | 样本参数 | 预期的结果 |
---|---|---|
检索与指定标记之一匹配的域 | ? tagged_with_any =看监视器 |
所有被标记为“监视”或“监视”的域名 |
检索匹配标签列表的域 | ? tagged_with_all =块,危险、邪恶 |
所有的域名都被贴上了3个标签——“屏蔽”、“危险”和“邪恶” |
虹膜调查API中的某些查询有可能匹配一个非常大的域集。理想情况下,实现将利用Iris中返回的域名查询计数,以编程方式选择合理的枢轴,但这仅适用于从域名开始调查的情况。对于搜索以上面列出的参数之一开始的情况,必须检查Iris结果,以查看搜索是否超出限制或已进行分页。
例如,考虑以下查询:
https://api.domaintools.com/v1/iris-investigate/?nameserver_domain=markmonitor.zone
虹膜调查API返回以下响应片段:
response: {limit_exceeded: false, has_more_results: true, message: "There is more data for you to enjoy.", results_count: 500, total_count: 3735, position: "2c056abadfb64b67ba18896af2c5b900", results: [{domain: "1000miglia. "看”,…
“limit_exceeded”值为“false”告诉我们,我们的搜索是在Iris和我们约定的服务水平的能力范围内的,因此我们可以从Iris检索完整的结果集。
“has_more_results”值为“true”表示我们的响应不包括与我们的搜索匹配的所有域名。我们可以精确地看到在“results_count”字段中包含了多少,在“total_count”字段中有多少是可用的。
要检索完整的结果集,请使用相同的查询参数再次提交查询,但在响应中的位置值中添加“position”参数集。
例如:
https://api.domaintools.com/v1/iris-investigate/?nameserver_domain=markmonitor.zone&position=2c056abadfb64b67ba18896af2c5b900
对每个结果集中的新位置值重复此模式,直到响应中的has_more_results值设置为“false”。
虹膜搜索过滤器
在某些情况下,通过附加过滤器限制Iris结果集是有用的,甚至是必要的。这些参数可以添加到虹膜调查API中的任何搜索中,尽管它们不能单独使用。
活跃的 | 设置为“true”仅返回在全局DNS系统中有条目或被注册中心列出为已注册的域。设置为“false”仅返回在全局DNS系统中没有条目且未被注册中心列为已注册的域。完全排除筛选器以找到处于这些状态中的任何一个域。 |
data_updated_after | 以YYYY-MM-DD格式在该日期午夜或午夜之后更新的虹膜记录。必须与另一个参数配对。对于监视用例非常有用(参见下面)。 |
tld | 将结果限制为只包含特定顶级域中的域(即“tld=com”或“tld=ru”) |
create_date | 只包含在特定日期创建的域,以YYYY-MM-DD格式 |
expiration_date | 只包含在特定日期到期的域,以YYYY-MM-DD格式 |
tagged_with_any | 只包括在虹膜调查平台中标记有“特定”标签/“其中之一”标签的域名 |
tagged_with_all | 只包含带有筛选条件中指定的所有标记的域 |
not_tagged_with_any | 排除在虹膜调查平台中标记有“特定”标签/“其中之一”标签的所有域名 |
not_tagged_with_all | 排除在虹膜调查平台中标记有“标签列表”的所有域名 |
虹膜调查API支持通过过滤域进一步限制结果集的能力,这些域已经被标记为虹膜调查UI中的调查的一部分。目前,在虹膜调查UI实例中创建的所有标记都可以通过API访问。
下表总结了使用search参数时的功能:
场景 | 样本参数 | 预期的结果 |
---|---|---|
过滤结果集,只显示匹配指定“标签”之一的域名 | ? nameserver_domain = markmonitor.zone&tagged_with_any =观察、监控 |
只列出标记为“观察”或“监控”的域名 |
通过只显示匹配“标签”列表的域来过滤结果集 | ? nameserver_domain = markmonitor.zone&tagged_with_all =块,危险、邪恶 |
只列出所有3个标签标记的域名-“观察”和“危险”和“邪恶” |
通过排除匹配指定“标签”之一的域来筛选结果集 | ? nameserver_domain = markmonitor.zone¬_tagged_with_any =看监视器 |
只列出没有标记为“观察”或“监控”的域名 |
通过排除域过滤结果集 | ? nameserver_domain = markmonitor.zone¬_tagged_with_all = zerolisted,安全、可信的 |
只列出没有被标记为“零列表”和“安全”和“可信”的域名 |
匹配“标签”列表 | - | - |
Iris Investigate API可以用作强大的监控工具,用于检测指向特定ip的新域,托管在目标名称服务器上,重定向到特定站点,以及可以在Iris API查询中框架的任何其他条件。甚至可以监视域名的虹膜记录中可用属性的变化。
只需将data_updated_after参数添加到任何虹膜搜索中,将值设置为当前日期,并每天重复该查询一次以查找新的更新即可。
一个潜在的实现可能遵循类似于下面的模式:
这种功能使虹膜调查API成为DomainTools企业API监视器的一个令人信服的替代品,目前在其结果中只返回一个域,包括注册人监视器,名称服务器监视器和IP监视器。它还将监控扩展到超出这些端点的范围,包括对SSL属性、跟踪代码、注册器等的监控,并使用tld=过滤器将额外的选项缩小到特定的tld。
虹膜调查平台提供了一个丰富的用户界面搜索和枢轴通过域名数据。虹膜调查“Pivot Engine”窗格中的几乎所有数据都可以在虹膜调查API中访问,最常见的研究模式可以通过该API轻松完成。
然而,即使在API中有这些功能,仍然有一些场景,用户只能通过虹膜调查UI中提供的完整的工具和资源来实现他们的目标。这些场景包括:
这意味着用户可能会在虹膜调查UI中开始调查,但随后会将调查结果带到第三方产品中。API中的search_hash参数使这成为可能。下面是它的工作原理。
首先,用户在虹膜调查UI中进行调查,可能会构建复杂的查询,以查找给定域名或威胁参与者的所有连接基础设施。他们访问虹膜调查中的高级搜索,并导出他们搜索的编码表示。
接下来,用户将这个编码的字符串提供给您的解决方案,然后在search_hash参数中使用该字符串创建Iris Investigate API搜索。不需要或不支持其他搜索参数(除了应该始终存在的基本授权参数)。Iris API“解包”编码的搜索,再次运行相同的查询,并返回最新的完整结果集。
Iris Investigate API除了search_hash参数外还支持data_updated_after过滤器(请参阅上面的监视用例)。这使得以编程方式监视用户虹膜查询的结果成为可能。