2017-10-05 135 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)