美文网首页
Scapy 异常

Scapy 异常

作者: simple_person | 来源:发表于2019-05-20 20:22 被阅读0次

    Scapy-htttp TypeError: a bytes-like object is required, not 'str'

    使用环境

    python3.7
    scapy2.4.3
    scapy-http1.8.2

    问题

    引入scapy-http库后,保存报文保错:

    Traceback (most recent call last):
    ....
    File "/opt/lib/scapy_http/http.py", line 179, in self_build
    return _self_build(self, field_pos_list)
    File "/opt/lib/scapy_http/http.py", line 101, in _self_build
    val = _get_field_value(obj, f.name)
    File "/opt/lib/scapy_http/http.py", line 74, in _get_field_value
    headers = _parse_headers(val)
    File "/opt/lib/scapy_http/http.py", line 18, in _parse_headers
    headers = s.split("\r\n")
    TypeError: a bytes-like object is required, not 'str'
    

    出现问题的原因是scapy-http是基于python2的

    解决方法

    修改http.py

    第18行:
        headers = s.split("\r\n")
        修改为:
        try:
            headers = s.split("\r\n")
        except TypeError as err:
            headers = s.split(b"\r\n")
    第113行:
        p = f.addfield(obj, p, val + separator)
        修改为:
        try:
            p = f.addfield(obj, p, val + separator)
        except TypeError as err:
            p = f.addfield(obj, p, str(val) + str(separator))
    

    参考:https://github.com/invernizzi/scapy-http/issues/26

    相关文章

      网友评论

          本文标题:Scapy 异常

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