Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

watch http can not capture https (GnuTLS) #241

Open
w-devin opened this issue Jan 2, 2025 · 9 comments
Open

watch http can not capture https (GnuTLS) #241

w-devin opened this issue Jan 2, 2025 · 9 comments
Labels
feature-request help wanted Extra attention is needed question Further information is requested

Comments

@w-devin
Copy link

w-devin commented Jan 2, 2025

Describe the bug
A clear and concise description of what the bug is.

kyanos can not capture some https request

To Reproduce
Steps to reproduce the behavior:

execute curl https://google.com, but kyanos can't capture this http request

Expected behavior
A clear and concise description of what you expected to happen.

a https/http record with google.com's server appared

Screenshots
If applicable, add screenshots to help explain your problem.

Information (please complete the following information):

  • OS: [e.g. use uname -ar]
└─$ uname -ar
Linux kali 6.10.9-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.10.9-1kali1 (2024-09-09) x86_64 GNU/Linux
Copy link

dosubot bot commented Jan 2, 2025

Hey there, @w-devin! I'm here to help you with any bugs, questions, or contributions you might have. Let's tackle this together!

Kyanos supports capturing HTTPS traffic by automatically decrypting SSL traffic when run with root privileges. Ensure that you are executing Kyanos with the necessary permissions using a command like:

sudo ./kyanos watch http

Additionally, verify that your system meets the kernel version requirements, which are 3.10 from 3.10.0-957 and 4.14 or above [1]. Since you are using Kali Linux with kernel version 6.10.9, it should be compatible.

If the issue persists, consider checking for any specific configurations or network settings that might be affecting the capture process.

To continue talking to Dosu, mention @dosu.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other

@dosubot dosubot bot added the bug Something isn't working label Jan 2, 2025
@hengyoush
Copy link
Owner

hengyoush commented Jan 2, 2025

What your kyanos version. I tested with 1.4.3, it can capture first https request at client side. (first request at server side can't be captured though)

@w-devin
Copy link
Author

w-devin commented Jan 2, 2025

What your kyanos version. I tested with 1.4.3, it can capture client side https request. (server side can't be captured though)

latest version, download from github release page

└─$ file kyanos
kyanos: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=9c7499d2380de15594e4dfdc991c141c395dd261, for GNU/Linux 3.2.0, with debug_info, not stripped

@w-devin
Copy link
Author

w-devin commented Jan 2, 2025

Please execute this command: ldd which curl, provide output here.

└─$ which curl
/usr/bin/curl

@hengyoush
Copy link
Owner

hengyoush commented Jan 2, 2025

Please execute this command:ldd $(which curl), provide output here.
And ensure you can access google.com?

@w-devin
Copy link
Author

w-devin commented Jan 2, 2025

Please execute this command:ldd $(which curl), provide output here.

└─$ ldd $(which curl)
        linux-vdso.so.1 (0x00007f33b7ead000)
        libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f33b7d63000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f33b7d44000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f33b7b59000)
        libnghttp3.so.9 => /lib/x86_64-linux-gnu/libnghttp3.so.9 (0x00007f33b7b2f000)
        libngtcp2_crypto_gnutls.so.8 => /lib/x86_64-linux-gnu/libngtcp2_crypto_gnutls.so.8 (0x00007f33b7b24000)
        libngtcp2.so.16 => /lib/x86_64-linux-gnu/libngtcp2.so.16 (0x00007f33b7ad9000)
        libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f33b7aa8000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f33b7a75000)
        librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f33b7a57000)
        libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f33b7a10000)
        libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f33b79fc000)
        libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f33b79a6000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f33b7600000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f33b7952000)
        libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007f33b78f1000)
        liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007f33b78e1000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f33b7540000)
        libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f33b78d1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f33b7eaf000)
        libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5 (0x00007f33b738b000)
        libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f33b7887000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f33b7303000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f33b6c00000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f33b6a61000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f33b786f000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f33b722d000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f33b7842000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f33b783c000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f33b782d000)
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f33b7211000)
        libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f33b71ee000)
        libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f33b71e1000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f33b7826000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f33b71d0000)

@hengyoush
Copy link
Owner

Oh, i know, your curl use gnutls , currently kyanos only support openssl and gotls.

@w-devin
Copy link
Author

w-devin commented Jan 2, 2025

Oh, i know, your curl use gnutls , currently kyanos only support openssl and gotls.

Is there any plan for Kyanos to support GnuTLS?

@hengyoush hengyoush changed the title watch http can not capture https watch http can not capture https (GnuTLS) Jan 2, 2025
@hengyoush
Copy link
Owner

hengyoush commented Jan 2, 2025

Yes, we plan to support GnuTLS in the future. If you are interested in this feature, you are welcome to submit a PR.

This might be challenging for those who are unfamiliar. I will complete a general proposal, and if you're interested, you can also contribute to some of the subtasks within it. @w-devin

@hengyoush hengyoush added help wanted Extra attention is needed feature-request question Further information is requested and removed bug Something isn't working labels Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants