You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python单UDP套接字发包代码,实现多套接字多端口发数据包

Python UDP多套接字多端口发包修改方案

需要调整的核心部分

  • 新增套接字数量配置项,指定需要同时使用的UDP套接字个数
  • 新增本地端口绑定逻辑,为每个新创建的UDP套接字分配不同的本地端口(可手动指定不冲突的端口段,也可以留空让操作系统自动分配,避免端口占用报错)
  • 批量创建套接字并统一存储,替换原有单个套接字的声明逻辑
  • 修改发包循环逻辑,轮询使用不同的套接字发送数据包,实现多端口发送效果
  • 新增批量关闭套接字的逻辑,替换原有单个套接字关闭的代码

修改后完整代码示例

import socket

# 目标地址配置
ADDRESS = ("192.168.0.100", 4119)
# 发送的数据包内容
DATA = bytes.fromhex("AA AA AA AA")
# 配置需要创建的UDP套接字数量(即使用多少个不同本地端口发送)
SOCKET_COUNT = 10
# 存储所有创建好的套接字
socket_list = []

# 批量创建套接字
for i in range(SOCKET_COUNT):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
    # 绑定本地端口,传0表示让操作系统自动分配可用端口,保证端口不重复
    # 如果需要手动指定端口,可以改为 s.bind(("0.0.0.0", 50000 + i)),需确保指定端口未被占用
    s.bind(("0.0.0.0", 0))
    s.connect(ADDRESS)
    socket_list.append(s)

# 轮询使用不同套接字发送数据
for i in range(0, 99999999):
    current_socket = socket_list[i % len(socket_list)]
    current_socket.send(DATA)

# 批量关闭所有套接字
for s in socket_list:
    s.close()

注意:本代码仅用于合法的网络测试场景,请勿用于非法违规用途。

内容的提问来源于stack exchange,提问作者DownTop_oil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:24:02