使用scapy构造SNMP协议数据包

@scapy构造数据包出现c2,c3等乱码问题

使用scapy构造SNMP协议数据包

  1. 第一步:构造ip包
    snmp_a = IP(src=target, dst=‘目的IP’)
  2. 第二步:构造UDP数据包
    snmp_b = UDP(sport=161, dport=161)
  3. 第三步:构造SNMP数据包
    此处我的payload是构造的十六进制,以\x11\x22\x33这种形式构造,但是在组成完整的数据包时,出现了一下问题:
    在这里插入图片描述
    由于出现了这个c2导致我整个数据包成为了错误格式数据包,在wireshark抓包结果中还可以看出这样的包并没有回应包,于是我查了很多资料,确认 是编码问题

编码问题

编码问题
出现编码问题之前数据包的构造如下(默认的应该是utf-8编码)

packet_data = snmp_a / snmp_b / snmp_16_3

通过在构造数据包时,对我data部分进行Latin-1编码,如下

packet_data = snmp_a / snmp_b / snmp_16_3.encode('Latin-1')

改成这样的编码后,数据包即可正确发送。

你可能感兴趣的:(学习笔记,scapy,c2乱码)