-
Add Go `crypto/tls` eBPF tracer for TLS connections (#1120)
发布于
2022-06-12 11:14:41 +00:00 -
Run
go generate tls_tapper.go -
Add
golang_uprobes.c -
Add Golang hooks and offsets
-
Add
golangConnectionstruct and implementpollGolangReadWritemethod -
Upgrade
github.com/cilium/ebpfversion tov0.8.1 -
Fix the linter error
-
Move map related stuff to
maps.hand rungo generate tls_tapper.go -
Remove unused parameter
-
Add an environment variable to test Golang locally
-
Replace
Libssloccurrences withSsllibfor consistency -
Fix exe path finding
-
Temporarily disable OpenSSL
-
Fix the mixed offsets and dissection preparation
-
Change the read symbol from
net/http.(*persistConn).Readtocrypto/tls.(*Conn).Read -
Remove
lenandcapfields -
Fix the indent
-
Fix the read data address
-
Make
golang_dial_writeskey__u64and include the PID -
Fix the read data address one more time
-
Temporarily disable the PCAP capture
-
Add a uprobe for
net/http.(*gzipReader).Readto read chunked HTTP response body -
Cancel
golang_crypto_tls_read_uprobeif it's a gzip read -
Make hash map names more meaningful
-
Pass the connection address from
writetogzipthrough a common address betweengzipanddial -
Fix the probed line number links
-
Add
golangReaderstruct and implement itsReadmethod -
Have a single counter pair and request response matcher per Golang connection
-
Add
MIZU_GLOBAL_GOLANG_PATHenvironment variable -
NULLterminate the bytes withunix.ByteSliceToString -
Temporarily reject the gzip chunks
-
Add malformed TODOs
-
Revert "
NULLterminate the bytes withunix.ByteSliceToString"
This reverts commit 7ee7ef7e44473d17293ca4d43950f7cb52d952bb.
-
Bring back
lenandcapfields -
Set
lenandcapingolang_net_http_gzipreader_read_uprobeas well -
Remove two
TODOs -
Fix the
key_gzipoffsets -
Compress if it's gzip chunk (probably wrong!)
-
Revert "Compress if it's gzip chunk (probably wrong!)"
This reverts commit 094a7c3da462031390c43514fb3824b01fd8c2b5.
-
Remove
golang_net_http_gzipreader_read_uprobe -
Read constant 4KiB
-
Use constant read length
-
Get the correct len of bytes (saw the second entry)
-
Set all buffer sizes to
CHUNK_SIZE -
Remove a
TODO -
Revert "Temporarily disable the PCAP capture"
This reverts commit a2da15ef2d2364159980fdcd6059be2c39ca267b.
-
Update
golang_crypto_tls_read_uprobe -
Set the
readerfield oftlsStreamto fix anil pointer dereferenceerror -
Don't export any fields of
golangConnection -
Close the reader when we drop the connection
-
Add a tracepoint for
sys_enter_closeto detect socket closes -
Rename
socketstruct togolang_socket -
Call
should_tapin Golang uprobes -
Add
log_errorcalls -
Revert "Temporarily disable OpenSSL"
This reverts commit f54d9a453fd1858d4a05f529c3c7b0b55f13daa3.
-
Fix linter
-
Revert "Revert "Temporarily disable OpenSSL""
This reverts commit 2433d867afd68ea6df16ec8dcff715ebe4e15cb5.
-
Change
golang_read_writesmap type fromBPF_RINGBUFtoBPF_PERF_OUTPUT -
Rename
golang_read_writetogolang_event -
Define an error
-
Add comments
-
Revert "Revert "Revert "Temporarily disable OpenSSL"""
This reverts commit e5a1de9c717f09f567763302940ae64b7415c8fa.
-
Fix
pollGolang -
Revert "Revert "Revert "Revert "Temporarily disable OpenSSL""""
This reverts commit 6e1bd5d4f3eaf5b3a60cdf9c60a62c0f9da84f6f.
-
Fix
panic: send on closed channel -
Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL"""""
This reverts commit 57d05846559137a03bf52c1a9dff2b20ed583e43.
-
Use
findLibraryByPid -
Revert "Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL""""""
This reverts commit 46f3d290b0df8a80f90078a57bc870a7891a7471.
- Revert "Revert "Revert "Revert "Revert "Revert "Revert "Temporarily disable OpenSSL"""""""
This reverts commit 775c833c065d018c19081517f5c002f573cb3a01.
-
Log tapping Golang
-
Fix
Poll -
Refactor
golang_net_http_dialconn_uprobe -
Remove an excess error check
-
Fix
can only use path@version syntax with 'go get' and 'go install' in module-aware modeerror intap/tlstapper/bpf-builder/build.sh -
Unify Golang and OpenSSL under a single perf event buffer and
tls_chunkstruct -
Generate
tlsTapperChunkTypetype (enum) as well -
Use kernel page size for the
sys_closesperf buffer -
Fix the linter error
-
Fix
MIZU_GLOBAL_GOLANG_PIDenvironment variable's functionality -
Rely on tracepoints for file descriptor retrieval in Golang implementation
-
Remove the unnecessary changes
-
Move common functions into
common.c -
Declare
lookup_ssl_infofunction to reduce duplication -
Fix linter
-
Add comments and TODOs
-
Remove
MIZU_GLOBAL_GOLANG_PATHenvironment variable -
Update the object files
-
Fix indentation
-
Update object files
-
Add
go_abi_internal.h -
Fix
lookup_ssl_info -
Convert indentation to spaces
-
Add header guard comment
-
Add more comments
-
Find the
retinstructions using Capstone Engine anduprobethereturnstatements -
Implement
get_fd_from_tcp_connfunction -
Separate SSL contexts to OpenSSL and Go
-
Move
get_count_bytesfromcommon.ctoopenssl_uprobes.c -
Rename everything contains Golang to Go
-
Reduce duplication in
go_uprobes.c -
Update the comments
-
Install Capstone in CI and Docker native builds
-
Update
devops/install-capstone.sh -
Add Capstone to AArch64 cross-compilation target
-
Fix some of the issues on ARM64
-
Delete the map element in
_ex_urpobe -
Remove an unsued
LOG_macro -
Rename
aquynhtocapstone-engine -
Add comment
-
Revert "Fix some of the issues on ARM64"
This reverts commit 0b3eceddf4c7547f05aa3351ded1e8a2dc7f56e0.
- Revert "Revert "Fix some of the issues on ARM64""
This reverts commit 681534ada128f54191277d9813bc68a8730db515.
-
Update object files
-
Remove unnecessary return
-
Increase timeout
-
#run_acceptance_tests
-
#run_acceptance_tests
-
Fix the
arm64v8sourced builds -
#run_acceptance_tests
下载附件
-