【发布时间】:2014-01-24 03:45:10
【问题描述】:
我正在尝试仅捕获由我的虚拟机生成的网络流量。在我的物理系统上,我现在正在使用 python 2.5 和 scapy 从物理系统捕获数据包,但我注意到它也捕获了物理系统的流量。我正在使用 (pyvbox) virtualbox api 与 Oracle VirtualBox 交互。
我的 VirtualBox 网络配置如下:
【问题讨论】:
标签: python virtual-machine virtualbox scapy
我正在尝试仅捕获由我的虚拟机生成的网络流量。在我的物理系统上,我现在正在使用 python 2.5 和 scapy 从物理系统捕获数据包,但我注意到它也捕获了物理系统的流量。我正在使用 (pyvbox) virtualbox api 与 Oracle VirtualBox 交互。
我的 VirtualBox 网络配置如下:
【问题讨论】:
标签: python virtual-machine virtualbox scapy
最简单的方法是使用 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])
【讨论】:
使用 pyvbox,您可以从网络适配器捕获网络流量,如下例所示:https://gist.github.com/mjdorma/9045130
【讨论】: