我试图发现什么样的应用程序在我的网络中工作(例如 Facebook、Youtube、Twitter 等)。不幸的是,我无法进行深度数据包检查,我所拥有的一切都是 NetFlow 跟踪。我正在考虑使用 DNS 服务器解析 IP 地址并检查流的域名。但是,如果应用程序使用不包含应用程序名称的域怎么办?是否有可能找到使用特定应用程序/网站的所有 IP 地址?
1 回答
在深度数据包检测(其中包括 Cisco NBAR 等技术)之外,您的主要工具可能是 whois 和端口/协议对。一些商业 NetFlow 收集器会为您完成一些工作,例如通过对传入 IP 地址进行自主系统查找,或提供 IANA 协议列表。
顺便说一下,“应用程序”这个词在这个领域有点过分了:它通常用来表示 HTTP、SSH、POP3 和 OSI 应用层中的类似协议,这些协议通常是从端口/协议对中猜测出来的。对于 Facebook、Hotmail 等,whois 协议可能是您最好的选择。它比反向 DNS 好一点,但返回格式在区域 Internet 注册管理机构之间没有标准化,因此您的解析器需要具备一些智能。获取一些主要站点的 IP 地址,并whois
在编写任何脚本之前使用命令行实用程序来了解输出。
幸运的是,大多数大的都由 ARIN 处理。在结果中查找“NetName”和“OrgName”(并注意 RIR 名称(RIPE、APNIC 等)以指示该 IP 地址未由 ARIN 处理的位置)。例如,我www.stackoverflow.com
看到198.252.206.16
. whois 198.252.206.16
返回(除其他外,
NetName: SE-NET01
OrgName: Stack Exchange, Inc.
您没有指定您是在编写 shell 脚本还是编程;如果是后者,WHOIS 协议是标准的,并且在大多数语言中都有许多实现。