the way I do it uses many shortcuts, so I wouldn't claim it's precise, but I'm confident it still good withing a few dbs(thanks to how fast db scales up compared to volts).
take a source, measure the voltage output, or get it thanks to someone measuring it (I used the sansa clip at max output long ago, and the close to 1.5V of the fiio X1 recently even if the 2ohm output isn't really a great idea for what I need).
I use a LO cable to put that into my soundcard and look at how many DB I get on a spectrum, peak meter, RTA .... whatever gives you something as good as a few db increment is really enough.
I play a test tone, and just look at the reading I get at max output. then I set it with my IEM at my usual listening level, and again play the test tone into my computer at that loudness to see the variation.
from that variation (in DB or Volts) I can estimate more or less how many volts I'm sending to the IEM, and from there it's easy stuff with the specs of the IEM(even more so if the test tone is 1khz).
http://www.sengpielaudio.com/calculator-gainloss.htm for even more easiness you just look at how many volts you get on innerfidelity to reach 90db (I assume it's @1khz as it seems to work in most cases for that value), use that value and your estimated "normal loudness" value to find out how many more or less DB you're getting in your IEMs.
again not super precise, but you wont get 60db if you're listening at 110db. the voltage error due to measurement method and all the impedances involved can only turn into a few DB change as you need twice the voltage for +6db.