What I am trying to implement is a platform definition for the systems we develop. If we can assume that they are based on Linux with an appropriate set of hardware abstractions then we can develop complex algorithms on just about any Linux platform with an appropriate set of simulated hardware interfaces and then move the completed code to a target platform with minimum fuss. That also allows algorithm development using Python or other scripting languages and then recoding them in C/C++ if necessary for efficiency.
In many cases we use development boards to asses the platform for it's capabilities. Sure, we would test the i/o over which the end system inputs and outputs to make sure they are functionally adequate for the application, but we wouldn't necessarily develop the whole application on the development board.
Having said that, the tools required that you mention would be absolutely required on the target hardware / system once it has been developed (after the evaluation using the development board results in a positive evaluation).
One of our favorites for Ethernet communications debug and monitoring is Wireshark awesome tool.