小编use*_*439的帖子

Scapy 性能低下

我正在创建一个脚本,将来自 Tap0 的所有流量发送到 Eth0,并将来自 Eth0 的所有流量发送到 Tap0。在网上找到了很多例子后,我设法让它发挥作用。我遇到的问题是性能非常低。

在不使用脚本的情况下在 2 个虚拟机之间执行 Ping 操作所需时间不到 1 毫秒。使用脚本大约需要 15 毫秒。

当我使用 scp 将 10 MB 文件从虚拟机发送到另一个虚拟机时,平均。没有脚本时传输速率为 12 Mbps。使用该脚本,速度可降至不到 1 Mbps。

我知道Python实际上并不是处理网络流量最快的语言,但它有那么慢吗?

有没有办法优化这段代码?

我的虚拟机是 Ubuntu 10.04 32 位。

这是代码:

import os,sys,getopt,struct,re,string,logging

from socket import *
from fcntl  import ioctl
from select import select

from scapy.all import *

TUNSETIFF = 0x400454ca
IFF_TAP   = 0x0002
TUNMODE   = IFF_TAP

ETH_IFACE  = "eth0"
TAP_IFACE = "tap0"

conf.iface = ETH_IFACE

# Here we capture frames on ETH0
s = conf.L2listen(iface …
Run Code Online (Sandbox Code Playgroud)

python networking scapy

5
推荐指数
1
解决办法
6890
查看次数

标签 统计

networking ×1

python ×1

scapy ×1