For the most part it is impossible to make. You can look at the packets the client is sending to the server, but you'll have to assume things. So theres that.
Hmmm, And do you think that the nodus client sends the server a warning? No hacked clients will do everything to prevent that servers see they are hacking.
It is possable if you anaslize the packets being sent, most mods use minecraft forge which sends a mod list.