2017-03-21 1 views
2

Je suis nouveau à python et essaie de comprendre ce que l'importance des barres obliques de fuite signifie dans la langue. Plus précisément, je travaille avec la bibliothèque Scapy et essaie de déchiffrer la méthode get_rsn_information dans le fichier source inject.py de Scapy:Python: Que signifie un symbole de division ou de barre oblique?

def get_rsn_information(self, essid): 
rsnInfo = None 
sendp(
    RadioTap()/ 
    Dot11(addr1=self.bssid, addr2=self.source_mac, addr3=self.bssid, SC=self.__fixSC__(), subtype=4)/ 
    Dot11ProbeReq()/ 
    Dot11Elt(ID=0, info=essid)/ 
    Dot11Elt(ID=1, info='\x82\x84\x0b\x16\x24\x30\x48\x6c')/ 
    Dot11Elt(ID=50, info='\x0c\x12\x18\x60'), 
    iface=self.interface, 
    verbose=False 
) 
<...snip...> 

Quand je vois une ligne qui ressemble à ceci:

RadioTap()/ 

Qu'est-ce que la fuite slash signifie?

+0

cela signifie que la ligne se poursuit sur la ligne suivante, dans ce cas, j'attendre une erreur de syntaxe cependant, ou peut-être juste division car il est enfermé dans parenthèses –

+0

C'est légal dans la liste d'appels; pas d'erreur de syntaxe. – Prune

+0

Il sépare les couches du paquet. – Noob123

Répondre

3

RadioTap, Dot11 etc sont des instances de scapy.packet.Packet. Son opération de division est overloaded pour empiler des couches de paquets.

I.e. syntaxiquement c'est exactement à quoi il ressemble, un opérateur de division

0

sendp() est une fonction avec trois arguments/entrées

la première entrée est

RadioTap()/Dot11()/Dot11ProbeReq()/Dot11Elt()/Dot11Elt()/Dot11Elt() 

qui signifie exactement ce qu'il dit:

RadioTap() divided by Dot11() divided by....etc. 

vous êtes en mesure de supposer que parce que la parenthèse ouverte après sendp( ne se ferme pas et n'a pas d'interruption jusqu'à la virgule avant ,iface

les deux autres entrées sont iface et verbose