Make sure you are preloading the correct OpenSSL library. On my Debian
12 box it is libssl.so.3 not libssl.so.1.1. You can confirm which is
loaded by checking the "maps" of a running proc:
$ sudo fgrep ssl /proc/2951676/maps
7f26647a4000-7f26647c3000 r--p 00000000 08:01 131274
/usr/lib/x86_64-linux-gnu/libssl.so.3
7f26647c3000-7f2664821000 r-xp 0001f000 08:01 131274
/usr/lib/x86_64-linux-gnu/libssl.so.3
7f2664821000-7f2664840000 r--p 0007d000 08:01 131274
/usr/lib/x86_64-linux-gnu/libssl.so.3
7f2664840000-7f266484a000 r--p 0009c000 08:01 131274
/usr/lib/x86_64-linux-gnu/libssl.so.3
7f266484a000-7f266484e000 rw-p 000a6000 08:01 131274
/usr/lib/x86_64-linux-gnu/libssl.so.3
7f266484e000-7f266484f000 r--p 00000000 08:01 154916
/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
7f266484f000-7f2664850000 r-xp 00001000 08:01 154916
/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
7f2664850000-7f2664851000 r--p 00002000 08:01 154916
/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
7f2664851000-7f2664852000 r--p 00002000 08:01 154916
/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
7f2664852000-7f2664853000 rw-p 00003000 08:01 154916
/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
My systemd /lib/systemd/system/kamailio.service has a line
"EnvironmentFile=-/etc/default/kamailio.d/*" so I dropped a file
there:
$ cat /etc/default/kamailio.d/voipmonitor
SSLKEYLOG_UDP='127.0.0.1:1234'
LD_PRELOAD="/usr/local/src/voipmonitor-git/tools/ssl_keylogger/sslkeylog.so
/usr/lib/x86_64-linux-gnu/libssl.so.3"
In my environment we're using "packetbuffer_sender = yes" to copy all
packets to a central processor. I'm sending the keys to localhost so
they can get picked up by the sniffer instead of sending them
separately to the central processor. For this to work, the sniffer
also must capture the "lo" interface.