【问题标题】:How to add scapy traffic in mininet?如何在 mininet 中添加 scapy 流量?
【发布时间】:2016-06-19 21:11:49
【问题描述】:

我知道我们可以使用 scapy 创建数据包,但是如何在 mininet 的控制器中检测这个数据包(它可以是任何控制器,如 POX、Pyretic、Fnetic、RYU 等)。谁能用在 mininet 环境中运行的正确代码来解释这一点?

【问题讨论】:

  • 你的问题不清楚,你想做什么?在 Mininet 中捕获数据包?或者你想制作数据包?
  • 抓包

标签: python networking scapy mininet sdn


【解决方案1】:

您可以使用的是在控制器中添加侦听器并捕获数据包:

core.openflow.addListenerByName("FlowStatsReceived", self._handle_flowstats_received)
core.openflow.addListenerByName("PortStatsReceived", self._handle_portstats_received)
core.openflow.addListenerByName("QueueStatsReceived", self._handle_qeuestats_received)
And in some class methods later

完整示例请查看https://github.com/tsartsaris/pythess-SDN/blob/master/pythess.py

或者你可以在一个主机上执行一个 shell 代码并使用 iperf 将流量发送到 mininet 中的另一台主机,然后尝试使用 tcpprobe 捕获它。这种方式会容易得多。这是伪代码:

sudo cat /proc/net/tcpprobe > tcprobe.dat &
#get the cat process ID to later kill it
pid=$!
iperf -c [Host1 ip] -t 10 -Z reno > Raw_Goodput.dat
#kill the logger
kill $pid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多