Я знаю, что мы можем использовать scapy для создания пакета, но как определить этот пакет в контроллере mininet (это может быть любой контроллер, такой как POX, Pyretic, Frenetic, RYU и т. Д.). Может ли кто-нибудь объяснить это с помощью правильного кода для работы в среде mininet?Как добавить scapy трафика в mininet?
2
A
ответ
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
Ваш вопрос непонятен, что вы пытаетесь сделать? Захват пакетов в Mininet? или вы хотите создавать пакеты? – OiaSam
Захват пакета –