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

Python UDP客户端运行报TypeError: 需要bytes类型而非str问题咨询

报错原因

这个报错是Python 3的特有特性导致的:Python 3中socket接口传输的内容必须是字节类型,你原代码直接传入字符串类型就会触发该类型错误。

修复方案

你可以选择以下任意一种方式替换"AAABBBCCC"即可解决报错:

  • 直接给字符串加字节前缀:b"AAABBBCCC",适合不需要动态生成内容的场景
  • 对字符串调用编码方法转字节:"AAABBBCCC".encode('utf-8'),适合需要动态拼接字符串再发送的场景

修复后的完整代码

import socket

target_host = "127.0.0.1"
target_port = 80

# 创建socket对象
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 发送数据
client.sendto(b"AAABBBCCC", (target_host, target_port))

# 接收返回数据
data, addr = client.recvfrom(4096)
print(data)

渗透测试场景适配建议

如果你要把这段代码用于渗透测试相关工作,可以根据实际需求调整:

  • 修改target_host、target_port为目标服务的对应地址和端口
  • 把字节内容替换为你要测试的UDP服务的探测payload,比如DNS查询、SNMP探测、自定义UDP服务的漏洞验证payload等
  • 可自行增加超时设置、批量发送、多目标遍历等逻辑适配不同的测试需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:15:03