pipekingsaids:
Parece que lo que tu quieres es capturar el intercambio de comunicacion entre un cliente y un servidor.
He utilizado para ello fsockopen() y generalmente, en los casos de envios de correo, primero se establece la comunicacion, le sigue un intercambio de comunicacion que funciona en ambos lados y si un lado no contesta o envia algo NO esperado la comunicacion se corta y se cierra.
Ejemplo ->
//Enviamos el Nombre de Usuario
fputs($conexionsmtp, base64_encode($nombreusuario) . $nuevalinea);
$respuestasmtp = fgets($conexionsmtp, 515);
$ArrayLogeo['usuarioautenticacion'] = "$respuestasmtp";
//Enviamos la Contraseña
fputs($conexionsmtp, base64_encode($contrasena) . $nuevalinea);
$respuestasmtp = fgets($conexionsmtp, 515);
$ArrayLogeo['contrasenaautenticacion'] = "$respuestasmtp";
Este es un tipico intercamcio de nombre de usuario y contraseña entre un servidor de correo profesional y un cliente de correo que pretende enviar un correo.
Hay siempre un fputs() manejado por base64_encode o codificado de esa forma e inmediatamente debe recibirse una respuesta y por ende conlleva un fgets(),
todo eso se guarda en un array y posteriormente se deposita en un archivo log de forma secuencial para saber que exactamente paso.
Saludos
Y espero te ayude
Franco