Seismic tomography techniques based on first break time inversion are a convenient way to recover velocity fields. However, these techniques only use a small fraction of the available seismogram data. Migration uses entire reflection seismograms but stops short of an actual inversion, using a summing/averaging method. The result is a smeared image of diffractor points, which makes it difficult to image weaker events.In this paper we develop a seismic inversion technique to recover diffractors and reflectors from full-waveform seismograms by direct inversion, rather than a migration-based approach. We choose a simple, idealised modelling scheme to highlight the basic advantages and limitations inherent in this class of inversion techniques, and derive several important and generic guidelines applicable to the design and development of full-waveform-based inversion algorithms.We propose a modelling scheme for diffractions, reflections and refractions in an arbitrary velocity field. By using a sourcewavelet based estimation method, we linearise the forward model and are able to obtain a diffractor/reflector field recovery scheme that is based on standard iterative matrix inversion.Our investigation reveals that the algorithm provides vastly superior resolution of the structure compared to time-of-flight tomography and requires only a surprisingly small number of sources and receivers for successful operation. However, it is highly prone to noise capture, where noise is any system unknown. This translates into inaccuracies in the macro-velocity field estimate and the seismic wave amplitudes. Our experiments show that the background velocity field must be known with an accuracy of better than 1%, suggesting that this class of linearised inversion scheme is unsuitable for field data sets. Nevertheless, the scheme highlights the pitfalls of any full-waveform inversion approach, where without careful calibration, wavefield dynamics can easily be mis-inverted to produce spurious structure.