我可以向有经验的 Perl 程序员问这个问题,并且对网络编程了解一两件事。事情是这样的,我们有一个用 Perl 开发的关于网络分析器的程序,我们的范围是我们只扫描通过主机连接的交换机的流量,如果我们扫描整个网络而不是只扫描一个交换机会不会很困难? 我和我的团队想知道这是否会花费大量时间来编写代码,或者可能只占用一行代码,诸如此类。我希望我的问题很清楚。提前致谢。
问问题
123 次
1 回答
2
这不是 Perl 的问题,而是如何将数据传送到运行分析器的机器上。通常您在使用交换机时只会获取本地机器的数据(ARP 请求除外),因此您需要访问交换机的专门配置的端口(镜像端口)。要访问网络中的所有数据,您要么需要连接到网络中所有交换机的所有镜像端口,要么使用特殊设备来收集所有流量(网络分流器),要么创建某种传感器网络来收集来自各个地方。
除此之外,我不会使用 Perl 进行高速网络分析(如果您想分析来自整个网络的数据,通常需要这样做)。即使使用 C 进行快速捕获也并不简单,而且 Perl 引入了太多开销。但是您可能会使用 Perl 来分析缩减的数据集,例如在对原始数据进行大量过滤之后。
于 2014-03-02T12:51:56.980 回答