I often have to debug processes which involve a server client tcp connection. I'd like to check, during times where a client might seem stuck, whether the server is sending it data or not. I can use:
'netstat -tpe | grep PID_SERVER'
to find the socket for the server, or 'netstat -tlpe | grep PID_CLIENT' to find that of the client. Is there a way to further inspect that particular socket once I identify it? Other than just its State
? I feel like Recv-Q or Send-Q
might be useful though I'm not sure what it refers to - but in addition to that, what else can I use to diagnose what is going on between them? Was thinking, possibly something in /proc/PID/fd
?
Any insight would be appreciated...
You should use a packet inspector for this task. One widely used (and my personal favourite) tool is Wireshark.