2017-10-05 6 views
1

Voici mon code:scapy options 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) 

Je ne trouve la getlayer(Raw) de googling.

Ma question est, y at-il une liste des couches que je peux utiliser pour getlayer quelque part? Ou une documentation plus détaillée sur son utilisation? Je n'ai pas trouvé grand-chose dans la documentation de Scapy.

Je sais que vous pouvez également utiliser des choses comme getlayer(TCP)

Répondre

1

Vous pouvez utiliser une couche de Scapy comme attribut de .getlayer() et .haslayer(). Vous pouvez répertorier les couches chargées en utilisant ls(). Par ailleurs, il est préférable d'écrire TCP in x plutôt que x.haslayer(TCP) et x[Raw] plutôt que x.getlayer(Raw).