2016-03-06 7 views
2

Я знаю, что мы можем использовать scapy для создания пакета, но как определить этот пакет в контроллере mininet (это может быть любой контроллер, такой как POX, Pyretic, Frenetic, RYU и т. Д.). Может ли кто-нибудь объяснить это с помощью правильного кода для работы в среде mininet?Как добавить scapy трафика в mininet?

+0

Ваш вопрос непонятен, что вы пытаетесь сделать? Захват пакетов в Mininet? или вы хотите создавать пакеты? – OiaSam

+0

Захват пакета –

ответ

0

То, что вы можете использовать, чтобы добавить слушателей в контроллере и захвата пакетов:

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

Или вы можете выполнить код оболочки в одном хосте и отправить трафик с использованием 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