Impedance matching with unknown load
In order to design the impedance matching, I will need to know the load impedance and the source impedance to begin with. Correct?


In most situations you need to know the load impedance and the system characteristic impedance, or the characteristic impedance of the line connecting the source to the load.

If the source isn't matched to the characteristic impedance, you might need matching networks at both ends of the connection. 

If the interconnect is very short, you might just want to match the source directly to the load, like you say.


  How would I go about measuring its input impedance since this is what is necessary to design the impedance matching circuit?


If you designed the load, you might be able to get its characteristics from simulations rather than measurements.

If you do need to measure the load impedance, you can use a vector network analyzer (VNA) to do that.


  I would also like to know of any easy-to-obtain software that may be useful for impedance matching. I am presently trying to get my hands on ADS from my university but if there are any other software which are helpful that you know off, that would be great.


The math for most narrowband matching circuits is not that difficult. You could probably write Octave, Scilab, or Python code to do the calculations within an hour or two (Just naming free options).