2017-10-05 112 views
1

这是我的代码:Scapy的getlayer选项

from scapy.all import * 

packets = rdpcap('secret.pcap') 

packet_join = [] 

for packet in packets: 
    if packet.haslayer('TCP'): 
     raw_data = packet.getlayer(Raw) 
     packet_join.append(raw_data) 

我只能从一些谷歌上搜索发现getlayer(Raw)

我的问题是,有没有我可以用于getlayer某处的图层列表?或者有关其使用的更详细的文档?我在Scapy文档中找不到太多东西。

我知道你也可以使用之类的东西getlayer(TCP)

回答

1

您可以使用任何Scapy的层的.getlayer().haslayer()属性。您可以使用ls()列出加载的图层。

顺便说一句,最好写TCP in x而不是x.haslayer(TCP)x[Raw]而不是x.getlayer(Raw)