美文网首页
减少蜜罐bug之UnicodeDecodeError

减少蜜罐bug之UnicodeDecodeError

作者: scarleast | 来源:发表于2019-04-18 11:11 被阅读0次

背景

昨天,在开发onvif蜜罐的过程中,发现针对3702端口的扫描行为,payload并不是十分规矩,蜜罐收到部分扫描的数据包后,会出现崩溃的情况。排查发现传入的扫描数据为:b'<\xaa>\x00'.decode(),报错信息为:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xaa in position 1: invalid start byte

回忆之前做MQTT蜜罐时遇到的十六进制数据解码出错的问题,立刻想到了,网络中对蜜罐的扫描行为,不仅有ascii的编码方式,也存在十六进制的扫描方式。蜜罐需要做的是,尽量减少报错和崩溃,记录下尽可能多的信息。

TODO

其实,TCP和UDP类型的蜜罐在解码过程中,最好使用try做好解码的错误控制,完全就可以避免这种问题产生。

try:
    onvif_info_dict["data"] = data.decode("ascii")
except UnicodeDecodeError:
    onvif_info_dict["data"] = ''.join(['%02X ' % b for b in data])

相关文章

  • 减少蜜罐bug之UnicodeDecodeError

    背景 昨天,在开发onvif蜜罐的过程中,发现针对3702端口的扫描行为,payload并不是十分规矩,蜜罐收到部...

  • 单元测试笔记

    单元测试(unit test)为了验证程序的正确性必要性:预防Bug,快速定位Bug,提高代码质量,减少耦合,减少...

  • 如何减少bug,光速修复bug?

    1. 软件开发的重要目标 可读性 Readability 可维护性 Maintainability 可调试性 De...

  • 减少开发bug指南

    bug无穷尽,永远是解不完的,有人撸码的地方,就有bug。我们能做的就是尽量减少bug的出现。 bug多的可能原因...

  • Java 函数式编程

    函数式编程 优点: 减少工作量 提高效率 减少 bug 函数接口 @FunctionalInterface 任何只...

  • karma+jasmine前端单元测试

    karma+jasmine前端单元测试 Q:为何要单元测试?A:为了提升代码的质量、减少bug、快速定位bug、减...

  • UnicodeDecodeError

    1.UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 ...

  • UnicodeDecodeError

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 ...

  • 蜜罐

    我把我的破罐 蜜罐都给你 蜜罐里面装着想你时的甜蜜蜜 破罐里面装着忘你时的意绵绵 所有快乐的 不快乐的 都交给你了...

  • 蜜罐

    后台执行 进入基础容器 创建脚本 dockerFile 编译构建 启动容器 docker run -idt hon...

网友评论

      本文标题:减少蜜罐bug之UnicodeDecodeError

      本文链接:https://www.haomeiwen.com/subject/xyrzwqtx.html