Quiero capturar consultas a MySQL desde mi aplicación web en mi servidor basado en Linux. El puerto de MySQL es 3306 y mi aplicación web está en el puerto 8181. Así que empecé a usar tcpdump
de la siguiente manera:
# tcpdump -x "port 3306"
Ahora exploro mi aplicación y hago algunas consultas a la Base de datos, pero no obtengo nada en la consola tcpdump
.
También probé esto:
# tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e '
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i) {
if (defined $q) { print "$q\n"; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'
Pero tampoco tengo nada. Realmente no sé cuál es el problema. Cuando verifiqué el código servlet
en mi servidor, puedo encontrar que la conexión de la base de datos está establecida en el puerto 3306:
Class.forName("com.mysql.jdbc.Driver");
cnn = DriverManager.getConnection("jdbc:mysql://localhost:3306/OTP?useUnicode=true&characterEncoding=UTF-8", "blahblah", "blahblah");
¿Puede alguien ayudarme con esto?