我对以下用 Python 编写的代码有疑问:
def parse_ethernet(timestamp, packet)
ethernet = dpkt.ethernet.Ethernet(packet)
if isinstance(ethernet.data,dpkt.ip.IP):
parse_ip(ethernet.data)
Run Code Online (Sandbox Code Playgroud)
代码的想法是使用python中的dpkt库解析以太网数据包。我的问题是关于以下行:
if isinstance(ethernet.data,dpkt.ip.IP):
Run Code Online (Sandbox Code Playgroud)
为什么需要证明 ethernet.data 是否是 IP 数据包的实例?以太网数据不是总是包含 IP 数据包吗?