I'm working on a software project where a PC application communicates with an embedded system over ethernet. In order to verify some changes I made to the software, I had to monitor the network traffic on the Ethernet network. A tool called
Wireshark was recommended by a colleague. The tool is freeware and it is very easy to use. You install it and then start monitoring the network. By default it will log every single packet sent or received on the network. The true power comes in the ability to set any number of filters. In my example I filtered by IP address of the embedded system as well as by protocol. Some transfers used normal TCP prototcol while others used TFTP file transfers. It was very handle to be able to filter and separate what I was seeing.