Wireshark is a free tool for your networking need. In Any kind of network related development wireshark comes handy in a great way. You can use it for debugging a network related project. You can go deep and see why your application throughput is not as expected. What is the reason for retransmission how is network behaving overall.
There are multiple GUI features to help you analyse the network traffic. Some example is stevens graph, RTT graph etc. These graphs gives instant insight into network and your application behaviour.
You can check for window size for TCP congestion period nack, fast retransmission. You can get your specific packets by applying easy filters based on protocol, port number etc.
It has good color code to distinguish the types of packets. Althogh sometime the analysis done by wireshark on packets are not correct like may be the packet which wireshark think as ack is actually a data packet. This is just because the way wireshark is interpreting the packet may be based on size field or some history of the network.