使用scapy构造SNMP协议数据包
- 第一步:构造ip包
snmp_a = IP(src=target, dst=‘目的IP’) - 第二步:构造UDP数据包
snmp_b = UDP(sport=161, dport=161) - 第三步:构造SNMP数据包
此处我的payload是构造的十六进制,以\x11\x22\x33这种形式构造,但是在组成完整的数据包时,出现了一下问题:

由于出现了这个c2导致我整个数据包成为了错误格式数据包,在wireshark抓包结果中还可以看出这样的包并没有回应包,于是我查了很多资料,确认 是编码问题
编码问题
编码问题
出现编码问题之前数据包的构造如下(默认的应该是utf-8编码)
packet_data = snmp_a / snmp_b / snmp_16_3
通过在构造数据包时,对我data部分进行Latin-1编码,如下

在使用scapy构造SNMP协议数据包时遇到编码问题,表现为出现如c2等乱码,导致数据包格式错误。经过研究,发现是编码格式问题。原本的数据包默认采用utf-8编码,而通过改为Latin-1编码,成功解决了乱码问题,使得数据包能够正常发送并被正确解析。
最低0.47元/天 解锁文章
2958

被折叠的 条评论
为什么被折叠?



