The netstat
command can only tell you which connections are currently open, but not how much traffic each has sent and received. To find out which connections are transferring most of the data, you would need to use other tools which could for example be iftop
or tcpdump
.
What you do next depends a lot on the lifetime of each connection and which end established the connection. If your end is the server, then you should be able to identify the listening socket belonging to the server process.
If it is indeed an httpd
process (as you seem to imply in your question), then your web server access log is the place to look. One caveat to keep in mind is that each request is only logged once the transfer for that request has completed. This can make a significant difference if you are serving files, which are many MB in size.
If your end happens to be the client, then you won't see listening sockets, but in case the connections are long lived, you can find the connections and the corresponding process using netstat
, once you have confirmed which connection is consuming bandwidth.
Should the investigation described above lead you to find that most traffic happens on short lived connections established from your end, then netstat
isn't sufficient to identify which process is responsible. That particular scenario has been covered in an older question.