我正在尝试制作一个脚本来测试网络交换机和路由器的行为。我们的想法是在主机上运行基于scapy的脚本,其中多个网络适配器连接到不同的路由器端口。该脚本将在一个端口上发送探测数据包,并观察探测数据包如何分发到其他端口。
过去我使用多处理python包来做与scapy并行的事情。在场景后面,多处理使用分叉进程并提供方便的进程间通信原语。我想这次我也可以这样做:创建一堆子进程,每个子进程在自己的接口上嗅探,并将嗅探的数据包推送到父进程的队列中。作为奖励,这种方法也允许在远程主机上运行嗅探器。
但是自上次我玩多处理和scapy以来,我发现了Automaton scapy模块,如果可能的话,我更愿意使用它。这个模块有receive_condition方法装饰器,但我无法弄清楚如何
也很高兴知道数据包是进入还是出口,但我怀疑它可能是不可能的。
有什么建议吗?