![如何执行这个特定的 python 脚本(附在问题中)](https://linux22.com/image/841476/%E5%A6%82%E4%BD%95%E6%89%A7%E8%A1%8C%E8%BF%99%E4%B8%AA%E7%89%B9%E5%AE%9A%E7%9A%84%20python%20%E8%84%9A%E6%9C%AC%EF%BC%88%E9%99%84%E5%9C%A8%E9%97%AE%E9%A2%98%E4%B8%AD%EF%BC%89.png)
我有一个小网络,过去两周我的无线网络断线次数很多,我的朋友告诉我 90% 的断线都是由 deauth 数据包攻击的,我研究了一下,找到了这个 py 脚本。但不幸的是,我找不到任何关于如何使用它的帮助。我是 Linux 新手,有谁愿意帮忙吗?
#!/usr/bin/env python ###################################################### # authWatch.py v. 0.1 (快速、肮脏且大声) - 由 TinMan 编写 # 将卡置于监控模式并设置通道。 # 如果你想要跳频,请运行 airodump-ng # 另一个终端。将添加频道跳跃 # 在下一个版本中。 ###################################################### # # 用法:python authWatch.py # 导入系统 来自 scapy 导入 * 接口 = sys.argv[1] def sniffReq(p): 如果 p.haslayer(Dot11Deauth): # 查找取消认证包并打印 AP BSSID、客户端 BSSID 和取消认证的原因。 print p.sprintf("从 AP [%Dot11.addr2%] 客户端 [%Dot11.addr1%] 发现 Deauth,原因 [%Dot11Deauth.reason%]") # 查找关联请求包并打印站 BSSID、客户端 BSSID、AP 信息。 如果 p.haslayer(Dot11AssoReq): print p.sprintf("来自站点 [%Dot11.addr1%]、客户端 [%Dot11.addr2%]、AP [%Dot11Elt.info%] 的关联请求") # 查找身份验证数据包并打印客户端和 AP BSSID 如果 p.haslayer(Dot11Auth): print p.sprintf("从 [%Dot11.addr1%] 到 AP [%Dot11.addr2%] 的身份验证请求") 打印 p.sprintf("-----------------------------------------------------------------------------------------------------" sniff(iface=接口,prn=sniffReq)
答案1
您的脚本的问题是缩进问题,这对于 Python 初学者来说很常见:
python script.py
File "script.py", line 28
print p.sprintf("Authentication Request from [%Dot11.addr1%] to AP [%Dot11.addr2%]")
^
IndentationError: unindent does not match any outer indentation level
]")
和之间的空格^
用制表符填充,这会让解释器感到困惑。下面是更正后的缩进:
#!/usr/bin/env python ###################################################### # authWatch.py v. 0.1 (快速、肮脏且大声) - 由 TinMan 编写 # 将卡置于监控模式并设置通道。 # 如果你想要跳频,请运行 airodump-ng # 另一个终端。将添加频道跳跃 # 在下一个版本中。 ###################################################### # # 用法:python authWatch.py # 导入系统 来自 scapy 导入 * 接口 = sys.argv[1] def sniffReq(p): 如果 p.haslayer(Dot11Deauth): # 查找取消认证包并打印 AP BSSID、客户端 BSSID 和取消认证的原因。 print p.sprintf("从 AP [%Dot11.addr2%] 客户端 [%Dot11.addr1%] 发现 Deauth,原因 [%Dot11Deauth.reason%]") # 查找关联请求包并打印站 BSSID、客户端 BSSID、AP 信息。 如果 p.haslayer(Dot11AssoReq): print p.sprintf("来自站点 [%Dot11.addr1%]、客户端 [%Dot11.addr2%]、AP [%Dot11Elt.info%] 的关联请求") # 查找身份验证数据包并打印客户端和 AP BSSID 如果 p.haslayer(Dot11Auth): print p.sprintf("从 [%Dot11.addr1%] 到 AP [%Dot11.addr2%] 的身份验证请求") 打印 p.sprintf("-----------------------------------------------------------------------------------------------------" sniff(iface=接口,prn=sniffReq)
答案2
脚本中说明了如何执行它:
用法:python authWatch.py
您要做的是打开一个终端(++ Ctrl),导航到保存脚本的位置,然后输入。AltTpython authWatch.py