使用python从虚拟机捕获实时网络流量

时间:2014-01-24 03:45:10

标签: python virtual-machine virtualbox scapy

我正在尝试捕获仅由我的虚拟机生成的网络流量。在我的物理系统上,我正在使用python 2.5和scapy来捕获来自物理系统的数据包,但我注意到它也捕获了物理系统的流量。我正在使用(pyvbox)virtualbox api与Oracle VirtualBox进行交互。

我的VirtualBox网络配置如下: enter image description here

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用BPF过滤器。在Scapy:

sniff(..., filter='ether host 08:00:27:73:3c:46')

如果由于某些原因不起作用,您可以使用lfilter参数(较慢):

sniff(..., lfilter=lambda p: '08:00:27:73:3c:46' in [p.src, p.dst])

答案 1 :(得分:0)

使用pyvbox,您可以从网络适配器捕获网络流量,如下例所示:https://gist.github.com/mjdorma/9045130