【发布时间】:2020-02-04 08:53:46
【问题描述】:
我想使用 POX 控制器编写代码来捕获实时流量中的 FIN 数据包。
如何在 pox 控制器中查找到交换机的 FIN 数据包?
flow_stats 有 flags 属性吗?
我的问题是我在哪个函数中获得了 FIN 数据包的详细信息?
【问题讨论】:
我想使用 POX 控制器编写代码来捕获实时流量中的 FIN 数据包。
如何在 pox 控制器中查找到交换机的 FIN 数据包?
flow_stats 有 flags 属性吗?
我的问题是我在哪个函数中获得了 FIN 数据包的详细信息?
【问题讨论】:
您可能需要在 PacketIn 函数中使用packet.find('tcp') 方法来确定接收到的数据包中是否存在 FIN。 FIN 是 POX 中的 TCP 属性之一,当 FIN 存在时应设置为 True(在 TCP 标头中设置 FIN 标志)。您可以使用它来确定 packet.find('tcp') 返回的数据上是否存在 FIN。下面是一个小快照:
def _handle_PacketIn (self, event):
packet = event.parsed
parsed_tcp = packet.find('tcp')
if parsed_tcp:
if parsed_tcp.FIN:
print "FIN is present"
有关更多信息,请参阅 POX Wiki 的此链接: https://openflow.stanford.edu/display/ONL/POX+Wiki.html#POXWiki-Workingwithpackets%3Apox.lib.packet
【讨论】: