Esempio n. 1
0
def test_extract():
    tf = tflow.tflow(resp=True)
    tests = [
        ["request.method", "GET"],
        ["request.scheme", "http"],
        ["request.host", "address"],
        ["request.http_version", "HTTP/1.1"],
        ["request.port", "22"],
        ["request.path", "/path"],
        ["request.url", "http://address:22/path"],
        ["request.text", "content"],
        ["request.content", b"content"],
        ["request.raw_content", b"content"],
        ["request.timestamp_start", "1"],
        ["request.timestamp_end", "2"],
        ["request.header[header]", "qvalue"],

        ["response.status_code", "200"],
        ["response.reason", "OK"],
        ["response.text", "message"],
        ["response.content", b"message"],
        ["response.raw_content", b"message"],
        ["response.header[header-response]", "svalue"],
        ["response.timestamp_start", "1"],
        ["response.timestamp_end", "2"],

        ["client_conn.address.port", "22"],
        ["client_conn.address.host", "127.0.0.1"],
        ["client_conn.tls_version", "TLSv1.2"],
        ["client_conn.sni", "address"],
        ["client_conn.ssl_established", "false"],

        ["server_conn.address.port", "22"],
        ["server_conn.address.host", "address"],
        ["server_conn.ip_address.host", "192.168.0.1"],
        ["server_conn.tls_version", "TLSv1.2"],
        ["server_conn.sni", "address"],
        ["server_conn.ssl_established", "false"],
    ]
    for t in tests:
        ret = cut.extract(t[0], tf)
        if ret != t[1]:
            raise AssertionError("%s: Expected %s, got %s" % (t[0], t[1], ret))

    with open(tutils.test_data.path("mitmproxy/net/data/text_cert"), "rb") as f:
        d = f.read()
    c1 = certs.SSLCert.from_pem(d)
    tf.server_conn.cert = c1
    assert "CERTIFICATE" in cut.extract("server_conn.cert", tf)
Esempio n. 2
0
def test_extract(tdata):
    tf = tflow.tflow(resp=True)
    tests = [
        ["request.method", "GET"],
        ["request.scheme", "http"],
        ["request.host", "address"],
        ["request.http_version", "HTTP/1.1"],
        ["request.port", "22"],
        ["request.path", "/path"],
        ["request.url", "http://address:22/path"],
        ["request.text", "content"],
        ["request.content", b"content"],
        ["request.raw_content", b"content"],
        ["request.timestamp_start", "946681200"],
        ["request.timestamp_end", "946681201"],
        ["request.header[header]", "qvalue"],

        ["response.status_code", "200"],
        ["response.reason", "OK"],
        ["response.text", "message"],
        ["response.content", b"message"],
        ["response.raw_content", b"message"],
        ["response.header[header-response]", "svalue"],
        ["response.timestamp_start", "946681202"],
        ["response.timestamp_end", "946681203"],

        ["client_conn.address.port", "22"],
        ["client_conn.address.host", "127.0.0.1"],
        ["client_conn.tls_version", "TLSv1.2"],
        ["client_conn.sni", "address"],
        ["client_conn.tls_established", "false"],

        ["server_conn.address.port", "22"],
        ["server_conn.address.host", "address"],
        ["server_conn.ip_address.host", "192.168.0.1"],
        ["server_conn.tls_version", "TLSv1.2"],
        ["server_conn.sni", "address"],
        ["server_conn.tls_established", "false"],
    ]
    for spec, expected in tests:
        ret = cut.extract(spec, tf)
        assert spec and ret == expected

    with open(tdata.path("mitmproxy/net/data/text_cert"), "rb") as f:
        d = f.read()
    c1 = certs.Cert.from_pem(d)
    tf.server_conn.cert = c1
    assert "CERTIFICATE" in cut.extract("server_conn.cert", tf)
Esempio n. 3
0
def test_extract():
    tf = tflow.tflow(resp=True)
    tests = [
        ["request.method", "GET"],
        ["request.scheme", "http"],
        ["request.host", "address"],
        ["request.http_version", "HTTP/1.1"],
        ["request.port", "22"],
        ["request.path", "/path"],
        ["request.url", "http://address:22/path"],
        ["request.text", "content"],
        ["request.content", b"content"],
        ["request.raw_content", b"content"],
        ["request.timestamp_start", "1"],
        ["request.timestamp_end", "2"],
        ["request.header[header]", "qvalue"],
        ["response.status_code", "200"],
        ["response.reason", "OK"],
        ["response.text", "message"],
        ["response.content", b"message"],
        ["response.raw_content", b"message"],
        ["response.header[header-response]", "svalue"],
        ["response.timestamp_start", "1"],
        ["response.timestamp_end", "2"],
        ["client_conn.address.port", "22"],
        ["client_conn.address.host", "127.0.0.1"],
        ["client_conn.tls_version", "TLSv1.2"],
        ["client_conn.sni", "address"],
        ["client_conn.ssl_established", "false"],
        ["server_conn.address.port", "22"],
        ["server_conn.address.host", "address"],
        ["server_conn.ip_address.host", "192.168.0.1"],
        ["server_conn.tls_version", "TLSv1.2"],
        ["server_conn.sni", "address"],
        ["server_conn.ssl_established", "false"],
    ]
    for t in tests:
        ret = cut.extract(t[0], tf)
        if ret != t[1]:
            raise AssertionError("%s: Expected %s, got %s" % (t[0], t[1], ret))

    with open(tutils.test_data.path("mitmproxy/net/data/text_cert"),
              "rb") as f:
        d = f.read()
    c1 = certs.SSLCert.from_pem(d)
    tf.server_conn.cert = c1
    assert "CERTIFICATE" in cut.extract("server_conn.cert", tf)