我正在使用 Canari 框架开发 Maltego 转换。这种转变就像一种魅力。但我在设置正确的链接关系时遇到问题。
docs建议编写如下转换:
def do_transform(self, request, response, config):
return (response + IPv4Address('74.207.243.85', link_label='This is a link label'))
结果如下所示:
我想颠倒关系。该链接实际上应该从
74.207.243.85
指向 alpine.paterva.com
。
我认为这里的问题是您将输入实体与应该输出到响应的内容进行了切换。输入实体应该是 maltego.IPv4Address 类型,并且您应该将 maltego.Domain 添加到响应中。
总的来说,这个转换类应该看起来类似于(假设您在 IPv4 地址上运行转换):
class TransformName(Transform):
input_type = IPv4Address
def do_transform(self, request, response, config):
response += Domain(fqdn='alpine.paterva.com')
return response
这将返回一个有向图,其中包含来自 IPv4 地址并指向域名的链接。
查看 http://www.canariproject.com/en/latest/canari.quickstart.html#working-with-input-entities 获取更多帮助和示例。这是一本很棒的书。
我没有使用 Canari,而是使用 maltego-trx,但我认为它会类似,考虑一下我所做的基于页面底部“反向实体链接”部分中的 maltego 文档的一点线索
通过简短的解释,我成功创建了从输出到输入方向的反向链接。结论是在实体属性中设置链接设置。
示例代码:
from maltego import TRX
m = TRX.MaltegoTransform()
a = m.addEntity('maltego.Phrase', 'test')
#here is how you set the link:
a.addProperty('link#maltego.link.direction','link#maltego.link.direction','loose','output-to-input')
print(m.returnOutput())
这是结果的图像