1

我想创建一个具有以下拓扑的演示:

... --->[开关] <---> [主机]

DEMO:交换机向监控主机发送数据包(数据包的原始目的地不是该主机,但交换机将通过镜像端口发送给它)。监控主机将捕获该数据包,对其进行处理(例如,将 L2-L4 标头字段转储到某个日志文件中),然后将原始数据包发送回交换机。

主机环境: Ubuntu 12.04 Linux。

困境:我可以在 Host 中捕获数据包并将原始数据包发送回交换机的最简单方法是什么?

探索的可能性:

  • 在 C 中创建一个数据包嗅探器程序(看起来很复杂……libpcap、AF_Packet 套接字等)。
  • 尝试使用 python scapy(不知道这会有多复杂)。
  • 尝试安装一些开源代理服务器,我可以编写一个插件来检查捕获的数据包。

问题:任何更好的建议(如果我可以避免走编程路线,那将是首选。是否有任何简单的脚本方法可以做到这一点?)。在这里寻找一种快速而肮脏的方法。谢谢。

4

1 回答 1

0

好吧,您可以使用可用的数据包嗅探器,例如 wireshark、ettercap,它们将捕获所有网络数据包(使用 promisc 模式)并以可读格式转储它们。或者,您可以很容易地在 python 中为自己编写嗅探器代码,Linux 并不那么复杂。

于 2014-01-20T03:07:26.367 回答